/* ОТЗЫВЫ — СЛОВА ЛЮДЕЙ (16.10). Цвет — токены мира; шрифт цитат — Cormorant Garamond (свой, как Cormorant SC);
   золото — акцент раздела (одно на весь сайт для «доверия», не для действий). */
@font-face { font-family: 'Cormorant Garamond'; font-style: normal; font-weight: 300 700; font-display: swap; src: url('/app/assets/CormorantGaramond-cyrillic-BWCqVJN0.woff2') format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Cormorant Garamond'; font-style: normal; font-weight: 300 700; font-display: swap; src: url('/app/assets/CormorantGaramond-latin-CUoBjw-S.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: 'Cormorant Garamond'; font-style: italic; font-weight: 300 700; font-display: swap; src: url('/app/assets/CormorantGaramond-italic-cyrillic-DVnfXoMy.woff2') format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Cormorant Garamond'; font-style: italic; font-weight: 300 700; font-display: swap; src: url('/app/assets/CormorantGaramond-italic-latin-Y14P-dkT.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; }

.rv-page, .rv-strip { --rv-serif: 'Cormorant Garamond', Georgia, 'Times New Roman', serif; --rv-gold: #e7c97a; --rv-gold-rgb: 231, 201, 122; --rv-ink: #07080a; }

/* ── общие ── */
.rv-eyebrow { color: var(--rv-gold); font: 700 11.5px/1 var(--font-ui, inherit); letter-spacing: .22em; text-transform: uppercase; }
.rv-h { display: grid; gap: 12px; }
.rv-h h2 { margin: 0; font: 600 clamp(30px, 5vw, 54px)/1.04 var(--rv-serif) !important; letter-spacing: -.015em; color: var(--t-text, #f2f3f5); text-wrap: balance; }
.rv-h h2 i, .rv-wall-text h1 i, .rv-strip > header b i { font-style: italic; color: var(--rv-gold); }
.rv-vf { display: inline-flex; align-items: center; gap: 7px; color: var(--t-accent, #55f2b2); font: 700 11.5px/1 var(--font-ui, inherit); letter-spacing: .06em; text-transform: uppercase; }
.rv-vf::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: var(--t-accent, #55f2b2); box-shadow: 0 0 10px rgba(var(--t-accent-rgb, 85, 242, 178), .9); }
.rv-page { display: grid; gap: clamp(44px, 7vw, 80px); }
.rv-sec { display: grid; gap: 26px; }

/* ── 1. стена улик ── */
.rv-wallsec { position: relative; min-height: min(78vh, 720px); display: grid; align-items: end; overflow: hidden; border-radius: 28px; background: #000; margin-inline: calc(-1 * var(--page-gutter, 16px)); border-radius: 0; }
@media (min-width: 761px) { .rv-wallsec { margin-inline: 0; border-radius: 28px; } }
.rv-wall { position: absolute; inset: -12% -8%; display: grid; grid-template-columns: repeat(8, 1fr); gap: 6px; transform: rotate(-6deg) scale(1.08); opacity: .5; filter: saturate(.7) brightness(.8);
  animation: rv-drift 80s linear infinite alternate; will-change: transform; pointer-events: none; }
@media (min-width: 761px) { .rv-wall { grid-template-columns: repeat(16, 1fr); } }
@keyframes rv-drift { to { transform: rotate(-6deg) scale(1.08) translateY(-6%); } }
@media (prefers-reduced-motion: reduce) { .rv-wall { animation: none; } }
.rv-wall img { width: 100%; aspect-ratio: 9 / 16; object-fit: cover; object-position: top; border-radius: 5px; display: block; background: #111; }
.rv-wall img:nth-child(7n) { transform: translateY(22px); }
.rv-wallsec::before { content: ''; position: absolute; inset: 0; background: radial-gradient(120% 90% at 50% 100%, var(--rv-ink) 30%, rgba(7, 8, 10, .72) 60%, rgba(7, 8, 10, .35) 100%); z-index: 1; }
.rv-wallsec::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, var(--rv-ink) 0%, transparent 28%); z-index: 1; }
.rv-wall-text { position: relative; z-index: 2; padding: 96px clamp(16px, 4vw, 48px) 48px; display: grid; gap: 22px; color: #f4f4f6; }
.rv-wall-text h1 { margin: 0; font: 600 clamp(40px, 8vw, 92px)/.98 var(--rv-serif) !important; letter-spacing: -.02em; text-wrap: balance; max-width: 14ch; color: #f4f4f6; }
.app main .rv-page .rv-wall-text p:not(#am-rv), .rv-wall-text p { margin: 0; color: #b8bcc4; font: 400 clamp(14.5px, 1.4vw, 17px)/1.55 var(--font-ui, inherit) !important; max-width: 60ch; }
.rv-stats { display: flex; gap: clamp(20px, 4vw, 52px); flex-wrap: wrap; border-top: 1px solid rgba(255, 255, 255, .14); padding-top: 20px; }
.rv-stats div { color: #7d838d; font: 600 11px/1 var(--font-ui, inherit); letter-spacing: .16em; text-transform: uppercase; }
.rv-stats b { display: block; color: #f4f4f6; font: 600 clamp(28px, 3.4vw, 42px)/1 var(--rv-serif); letter-spacing: 0; text-transform: none; margin-bottom: 8px; font-variant-numeric: tabular-nums; }

/* ── 2. главная цитата ── */
.rv-hero { display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: 52px; align-items: center; }
.rv-hero blockquote { margin: 0; position: relative; min-width: 0; }
.rv-hero blockquote::before { content: '\201C'; position: absolute; left: -10px; top: -66px; font: 600 190px/1 var(--rv-serif); color: var(--rv-gold); opacity: .28; pointer-events: none; }
.app main .rv-page .rv-hero p:not(#am-rv), .rv-hero p { margin: 0; font: 500 clamp(26px, 3.6vw, 42px)/1.18 var(--rv-serif) !important; color: var(--t-text, #f2f3f5); text-wrap: balance; }
.rv-who { display: flex; align-items: center; gap: 14px; margin-top: 26px; color: var(--t-text-2, #c9ccd2); font: 400 15px/1.3 var(--font-ui, inherit); flex-wrap: wrap; }
.rv-who b { color: var(--t-text, #f2f3f5); font-weight: 600; }
.rv-ava { width: 42px; height: 42px; border-radius: 50%; display: grid; place-items: center; background: linear-gradient(135deg, #2a3340, #171c23); color: #f4f4f6; font: 700 15px/1 var(--font-ui, inherit); border: 1px solid rgba(255, 255, 255, .1); }
.rv-phone { position: relative; width: 280px; max-width: 100%; aspect-ratio: 9 / 18; border-radius: 36px; overflow: hidden; background: #000; border: 1px solid rgba(255, 255, 255, .14); justify-self: end; padding: 0; cursor: pointer;
  box-shadow: 0 60px 120px -40px rgba(0, 0, 0, 1), 0 0 0 8px var(--t-bg, #0b0d10), 0 0 0 9px rgba(255, 255, 255, .07), 0 0 120px -30px rgba(var(--rv-gold-rgb), .35); transform: rotate(-3deg); transition: transform .3s cubic-bezier(.2, .8, .2, 1); }
.rv-phone:hover { transform: rotate(-1deg) scale(1.02); }
.rv-phone img { width: 100%; height: 100%; object-fit: cover; object-position: top; display: block; filter: saturate(.9); }
.rv-phone em { white-space: nowrap; max-width: calc(100% - 28px); overflow: hidden; text-overflow: ellipsis; position: absolute; left: 14px; bottom: 14px; padding: 8px 12px; border-radius: 99px; background: rgba(0, 0, 0, .6); backdrop-filter: blur(10px); color: #fff; font: 600 10.5px/1 var(--font-ui, inherit); font-style: normal; letter-spacing: .12em; text-transform: uppercase; }
@media (max-width: 760px) { .rv-hero { grid-template-columns: 1fr; gap: 30px; } .rv-phone { justify-self: start; width: 190px; transform: rotate(-2deg); } .rv-hero blockquote::before { top: -46px; font-size: 130px; } }

/* ── 3. было → стало ── */
.rv-stories { display: grid; gap: 24px; }
.rv-story { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr); gap: clamp(22px, 4vw, 60px); align-items: center; padding: clamp(20px, 3vw, 38px); border-radius: 28px; position: relative; overflow: hidden;
  background: linear-gradient(135deg, var(--t-surface, #15181d), var(--t-bg-2, #0d1013)); border: 1px solid rgba(var(--t-border-rgb, 255, 255, 255), .08); }
.rv-story::before { content: ''; position: absolute; inset: 0; background: radial-gradient(60% 80% at 0% 50%, rgba(var(--rv-gold-rgb), .07), transparent 60%); pointer-events: none; }
.rv-story:nth-child(even) { grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); }
.rv-story:nth-child(even) .rv-shot { order: 2; transform: rotate(-2deg); }
.rv-shot { position: relative; width: min(100%, 240px); justify-self: center; aspect-ratio: 9 / 16; border-radius: 26px; overflow: hidden; background: #000; padding: 0; cursor: pointer; border: 1px solid rgba(255, 255, 255, .12);
  box-shadow: 0 40px 70px -30px #000, 0 0 0 6px var(--t-bg, #0b0d10), 0 0 0 7px rgba(255, 255, 255, .06); transform: rotate(2deg); }
.rv-shot img { width: 100%; height: 100%; object-fit: cover; object-position: top; display: block; }
.rv-arc { display: grid; gap: 16px; min-width: 0; }
.rv-ba { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 10px 16px; align-items: baseline; }
.rv-ba-by { grid-column: 1 / -1; color: var(--rv-gold); font: 700 10px/1.2 var(--font-ui, inherit); letter-spacing: .2em; text-transform: uppercase; opacity: .85; }
.rv-ba .lbl { color: var(--t-text-3, #8a9099); font: 700 10.5px/1.4 var(--font-ui, inherit); letter-spacing: .16em; text-transform: uppercase; }
.rv-ba .was { color: var(--t-text-2, #c9ccd2); font: 400 13.5px/1.4 var(--font-ui, inherit); }
.rv-ba .now { color: var(--t-text, #f2f3f5); font: 600 21px/1.2 var(--rv-serif) !important; }
.rv-arc q { quotes: none; font: 500 clamp(18px, 2vw, 23px)/1.32 var(--rv-serif) !important; color: var(--t-text, #f2f3f5); }
.rv-nm { color: var(--t-text-2, #c9ccd2); font: 400 13.5px/1.4 var(--font-ui, inherit); }
.rv-nm b { color: var(--t-text, #f2f3f5); font-weight: 600; }
@media (max-width: 700px) { .rv-story, .rv-story:nth-child(even) { grid-template-columns: 1fr; } .rv-story:nth-child(even) .rv-shot { order: 0; } .rv-shot { width: 160px; justify-self: start; } }

/* ── 4. цитаты ── */
.rv-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
@media (max-width: 900px) { .rv-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .rv-grid { grid-template-columns: 1fr; } }
.rv-q { display: grid; grid-template-rows: auto 1fr auto; gap: 14px; min-width: 0; padding: 22px 22px 16px; border-radius: 22px; text-align: left; cursor: pointer; color: var(--t-text, #f2f3f5);
  background: linear-gradient(180deg, var(--t-surface, #15181d), var(--t-bg-2, #0d1013)); border: 1px solid rgba(var(--t-border-rgb, 255, 255, 255), .08); transition: transform .25s cubic-bezier(.2, .8, .2, 1), border-color .25s; }
.rv-q:hover { transform: translateY(-3px); border-color: rgba(var(--rv-gold-rgb), .35); }
.rv-q.is-ghost { min-height: 150px; animation: rv-pulse 1.4s ease-in-out infinite; }
@keyframes rv-pulse { 50% { opacity: .5; } }
.rv-tag { display: inline-flex; align-items: center; gap: 8px; color: var(--t-text-3, #8a9099); font: 600 11px/1 var(--font-ui, inherit); letter-spacing: .14em; text-transform: uppercase; }
.rv-tag::before { content: ''; width: 14px; height: 1px; background: var(--rv-gold); }
.rv-q q { quotes: none; font: 500 19.5px/1.32 var(--rv-serif) !important; display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
.rv-q footer { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.rv-q .rv-nm { font-size: 13.5px; }
.rv-th { width: 40px; height: 68px; border-radius: 9px; overflow: hidden; border: 1px solid rgba(255, 255, 255, .12); background: #000; flex: none; transform: rotate(3deg); box-shadow: 0 10px 20px -10px #000; }
.rv-th img, .rv-th video { width: 100%; height: 100%; object-fit: cover; object-position: top; display: block; }
.rv-more { justify-self: center; min-width: 240px; height: 50px; padding: 0 26px; border-radius: 99px; cursor: pointer; font: 600 14.5px/1 var(--font-ui, inherit); color: var(--t-text, #f2f3f5);
  background: linear-gradient(180deg, rgba(var(--rv-gold-rgb), .12), transparent); border: 1px solid rgba(var(--rv-gold-rgb), .5); box-shadow: 0 0 60px -20px rgba(var(--rv-gold-rgb), .5); }
.rv-more:hover { border-color: var(--rv-gold); }

/* ── 5. кружки ── */
.rv-circles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
@media (max-width: 700px) { .rv-circles { grid-template-columns: 1fr; } }
.rv-circ { display: grid; grid-template-columns: 104px minmax(0, 1fr); gap: 16px; align-items: center; padding: 0; border: 0; background: none; text-align: left; cursor: pointer; color: inherit; }
.rv-circ-v { position: relative; width: 104px; height: 104px; border-radius: 50%; overflow: hidden; background: #000; border: 1px solid rgba(255, 255, 255, .14); box-shadow: 0 0 0 5px var(--t-bg, #07080a), 0 0 0 6px rgba(var(--rv-gold-rgb), .45), 0 30px 50px -20px #000; }
.rv-circ-v video { width: 100%; height: 100%; object-fit: cover; display: block; }
.rv-circ-pl { position: absolute; inset: 0; display: grid; place-items: center; background: rgba(0, 0, 0, .18); color: #fff; }
.rv-circ-pl svg { width: 26px; height: 26px; filter: drop-shadow(0 2px 6px rgba(0, 0, 0, .7)); }
.rv-circ-t q { quotes: none; display: block; font: 500 16.5px/1.38 var(--rv-serif) !important; color: var(--t-text-2, #c9ccd2); }
.rv-circ-t .rv-meta { display: block; margin-top: 7px; color: var(--t-text-3, #8a9099); font: 600 11.5px/1 var(--font-ui, inherit); letter-spacing: .08em; text-transform: uppercase; }

/* ── полоса на главной / открытой странице ── */
.rv-strip { display: grid; gap: 14px; }
.rv-strip > header { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; }
.rv-strip > header b { display: block; color: var(--t-text, #f2f3f5); font: 600 26px/1 var(--rv-serif); }
.rv-strip > header.is-bare { align-items: center; }
.rv-strip > header.is-bare .rv-sub { margin-top: 0; }
.rv-strip > header .rv-sub { display: block; margin-top: 6px; color: var(--t-text-3, #8a9099); font: 500 12.5px/1.3 var(--font-ui, inherit); }
.rv-strip > header button { display: inline-flex; align-items: center; gap: 4px; border: 0; background: none; cursor: pointer; color: var(--t-text-2, #c9ccd2); font: 600 14px/1 var(--font-ui, inherit); white-space: nowrap; }
.rv-strip > header button:hover { color: var(--t-text, #f2f3f5); }
.rv-strip > header svg { width: 16px; height: 16px; }
.rv-row { display: flex; gap: 10px; overflow-x: auto; scroll-snap-type: x mandatory; margin-inline: calc(-1 * var(--page-gutter, 16px)); padding-inline: var(--page-gutter, 16px); padding-bottom: 4px; scrollbar-width: none; }
.rv-row::-webkit-scrollbar { display: none; }
.rv-row .rv-q { flex: 0 0 min(84%, 330px); scroll-snap-align: start; }
.rv-q.is-mini { padding: 16px 16px 12px; gap: 10px; }
.rv-q.is-mini q { font-size: 17px !important; -webkit-line-clamp: 3; }
.rv-q.is-mini .rv-th { width: 30px; height: 50px; border-radius: 7px; }

/* ── просмотр ── */
.rv-view { position: fixed; inset: 0; z-index: 1000; display: grid; grid-template-rows: auto 1fr; background: rgba(4, 5, 7, .96); }
.rv-view > header { display: flex; justify-content: space-between; align-items: center; padding: max(12px, env(safe-area-inset-top)) 16px 8px; color: #c9ccd2; font: 500 13px/1 system-ui, sans-serif; }
.rv-view > header button { width: 40px; height: 40px; border-radius: 50%; border: 0; cursor: pointer; color: #fff; background: rgba(255, 255, 255, .1); }
.rv-view > header svg { width: 20px; height: 20px; }
.rv-view-body { display: grid; grid-template-rows: minmax(0, 1fr) auto; justify-items: center; align-content: center; gap: 12px; min-height: 0; padding: 0 12px max(16px, env(safe-area-inset-bottom)); }
.rv-view-body img, .rv-view-body video { max-width: min(100%, 520px); max-height: 100%; min-height: 0; border-radius: 12px; }
.rv-view-body video.is-round { border-radius: 50%; aspect-ratio: 1; object-fit: cover; max-height: min(70vh, 90vw); }
.rv-view-say { max-width: 560px; display: grid; gap: 6px; text-align: center; }
.rv-view-say q { quotes: none; color: #f4f4f6; font: 500 17px/1.35 var(--rv-serif, Georgia, serif); display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
.rv-view-say b { color: #b8bcc4; font: 600 13px/1 system-ui, sans-serif; }
.rv-nav { position: absolute; top: 50%; width: 46px; height: 46px; margin-top: -23px; border-radius: 50%; border: 0; cursor: pointer; color: #fff; background: rgba(255, 255, 255, .12); }
.rv-nav svg { width: 22px; height: 22px; }
.rv-nav.prev { left: 10px; } .rv-nav.prev svg { transform: rotate(180deg); }
.rv-nav.next { right: 10px; }
.rv-nav:disabled { opacity: .25; cursor: default; }
@media (max-width: 760px) { .rv-nav { display: none; } }
/* ПУЛЬТ ВЛАДЕЛЬЦА — один образ во всех мирах: чёрное золото. Картинка уходит в каналы и обязана выглядеть
   одинаково у любого, кто её снимет, поэтому цвета здесь свои, а не из темы мира. */
.pult {
  --pg: #f2c14e; --pg2: #ffe39a; --pink: #ff5d8f; --ink: #f5f1e6; --mute: #a49a85; --line: rgba(242, 193, 78, .16);
  --card: rgba(18, 16, 12, .72);
  position: relative; overflow: hidden; isolation: isolate;
  margin: 0 0 22px; padding: 22px 18px 18px; border-radius: 26px;
  background: radial-gradient(120% 80% at 0% 0%, #1d1608 0%, #0a0907 55%, #060605 100%);
  border: 1px solid var(--line); color: var(--ink);
  box-shadow: 0 30px 80px -30px rgba(242, 193, 78, .35), inset 0 1px 0 rgba(255, 227, 154, .08);
  font-variant-numeric: tabular-nums;
}
.pult-loading { display: flex; gap: 10px; align-items: center; color: var(--mute); }
.pult-loading svg { color: var(--pg); width: 20px; height: 20px; }
.pult-glow { position: absolute; inset: -40% -20% auto auto; width: 70%; aspect-ratio: 1; z-index: -1;
  background: radial-gradient(circle, rgba(242, 193, 78, .22), transparent 62%); filter: blur(10px); pointer-events: none; }

.pult-head { display: flex; align-items: center; gap: 12px; }
.pult-crown { width: 46px; height: 46px; flex: none; border-radius: 14px; display: grid; place-items: center;
  background: linear-gradient(145deg, #ffe39a, #c8901f); color: #1a1205;
  box-shadow: 0 0 0 1px rgba(255, 227, 154, .5), 0 8px 28px -6px rgba(242, 193, 78, .7); }
.pult-crown svg { width: 24px; height: 24px; }
.pult-who { min-width: 0; flex: 1; }
.pult-who small { display: block; font-size: 10.5px; letter-spacing: .22em; color: var(--pg); font-weight: 700; }
.pult-who h2 { margin: 2px 0 0; font-size: 22px; font-weight: 800; letter-spacing: -.01em; line-height: 1.1;
  background: linear-gradient(90deg, #fff6dc, #f2c14e 70%); -webkit-background-clip: text; background-clip: text; color: transparent; }
.pult-live { flex: none; display: flex; align-items: center; gap: 7px; font-size: 11px; font-weight: 700; letter-spacing: .08em;
  padding: 7px 10px; border-radius: 999px; border: 1px solid rgba(255, 93, 143, .35); color: #ffd3e0; background: rgba(255, 93, 143, .08); }
.pult-live i { width: 7px; height: 7px; border-radius: 50%; background: var(--pink); box-shadow: 0 0 10px var(--pink);
  animation: pult-blink 1.4s ease-in-out infinite; }

.pult-hero { display: flex; align-items: center; gap: 18px; margin: 22px 0 18px; }
.pult-hero > div:last-child { display: grid; min-width: 0; }
.pult-hero b { font-size: clamp(54px, 15vw, 84px); line-height: .9; font-weight: 800; letter-spacing: -.04em;
  background: linear-gradient(180deg, #fff8e1 10%, #f2c14e 90%); -webkit-background-clip: text; background-clip: text; color: transparent; }
.pult-hero span { font-size: 14px; color: var(--ink); font-weight: 600; margin-top: 4px; }
.pult-hero em { font-style: normal; font-size: 12px; color: var(--mute); margin-top: 2px; }
.pult-ring { position: relative; width: 58px; height: 58px; flex: none; border-radius: 50%;
  background: radial-gradient(circle, var(--pg) 0 22%, transparent 24%); }
.pult-ring span { position: absolute; inset: 0; border-radius: 50%; border: 2px solid var(--pg); opacity: 0;
  animation: pult-pulse 2.4s ease-out infinite; }
.pult-ring span + span { animation-delay: 1.2s; }

.pult-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.pult-tile { min-width: 0; padding: 13px 12px 12px; border-radius: 16px; background: var(--card); border: 1px solid var(--line); }
.pult-tile b { display: block; font-size: 26px; font-weight: 800; letter-spacing: -.02em; line-height: 1.05; }
.pult-tile span { display: block; margin-top: 4px; font-size: 11.5px; color: var(--mute); line-height: 1.25; }
.pult-tile.is-accent { background: linear-gradient(160deg, rgba(242, 193, 78, .18), rgba(18, 16, 12, .8)); border-color: rgba(242, 193, 78, .4); }
.pult-tile.is-accent b { color: var(--pg2); }

.pult-launch { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 6px; margin: 12px 0 4px; padding: 11px 14px;
  border-radius: 14px; border: 1px dashed rgba(242, 193, 78, .3); font-size: 13px; color: var(--mute); }
.pult-launch svg { width: 15px; height: 15px; color: var(--pg); align-self: center; }
.pult-launch b { color: var(--ink); font-size: 15px; }

.pult-two { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 10px; }
.pult-card { min-width: 0; padding: 14px; border-radius: 18px; background: var(--card); border: 1px solid var(--line); }
.pult-card h3 { display: flex; align-items: center; gap: 7px; margin: 0 0 10px; font-size: 12.5px; font-weight: 700;
  letter-spacing: .04em; color: var(--mute); text-transform: uppercase; }
.pult-card h3 svg { width: 15px; height: 15px; color: var(--pg); }
.pult-card h3 b { color: var(--ink); }
.pult-empty { margin: 0; color: var(--mute); font-size: 13px; }

.pult-hours { width: 100%; height: 96px; display: block; }
.pult-hours rect { fill: rgba(242, 193, 78, .55); }
.pult-hours rect.now { fill: var(--pink); filter: drop-shadow(0 0 6px rgba(255, 93, 143, .8)); }
.pult-hours rect.future { fill: rgba(242, 193, 78, .12); }
.pult-hours text { fill: var(--mute); font-size: 9px; }

.pult-tiers { list-style: none; margin: 0; padding: 0; display: grid; gap: 9px; }
.pult-tiers li { display: grid; grid-template-columns: 78px 1fr auto; gap: 8px; align-items: center; font-size: 12.5px; }
.pult-tiers li i { height: 8px; border-radius: 99px; background: rgba(255, 255, 255, .06); overflow: hidden; }
.pult-tiers li s { display: block; height: 100%; border-radius: 99px; background: var(--tc); box-shadow: 0 0 10px var(--tc); }
.pult-tiers li b { font-size: 13px; }

.pult-top { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.pult-top li { display: grid; grid-template-columns: 26px 1fr auto; gap: 8px; align-items: center; padding: 6px 8px;
  border-radius: 10px; background: rgba(255, 255, 255, .025); font-size: 13.5px; }
.pult-top li em { font-style: normal; width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center;
  font-size: 11px; font-weight: 800; background: rgba(255, 255, 255, .07); color: var(--mute); }
.pult-top li span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pult-top li b { color: var(--pg2); }
.pult-top li.gold em { background: linear-gradient(145deg, #ffe39a, #c8901f); color: #1a1205; }
.pult-top li.silver em { background: linear-gradient(145deg, #f2f2f2, #9aa0a8); color: #16181b; }
.pult-top li.bronze em { background: linear-gradient(145deg, #f3c19a, #a8622c); color: #1d1007; }
.pult-top li.gold { background: rgba(242, 193, 78, .1); }

.pult-feed { list-style: none; margin: 0; padding: 0; display: grid; gap: 7px; max-height: 260px; overflow: hidden;
  mask-image: linear-gradient(180deg, #000 80%, transparent); }
.pult-feed li { display: flex; justify-content: space-between; gap: 8px; font-size: 12.5px; line-height: 1.3; }
.pult-feed li span { min-width: 0; }
.pult-feed li b { color: var(--pg2); font-weight: 700; }
.pult-feed li time { flex: none; color: var(--mute); font-size: 11px; }

.pult-foot { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 10px;
  margin-top: 14px; font-size: 11px; color: var(--mute); }
.pult-foot button { padding: 9px 14px; border-radius: 999px; border: 1px solid rgba(242, 193, 78, .5);
  background: rgba(242, 193, 78, .1); color: var(--pg2); font-weight: 700; font-size: 12.5px; cursor: pointer; }

/* Для скриншота: только пульт, во весь экран, поверх меню. Нажатие или Esc — назад. */
.pult--shot { position: fixed; inset: 0; z-index: 1000; margin: 0; border-radius: 0; overflow-y: auto; cursor: zoom-out;
  padding: max(24px, env(safe-area-inset-top, 0px)) 18px max(24px, env(safe-area-inset-bottom, 0px)); }

@media (max-width: 560px) {
  .pult-two { grid-template-columns: 1fr; }
  .pult-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pult-live { font-size: 10px; padding: 6px 8px; }
}
@keyframes pult-pulse { 0% { transform: scale(.45); opacity: .9; } 100% { transform: scale(1.35); opacity: 0; } }
@keyframes pult-blink { 50% { opacity: .35; } }
@media (prefers-reduced-motion: reduce) { .pult-ring span, .pult-live i { animation: none; } }

/* КОРОНА ВЛАДЕЛЬЦА В КОМНАТАХ (Амир 11.10: «чтобы было видно, что я владелец»). */
.srx-msg.is-owner .srx-bubble { border: 1px solid rgba(242, 193, 78, .65) !important;
  background: linear-gradient(160deg, rgba(242, 193, 78, .16), rgba(20, 16, 8, .55)) !important;
  box-shadow: 0 0 22px -6px rgba(242, 193, 78, .55); }
.srx-owner { display: inline-flex; align-items: center; gap: 4px; margin-left: 6px; padding: 2px 8px 2px 6px; border-radius: 999px;
  font-size: 10.5px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; vertical-align: middle;
  background: linear-gradient(145deg, #ffe39a, #c8901f); color: #1a1205; box-shadow: 0 0 12px rgba(242, 193, 78, .55); }
.srx-owner svg { width: 12px; height: 12px; }
.srx-msg.is-owner .srx-ava { background: linear-gradient(145deg, #ffe39a, #c8901f) !important; color: #1a1205 !important; }

/* КОМНАТЫ КАК В TELEGRAM (тестеры 11.10): черта «Новые сообщения» и кнопка «↓ N новых» над полем ввода. */
.srx-room { position: relative; }
.srx-unread-line { display: flex; align-items: center; gap: 10px; margin: 6px 0; font-size: 11px; font-weight: 700;
  letter-spacing: .08em; text-transform: uppercase; color: var(--t-accent, #f2c14e); }
.srx-unread-line::before, .srx-unread-line::after { content: ""; flex: 1; height: 1px; background: currentColor; opacity: .45; }
.srx-jump { position: sticky; bottom: 6px; align-self: flex-end; flex: none; margin-top: -42px; z-index: 5; display: flex; align-items: center;
  gap: 6px; padding: 9px 14px; border-radius: 999px; border: 0; cursor: pointer; font-weight: 800; font-size: 13px;
  color: var(--t-ink, #1a1205); background: var(--t-accent, #f2c14e); box-shadow: 0 8px 24px -6px rgba(0, 0, 0, .55); }
/* СВОЁ СООБЩЕНИЕ ЧИТАЕТСЯ В ЛЮБОМ МИРЕ (тестер 11.10: «своё сообщение плохо читается»). Базовый стиль красит текст
   своего пузыря в цвет «на акценте» (тёмный почти во всех мирах) — под сплошной акцент. Премиальный стиль сделал
   пузырь полупрозрачным на тёмном фоне, и вышел тёмный текст на тёмном. Текст — цветом обычного текста мира. */
.app .srx .srx-msg.mine .srx-bubble :is(p, .srx-more):not(#am-srx):not(#am-srx-own) { color: var(--t-text, #f5f1e6) !important; }
.app .srx .srx-msg.mine .srx-bubble time:not(#am-srx):not(#am-srx-own) { color: var(--t-text, #f5f1e6) !important; opacity: .6; }
/* Давность баланса (AM-05): одна подпись на всех экранах. Цвета — из темы мира.
   !important — потому что слой темы задаёт абзацам размер и цвет с !important,
   и на главной подпись становилась кремовой 15.5px, неотличимой от свежей. */
p.balance-age { margin: 4px 0 0 !important; font-size: 12.5px !important; line-height: 1.4 !important; color: var(--t-text-3, #7c857e) !important; }
p.balance-age.is-stale { color: var(--t-alt, #b08a3c) !important; }
.balance-age-refresh { background: none !important; border: 0 !important; padding: 0 !important; margin: 0 !important; min-height: 0 !important; height: auto !important; font: inherit !important; line-height: inherit !important; color: inherit !important; text-decoration: underline; cursor: pointer; display: inline !important; }
.balance-calc { display: block; margin-top: 2px; font-size: 12px; color: var(--t-alt, #b08a3c); }
/* МАСТЕР ПОПОЛНЕНИЯ — из утверждённого концепта (06.10), окно на весь экран. */
/* Слой 120 — над нижним меню (100): ниже него меню закрывало кнопки окна, в мастере пополнения — «Шаг выполнен» (тестер 11.10). */
.wz-veil { position: fixed; inset: 0; z-index: 120; display: grid; place-items: center; padding: 16px; overflow-y: auto;
  background: color-mix(in srgb, var(--t-bg, #030406) 86%, transparent); backdrop-filter: blur(10px); animation: wz-fade .3s ease; }
@keyframes wz-fade { from { opacity: 0; } }
.wz { --wz-w: #f2c14e; position: relative; width: min(1100px, 100%); color: var(--t-text, #f4f1ea); font-family: "Onest", system-ui, sans-serif; }
.wz-x { position: absolute; top: 12px; right: 12px; z-index: 2; width: 38px; height: 38px; border: 0; border-radius: 50%; cursor: pointer; color: var(--t-text, #f4f1ea); background: rgba(var(--t-text-rgb, 255,255,255), .08); font-size: 15px; }
.wz-eyebrow { font: 600 11px/1 "Onest", sans-serif; letter-spacing: .22em; text-transform: uppercase; color: color-mix(in srgb, var(--wz-w) 80%, #fff); }
.wz-rail li { padding: 0 !important; }
.wz-rail li > button { width: 100%; display: grid; grid-template-columns: 28px 1fr auto; gap: 10px; align-items: center; padding: 10px 12px; border: 0; border-radius: 14px; cursor: pointer; text-align: left; font: inherit; color: inherit; background: none; }
/* ── 4. МАСТЕР ПОПОЛНЕНИЯ ──────────────────────────────────────────────── */
.wz { display: grid; grid-template-columns: 250px minmax(0,1fr); gap: 18px; padding: 18px; border-radius: 30px; background: var(--t-surface, var(--t-surface, #0b0d12)); box-shadow: 0 0 0 1px rgba(var(--t-text-rgb, 255,255,255), .09); }
.wz.danger { box-shadow: 0 0 0 1px rgba(255,92,108,.4), 0 40px 90px -50px rgba(255,92,108,.6); }
.wz-rail { display: grid; gap: 14px; align-content: start; }
.wz-total { display: grid; grid-template-columns: auto 1fr; align-items: baseline; gap: 4px 10px; padding: 16px; border-radius: 18px; background: rgba(255,255,255,.045); box-shadow: inset 0 0 0 1px rgba(var(--t-text-rgb, 255,255,255), .09); }
.wz-total b { font: 800 30px/1 "Unbounded", "Onest", sans-serif; font-variant-numeric: tabular-nums; }
.wz-total span { color: var(--t-text-3, #9a9ca6); font-size: 12px; }
.wz-total i { grid-column: 1 / -1; height: 6px; border-radius: 99px; background: rgba(var(--t-text-rgb, 255,255,255), .08); overflow: hidden; }
.wz-total em { display: block; height: 100%; width: 0; border-radius: inherit; background: linear-gradient(90deg, #2fd39a, color-mix(in srgb, #2fd39a 60%, #fff)); transition: width .5s cubic-bezier(.2,.9,.25,1); }
.wz-rail ol { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.wz-rail li { border-radius: 14px; color: var(--t-text-3, #9a9ca6); transition: background .2s, color .2s; }
.wz-rail li i { width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; font: 700 12px/1 "Unbounded", "Onest", sans-serif; font-style: normal; background: rgba(var(--t-text-rgb, 255,255,255), .06); box-shadow: inset 0 0 0 1px rgba(var(--t-text-rgb, 255,255,255), .09); }
.wz-rail li small { font-size: 11px; font-variant-numeric: tabular-nums; }
.wz-rail li.on { color: var(--t-text, #f4f1ea); background: color-mix(in srgb, var(--wz-w) 12%, transparent); }
.wz-rail li.on i { color: #08090c; background: var(--wz-w); box-shadow: 0 0 18px color-mix(in srgb, var(--wz-w) 60%, transparent); }
.wz-rail li.done { color: var(--t-text, #f4f1ea); }
.wz-rail li.done i { color: #04140e; background: #2fd39a; }
.wz-note { padding: 14px; border-radius: 16px; background: rgba(var(--t-text-rgb, 255,255,255), .03); box-shadow: inset 0 0 0 1px rgba(var(--t-text-rgb, 255,255,255), .09); font-size: 12.5px; }
.wz-note b { display: block; margin-bottom: 4px; } .wz-note p { margin: 0; color: var(--t-text-3, #9a9ca6); line-height: 1.5; }
.wz-stage { display: grid; grid-template-columns: minmax(0, 300px) minmax(0,1fr); gap: 26px; align-items: center; padding: 18px; border-radius: 24px;
  background: radial-gradient(60% 70% at 25% 40%, color-mix(in srgb, var(--wz-w) 14%, transparent), transparent 70%); min-width: 0; }
.wz-phone { position: relative; justify-self: center; width: min(280px, 100%); aspect-ratio: 9 / 19; border-radius: 40px; padding: 10px; max-width: 100%;
  background: linear-gradient(160deg, #3a3d46, #121318 40%, #2a2c33); box-shadow: 0 50px 80px -30px rgba(0,0,0,.8), inset 0 0 0 1px rgba(255,255,255,.18), 0 0 0 1px #000;
  transform: perspective(1200px) rotateY(10deg) rotateX(2deg); transition: transform .6s; }
.wz-phone:hover { transform: perspective(1200px) rotateY(0) rotateX(0); }
.wz-screen { position: relative; width: 100%; height: 100%; border-radius: 31px; overflow: hidden; background: #000; }
.wz-screen img { width: 100%; height: 100%; object-fit: cover; object-position: top; display: block; }
.wz-screen img.in { animation: wz-in .5s cubic-bezier(.2,.9,.25,1); }
.wz-noimg { position: absolute; inset: 0; display: grid; place-content: center; justify-items: center; gap: 12px; font-weight: 700; background: radial-gradient(circle, rgba(47,211,154,.25), #000 70%); }
.wz-noimg b { width: 72px; height: 72px; border-radius: 50%; display: grid; place-items: center; font-size: 34px; color: #04140e; background: #2fd39a; }
@keyframes wz-in { from { opacity: 0; transform: scale(1.04); } to { opacity: 1; transform: none; } }
.wz-card { display: grid; gap: 12px; min-width: 0; }
.wz-card h3 { font: 700 clamp(20px, 2.4vw, 28px)/1.15 "Unbounded", "Onest", sans-serif; letter-spacing: -.02em; }
.wz-card > p { margin: 0; color: rgba(var(--t-text-rgb, 244,241,234), .86); font-size: 15.5px; line-height: 1.6; max-width: 52ch; }
.wz-check { margin: 0; padding: 0; display: grid; gap: 8px; }
.wz-check li { list-style: none; display: flex; gap: 10px; align-items: center; padding: 10px 12px; border-radius: 12px; font-size: 13.5px; font-weight: 600; background: rgba(47,211,154,.07); box-shadow: inset 0 0 0 1px rgba(47,211,154,.22); }
.wz-check li::before { content: "✓"; flex: none; width: 20px; height: 20px; border-radius: 50%; display: grid; place-items: center; font-size: 11px; color: #04140e; background: #2fd39a; }
.wz-alert { padding: 12px 14px; border-radius: 14px; font-size: 13.5px; font-weight: 600; color: #ffd0d5; background: linear-gradient(90deg, rgba(255,92,108,.16), rgba(255,92,108,.04)); box-shadow: inset 0 0 0 1px rgba(255,92,108,.4); }
.wz-nav { display: flex; align-items: center; gap: 12px; margin-top: 6px; flex-wrap: wrap; }
.wz-nav span { color: var(--t-text-3, #9a9ca6); font-size: 12.5px; font-variant-numeric: tabular-nums; flex: 1; text-align: center; }
.wz-nav button { border: 0; border-radius: 14px; padding: 13px 20px; font: 700 14px/1 "Onest", system-ui, sans-serif; cursor: pointer; color: #08090c; background: linear-gradient(180deg, color-mix(in srgb, var(--wz-w) 70%, #fff), var(--wz-w)); box-shadow: 0 14px 30px -14px color-mix(in srgb, var(--wz-w) 80%, transparent); }
.wz-nav button.ghost { color: var(--t-text, #f4f1ea); background: rgba(255,255,255,.045); box-shadow: inset 0 0 0 1px rgba(var(--t-text-rgb, 255,255,255), .09); }
.wz-nav button:disabled { opacity: .4; cursor: default; }
.wz-nav button:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
@media (max-width: 900px) { .wz { grid-template-columns: 1fr; } .wz-rail ol { grid-auto-flow: column; grid-auto-columns: max-content; overflow-x: auto; } .wz-rail li > button span { white-space: nowrap; } .wz-note { display: none; } }
@media (max-width: 640px) { .wz { padding: 12px; } .wz-stage { grid-template-columns: 1fr; padding: 6px; } .wz-phone { width: min(230px, 80%); transform: none; } }

/* Сброс отметок (аудит QA 17.10). */
.wz-reset { grid-column: 1 / -1; justify-self: start; margin-top: 4px; padding: 0; border: 0; background: none; font: inherit; font-size: 12px; color: var(--t-text-3, #9a9ca6); text-decoration: underline; cursor: pointer; }
/* УРОК-ИНФОГРАФИКА — язык утверждённого концепта: стекло, свет, иконки в светящихся плашках,
   формула пилюлями, чек-лист зелёными галочками, стоп-блок красным градиентом. */
.ud { --ud-a: var(--c1, #f2c14e); --ud-up: #2fd39a; --ud-down: #ff5c6c; display: grid; gap: 20px; font-family: "Onest", system-ui, sans-serif; }
.ud-lead { margin: 0; font-size: 17.5px; line-height: 1.6; font-weight: 500; color: var(--t-text, #f4f1ea); }
.ud-text { margin: 0; font-size: 15.5px; line-height: 1.7; color: rgba(var(--t-text-rgb, 244,241,234), .84); }
.ud-h { margin: 0 0 10px; font: 600 11px/1 "Onest", sans-serif; letter-spacing: .2em; text-transform: uppercase; color: color-mix(in srgb, var(--ud-a) 80%, #fff); }
.ud-steps { display: grid; gap: 12px; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); }
.ud-step { position: relative; display: grid; gap: 10px; align-content: start; padding: 18px; border-radius: 20px; min-width: 0;
  background: linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.015)); box-shadow: inset 0 0 0 1px rgba(var(--t-text-rgb, 255,255,255), .09), inset 0 1px 0 rgba(var(--t-text-rgb, 255,255,255), .12);
  animation: ud-up .5s cubic-bezier(.2,.8,.2,1) both; }
.ud-n { position: absolute; top: 14px; right: 16px; font: 800 26px/1 "Unbounded", sans-serif; color: rgba(var(--t-text-rgb, 255,255,255), .07); }
.ud-ico { width: 44px; height: 44px; border-radius: 14px; display: grid; place-items: center; color: color-mix(in srgb, var(--ud-a) 85%, #fff);
  background: linear-gradient(180deg, color-mix(in srgb, var(--ud-a) 30%, transparent), color-mix(in srgb, var(--ud-a) 8%, transparent));
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--ud-a) 40%, transparent), 0 10px 24px -12px color-mix(in srgb, var(--ud-a) 70%, transparent); }
.ud-ico svg { width: 24px; height: 24px; }
.ud-step b { font: 700 15.5px/1.25 "Unbounded", "Onest", sans-serif; letter-spacing: -.01em; color: var(--t-text, #f4f1ea); }
.ud-step p { margin: 0; font-size: 13.5px; line-height: 1.55; color: var(--t-text-3, #a3a5ae); }
.ud-compare { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.ud-cmp { padding: 18px; border-radius: 20px; min-width: 0; }
.ud-cmp b { display: block; margin-bottom: 10px; font: 700 14px/1.2 "Unbounded", sans-serif; }
.ud-cmp ul { margin: 0; padding: 0; display: grid; gap: 8px; list-style: none; }
.ud-cmp li { position: relative; padding-left: 26px; font-size: 14px; line-height: 1.5; color: rgba(var(--t-text-rgb, 244,241,234), .86); }
.ud-cmp li::before { position: absolute; left: 0; top: 1px; width: 18px; height: 18px; border-radius: 50%; display: grid; place-items: center; font-size: 11px; font-weight: 900; }
.ud-cmp.bad { background: linear-gradient(180deg, rgba(255,92,108,.12), rgba(255,92,108,.03)); box-shadow: inset 0 0 0 1px rgba(255,92,108,.3); }
.ud-cmp.bad b { color: #ffb3ba; } .ud-cmp.bad li::before { content: "✕"; color: #2a0408; background: var(--ud-down); }
.ud-cmp.good { background: linear-gradient(180deg, rgba(47,211,154,.12), rgba(47,211,154,.03)); box-shadow: inset 0 0 0 1px rgba(47,211,154,.3); }
.ud-cmp.good b { color: #9ff3d0; } .ud-cmp.good li::before { content: "✓"; color: #04140e; background: var(--ud-up); }
.ud-formula { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 10px; padding: 20px; border-radius: 20px;
  background: linear-gradient(90deg, rgba(47,211,154,.09), rgba(47,211,154,.02)); box-shadow: inset 0 0 0 1px rgba(47,211,154,.25); }
.ud-f, .ud-formula strong { font-size: 14px; font-weight: 600; }
.ud-formula .ud-f { padding: 8px 14px; border-radius: 12px; background: rgba(var(--t-text-rgb, 255,255,255), .06); }
.ud-formula i { font-style: normal; font-weight: 800; color: var(--t-text-3, #9a9ca6); }
.ud-formula strong { padding: 8px 14px; border-radius: 12px; color: #04140e; background: var(--ud-up); box-shadow: 0 10px 24px -12px var(--ud-up); }
.ud-check ul { margin: 0; padding: 0; display: grid; gap: 10px; list-style: none; }
.ud-check li { display: flex; gap: 12px; align-items: center; padding: 13px 16px; border-radius: 16px; font-weight: 600; font-size: 14.5px; line-height: 1.4;
  background: rgba(47,211,154,.07); box-shadow: inset 0 0 0 1px rgba(47,211,154,.22); animation: ud-up .45s cubic-bezier(.2,.8,.2,1) both; }
.ud-check li::before { content: "✓"; flex: none; width: 22px; height: 22px; border-radius: 50%; display: grid; place-items: center; font-size: 12px; font-weight: 900; color: #04140e; background: var(--ud-up); }
.ud-warn { display: flex; gap: 12px; align-items: flex-start; padding: 16px 18px; border-radius: 16px; color: #ffd0d5;
  background: linear-gradient(90deg, rgba(255,92,108,.16), rgba(255,92,108,.04)); box-shadow: inset 0 0 0 1px rgba(255,92,108,.38); }
.ud-warn svg { flex: none; width: 22px; height: 22px; color: var(--ud-down); }
.ud-warn p { margin: 0; font-weight: 600; font-size: 14.5px; line-height: 1.5; }
.ud-quote { margin: 0; padding: 18px 22px; border-radius: 18px; font: 600 clamp(16px, 2vw, 19px)/1.45 "Unbounded", "Onest", sans-serif; letter-spacing: -.01em; color: var(--t-text, #f4f1ea);
  background: radial-gradient(120% 140% at 0% 0%, color-mix(in srgb, var(--ud-a) 16%, transparent), transparent 60%), rgba(var(--t-text-rgb, 255,255,255), .03);
  box-shadow: inset 0 0 0 1px rgba(var(--t-text-rgb, 255,255,255), .08), inset 3px 0 0 var(--ud-a); }
.ud-stat { display: grid; gap: 4px; justify-items: start; padding: 18px 20px; border-radius: 18px; background: rgba(255,255,255,.035); box-shadow: inset 0 0 0 1px rgba(var(--t-text-rgb, 255,255,255), .08); }
.ud-stat b { font: 800 clamp(24px, 3.2vw, 34px)/1 "Unbounded", sans-serif; color: color-mix(in srgb, var(--ud-a) 85%, #fff); }
.ud-stat span { color: var(--t-text-3, #a3a5ae); font-size: 13.5px; }
.ud-take { padding: 18px 20px; border-radius: 18px; background: linear-gradient(135deg, color-mix(in srgb, var(--ud-a) 18%, transparent), rgba(var(--t-text-rgb, 255,255,255), .02)); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--ud-a) 35%, transparent); }
.ud-take small { font: 600 11px/1 "Onest", sans-serif; letter-spacing: .2em; text-transform: uppercase; color: color-mix(in srgb, var(--ud-a) 85%, #fff); }
.ud-take p { margin: 8px 0 0; font: 600 16.5px/1.45 "Onest", sans-serif; color: #fff; }
@keyframes ud-up { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
@media (max-width: 640px) { .ud-compare { grid-template-columns: 1fr; } .ud-lead { font-size: 16px; } }
@media (prefers-reduced-motion: reduce) { .ud-step, .ud-check li { animation: none; } }
/* ВИДЕО-АКАДЕМИЯ (08.10, облегчена). Одна тема за раз, лёгкие строки без анимаций, наклона и стекла:
   на слабом Android прежняя версия (7 761 элемент, 395 анимаций) давала ~9 кадров/с. Плеер — кинозал. */
.va { display: flex; flex-direction: column; gap: 14px; margin: 8px 0 26px; }
.va-tabs { display: flex; gap: 8px; overflow-x: auto; padding: 2px 2px 6px; scrollbar-width: none; scroll-snap-type: x proximity; }
.va-tabs::-webkit-scrollbar { display: none; }
.va-tabs button { flex: none; scroll-snap-align: start; display: inline-flex; align-items: center; gap: 7px; padding: 9px 14px; border: 0; border-radius: 999px; cursor: pointer; font: inherit; font-size: 13.5px; font-weight: 700; color: rgba(246,241,234,.78); background: rgba(255,255,255,.06); box-shadow: inset 0 0 0 1px rgba(255,255,255,.08); }
.va-tabs button em { font-style: normal; font-size: 11.5px; opacity: .65; }
.va-tabs button.on { color: #0b0c0e; background: var(--c1); box-shadow: none; }
.va-tabs button.on em { opacity: .7; }
.va-sec { display: flex; flex-direction: column; gap: 14px; padding: 18px 16px 16px; border-radius: 22px; color: #f6f1ea;
  background: color-mix(in srgb, var(--c1) 7%, #121316); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--c1) 22%, transparent); }
.va-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; }
.va-head h2 { margin: 0 0 3px; font-size: clamp(19px, 2.4vw, 24px); line-height: 1.2; letter-spacing: -.01em; }
.va-head p { margin: 0; font-size: 13.5px; line-height: 1.45; color: rgba(246,241,234,.7); max-width: 60ch; }
.va-count { font-style: normal; font-weight: 700; color: var(--c1); white-space: nowrap; }
.va-wizard2 { display: grid; grid-template-columns: 1fr auto; gap: 2px 12px; align-items: center; text-align: left; padding: 14px 16px; border: 0; border-radius: 16px; cursor: pointer; font: inherit; color: #0b0c0e; background: linear-gradient(135deg, var(--c1), var(--c2)); }
.va-wizard2 b { font-size: 15px; } .va-wizard2 small { grid-column: 1; font-size: 12.5px; opacity: .8; }
.va-wizard2 span { grid-column: 2; grid-row: 1 / span 2; width: 22px; } .va-wizard2 svg { width: 22px; height: 22px; }
.va-list { display: flex; flex-direction: column; gap: 10px; }
/* Герой темы: кадр на всю ширину, градиент снизу — как афиша. Картинка статична: рисуется один раз. */
.va-hero { position: relative; display: flex; flex-direction: column; width: 100%; padding: 0; border: 0; border-radius: 18px; overflow: hidden; cursor: pointer; text-align: left; font: inherit; color: #fff; background: #0b0c0e;
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--c1) 35%, transparent), 0 18px 40px -24px color-mix(in srgb, var(--c1) 70%, transparent); }
.va-hero-img { position: relative; display: block; aspect-ratio: 16 / 9; max-width: 100%; }
.va-hero-img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.va-hero-img::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 45%, #0b0c0e 100%); }
.va-hero-txt { position: relative; z-index: 1; display: flex; flex-direction: column; gap: 6px; margin-top: -34px; padding: 0 16px 16px; }
.va-hero-txt small { font-size: 10.5px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--c1); }
.va-hero-txt b { font-size: clamp(18px, 4.6vw, 23px); line-height: 1.2; letter-spacing: -.01em; text-wrap: balance; }
.va-hero-about { font-size: 13px; line-height: 1.45; color: rgba(255,255,255,.72); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; max-width: 60ch; }
.va-hero-go { align-self: flex-start; display: inline-flex; align-items: center; gap: 7px; margin-top: 4px; padding: 9px 14px; border-radius: 999px; font-size: 13px; font-weight: 800; color: #0b0c0e; background: linear-gradient(135deg, var(--c1), var(--c2)); }
.va-hero-go svg { width: 13px; height: 13px; }
/* Серия: как сезон сериала — подпись сверху, части друг под другом. */
.va-series { display: flex; flex-direction: column; gap: 8px; padding: 12px; border-radius: 18px; background: linear-gradient(180deg, color-mix(in srgb, var(--c1) 9%, transparent), transparent 70%); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--c1) 20%, transparent); }
.va-series > header { display: flex; flex-direction: column; gap: 3px; padding: 2px 4px 4px; }
.va-series > header small { font-size: 10.5px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--c1); }
.va-series > header b { font-size: 17px; line-height: 1.25; }
/* Строка: кадр 16:9 слева, текст справа. */
.va-r { display: grid; grid-template-columns: 132px minmax(0, 1fr); gap: 12px; align-items: center; width: 100%; padding: 8px; border: 0; border-radius: 16px; cursor: pointer; text-align: left; font: inherit; color: inherit; background: rgba(255,255,255,.035); content-visibility: auto; contain-intrinsic-size: auto 92px; }
.va-series .va-r { background: rgba(0,0,0,.18); }
.va-r:active, .va-r:hover { background: rgba(255,255,255,.08); }
.va-r-cover { position: relative; display: block; aspect-ratio: 16 / 9; max-width: 100%; border-radius: 11px; overflow: hidden; background: #0d0f12; box-shadow: inset 0 0 0 1px rgba(255,255,255,.08); }
.va-r-cover img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.va-r-cover::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 45%, rgba(0,0,0,.6)); pointer-events: none; }
.va-r-cover.art, .va-r-cover.plain { display: grid; place-items: center; background: linear-gradient(135deg, color-mix(in srgb, var(--c1) 40%, #121316), color-mix(in srgb, var(--c2) 22%, #0b0c0e)); }
.va-r-cover > b { position: relative; z-index: 1; font-size: 22px; font-weight: 900; letter-spacing: -.03em; color: #fff; }
.va-r-cover > b svg { width: 20px; height: 20px; }
.va-r-cover i { position: absolute; z-index: 1; left: 6px; top: 6px; padding: 3px 7px; border-radius: 7px; font-style: normal; font-size: 10.5px; font-weight: 800; color: #0b0c0e; background: var(--c1); }
.va-r-cover em { position: absolute; z-index: 1; right: 6px; bottom: 5px; font-style: normal; font-size: 11px; font-weight: 800; color: #fff; font-variant-numeric: tabular-nums; }
.va-r-lock { position: absolute; z-index: 1; inset: 0; display: grid; place-items: center; background: rgba(6,7,9,.55); color: #fff; }
.va-r-lock svg { width: 18px; height: 18px; }
.va-r-body { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.va-r-kick { font-size: 10px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: var(--c1); }
.va-r-body b { font-size: 14.5px; line-height: 1.28; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.va-r-about { font-size: 12.5px; line-height: 1.42; color: rgba(246,241,234,.62); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.va-r-body .va-need { font-size: 12px; color: var(--c1); font-weight: 700; }
.va-r.locked .va-r-body b { opacity: .75; }
.va-more { align-self: center; padding: 11px 20px; border: 0; border-radius: 999px; cursor: pointer; font: inherit; font-size: 13.5px; font-weight: 800; color: #0b0c0e; background: linear-gradient(135deg, var(--c1), var(--c2)); }
@media (max-width: 520px) {
  .va-r { grid-template-columns: 118px minmax(0, 1fr); gap: 10px; }
  .va-r-about { -webkit-line-clamp: 1; }
  .va-head { flex-direction: column; gap: 8px; }
}

/* Слой 120 — над нижним меню (100): ниже него меню закрывало кнопки окна, в мастере пополнения — «Шаг выполнен» (тестер 11.10). */
.va-cinema { position: fixed; inset: 0; z-index: 120; display: grid; place-items: center; padding: 16px; background: rgba(4,5,7,.78); backdrop-filter: blur(14px) saturate(1.2); animation: va-fade .3s ease-out; }
.va-screen { width: min(1040px, 100%); border-radius: 22px; overflow: hidden; background: #000; box-shadow: 0 40px 120px rgba(0,0,0,.6), 0 0 0 1px rgba(255,255,255,.08); animation: va-zoom .45s cubic-bezier(.2,.8,.2,1); }
.va-screen video { display: block; width: 100%; max-height: 72vh; background: #000; }
/* Плеер закрытого облака: 16:9, не выше 72% экрана — как обычное видео кинозала. */
.va-embed { position: relative; width: 100%; max-height: 72vh; aspect-ratio: 16 / 9; background: #000; }
.va-embed iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.va-screen-bar { display: flex; justify-content: space-between; align-items: center; gap: 14px; flex-wrap: wrap; padding: 14px 18px; color: #fff; background: linear-gradient(180deg, #121316, #0b0c0e); }
.va-screen-bar b { font-size: 16px; } .va-screen-bar small { display: block; margin-top: 3px; font-size: 12.5px; opacity: .65; max-width: 60ch; }
.va-screen-act { display: flex; gap: 8px; }
.va-screen-act button { display: inline-flex; align-items: center; gap: 6px; padding: 10px 14px; border: 0; border-radius: 12px; cursor: pointer; font: inherit; font-size: 13.5px; font-weight: 800; color: #0b0c0e; background: linear-gradient(135deg, #ffb86b, #ff7a59); }
.va-screen-act button.g { color: #fff; background: rgba(255,255,255,.1); }
.va-screen-act svg { width: 14px; height: 14px; }

@keyframes va-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes va-zoom { from { opacity: 0; transform: translateY(24px) scale(.94); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .va-cinema, .va-screen { animation: none !important; } }


/* Статьи (06.10): обложка — картинка поста, кнопка «Аа», окно чтения. */
.va-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transform: scale(1.02); transition: transform .5s cubic-bezier(.2,.8,.2,1); }
.va-card:hover .va-img { transform: scale(1.08); }
.va-read { font-size: 15px; font-weight: 900; letter-spacing: -.02em; }
.va-article { width: min(720px, 100%); max-height: 88vh; overflow-y: auto; border-radius: 22px; background: #121316; color: #f3efe8; box-shadow: 0 40px 120px rgba(0,0,0,.6), 0 0 0 1px rgba(255,255,255,.08); animation: va-zoom .45s cubic-bezier(.2,.8,.2,1); }
.va-article img { display: block; width: 100%; max-height: 360px; object-fit: cover; }
.va-article-body { padding: 22px 26px 26px; }
.va-article h2 { margin: 0 0 14px; font-size: 24px; line-height: 1.25; }
.va-article p { margin: 0 0 14px; font-size: 16px; line-height: 1.65; white-space: pre-line; color: rgba(243,239,232,.88); }
.va-article button { margin-top: 6px; padding: 12px 18px; border: 0; border-radius: 12px; cursor: pointer; font: inherit; font-weight: 800; color: #0b0c0e; background: linear-gradient(135deg, #c27bff, #ff6fae); }
@media (max-width: 640px) { .va-article-body { padding: 18px; } .va-article h2 { font-size: 20px; } .va-article p { font-size: 15px; } }

/* ── ОБЛОЖКИ (владелец 06.10): индикатор на мини-графике и его имя, у тем — рисунок по смыслу ── */
.va-cover .ob { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.ob-bg { fill: color-mix(in srgb, var(--c1, #d9b66e) 9%, #0b0d10); }
.ob-grid { stroke: rgba(var(--t-text-rgb, 255,255,255), .05); stroke-width: .6; }
.ob-up line, .ob-up rect { stroke: #2bc59a; fill: #2bc59a; stroke-width: .8; }
.ob-dn line, .ob-dn rect { stroke: #f0625e; fill: #f0625e; stroke-width: .8; }
.ob-panel { fill: rgba(0,0,0,.35); stroke: rgba(var(--t-text-rgb, 255,255,255), .06); stroke-width: .6; }
.ob-band { stroke: rgba(255,255,255,.18); stroke-dasharray: 3 3; stroke-width: .7; }
.ob-ind { fill: none; stroke: var(--c1, #f2c14e); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; filter: drop-shadow(0 0 3px color-mix(in srgb, var(--c1, #f2c14e) 60%, transparent)); }
.ob-ind2 { fill: none; stroke: #e8e4da; stroke-opacity: .7; stroke-width: 1.3; stroke-linecap: round; }
.ob-bar-up { fill: #2bc59a; } .ob-bar-dn { fill: #f0625e; }
.ob-arrow-up { fill: #2bc59a; } .ob-arrow-dn { fill: #f0625e; }
.ob-al1 { fill: none; stroke: #4da3ff; stroke-width: 1.6; } .ob-al2 { fill: none; stroke: #f0625e; stroke-width: 1.6; } .ob-al3 { fill: none; stroke: #2bc59a; stroke-width: 1.6; }
.ob-frame { fill: rgba(var(--t-text-rgb, 255,255,255), .03); stroke: var(--c1, #f2c14e); stroke-width: 1.4; }
.ob-fill { fill: var(--c1, #f2c14e); } .ob-fill2 { fill: color-mix(in srgb, var(--c1, #f2c14e) 35%, transparent); stroke: var(--c1, #f2c14e); stroke-width: 1; }
.ob-big { font: 800 52px/1 system-ui, sans-serif; fill: var(--c1, #f2c14e); }
.ob-mid { font: 900 26px/1 system-ui, sans-serif; fill: #0b0d10; }
.ob-rec { fill: #f0625e; animation: ob-rec 1.4s ease-in-out infinite; }
.ob-label { font: 800 13px/1 system-ui, -apple-system, "Segoe UI", sans-serif; fill: #fff; paint-order: stroke; stroke: rgba(0,0,0,.75); stroke-width: 3px; letter-spacing: .01em; }
.ob-sweep { fill: transparent; }
.va-card:hover .ob-ind { stroke-dasharray: 600; animation: ob-draw 1.2s ease-out; }
@keyframes ob-draw { from { stroke-dashoffset: 600; } to { stroke-dashoffset: 0; } }
@keyframes ob-rec { 50% { opacity: .3; } }
.va-card.locked .ob { filter: blur(3px) saturate(.5); opacity: .6; }
@media (prefers-reduced-motion: reduce) { .va-card:hover .ob-ind, .ob-rec { animation: none; } }
/* С обложкой номер урока — меткой в углу, а не плакатом поверх индикатора. */
.va-cover:has(.ob) .va-n { font-size: 15px; bottom: auto; top: 10px; left: auto; right: 58px; padding: 4px 8px; border-radius: 8px; background: rgba(0,0,0,.55); letter-spacing: 0; }
.ob-label { font-size: 15px; }

/* ── СТАТЬЯ КАК УРОК (владелец 06.10) ─────────────────────────────────────────────────── */
.va-article { --c1: #c27bff; }
.va-art-hero { position: relative; aspect-ratio: 16 / 6; overflow: hidden; display: flex; align-items: flex-end; }
.va-art-hero .ob { position: absolute; inset: 0; width: 100%; height: 100%; opacity: .75; }
.va-art-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 20%, #121316 96%); }
.va-art-hero > div { position: relative; z-index: 1; padding: 0 26px 6px; }
.va-art-hero small { font-size: 11px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--c1); }
.va-art-hero h2 { margin: 6px 0 0; font-size: clamp(22px, 3vw, 30px); line-height: 1.15; letter-spacing: -.02em; }
.va-lead { font-size: 18px !important; line-height: 1.55 !important; color: #fff !important; font-weight: 600; }
.va-article-body img { border-radius: 16px; margin: 4px 0 18px; }
.va-art-steps { list-style: none; margin: 4px 0 18px; padding: 0; display: grid; gap: 10px; }
.va-art-steps li { display: flex; gap: 12px; align-items: flex-start; padding: 12px 14px; border-radius: 14px; background: rgba(var(--t-text-rgb, 255,255,255), .04); box-shadow: inset 0 0 0 1px rgba(var(--t-text-rgb, 255,255,255), .07); opacity: 0; animation: va-up .45s cubic-bezier(.2,.8,.2,1) forwards; }
.va-art-steps i { flex: none; width: 26px; height: 26px; border-radius: 50%; display: grid; place-items: center; font-style: normal; font-weight: 900; font-size: 13px; color: #0b0c0e; background: var(--c1); }
.va-art-steps span { font-size: 15.5px; line-height: 1.55; white-space: pre-line; }
.va-key { margin: 8px 0 18px; padding: 16px 18px; border-radius: 16px; background: color-mix(in srgb, var(--c1) 12%, transparent); box-shadow: inset 3px 0 0 var(--c1); }
.va-key b { font-size: 11px; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; color: var(--c1); }
.va-key p { margin: 6px 0 0 !important; font-size: 16.5px !important; font-weight: 700; color: #fff !important; }
@keyframes va-up { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
@media (max-width: 640px) { .va-art-hero { aspect-ratio: 16 / 8; } .va-art-hero > div { padding: 0 18px 4px; } .va-lead { font-size: 16.5px !important; } }
@media (prefers-reduced-motion: reduce) { .va-art-steps li { animation: none; opacity: 1; } }
.va-art-step { display: flex; gap: 14px; margin: 6px 0 16px; padding: 16px; border-radius: 16px; background: rgba(255,255,255,.035); box-shadow: inset 0 0 0 1px rgba(var(--t-text-rgb, 255,255,255), .07); animation: va-up .45s cubic-bezier(.2,.8,.2,1) both; }
.va-art-step > i { flex: none; width: 34px; height: 34px; border-radius: 12px; display: grid; place-items: center; font-style: normal; font-weight: 900; color: #0b0c0e; background: var(--c1); }
.va-art-step b { display: block; margin-bottom: 6px; font-size: 17px; }
.va-art-step b::first-letter { text-transform: uppercase; }
.va-art-step p { margin: 0 0 8px !important; font-size: 15.5px !important; }
.va-alert { padding: 10px 14px; border-radius: 12px; font-weight: 900 !important; letter-spacing: .02em; color: #ffb3b0 !important; background: rgba(240,98,94,.12); box-shadow: inset 3px 0 0 #f0625e; }
.va-check { list-style: none; margin: 4px 0 18px; padding: 0; display: grid; gap: 8px; }
.va-check li { position: relative; padding: 12px 14px 12px 44px; border-radius: 14px; font-weight: 700; background: rgba(43,197,154,.08); box-shadow: inset 0 0 0 1px rgba(43,197,154,.25); opacity: 0; animation: va-up .45s cubic-bezier(.2,.8,.2,1) forwards; }
.va-check li::before { content: "✓"; position: absolute; left: 14px; top: 50%; translate: 0 -50%; width: 20px; height: 20px; border-radius: 50%; display: grid; place-items: center; font-size: 12px; font-weight: 900; color: #06110d; background: #2bc59a; }
@media (prefers-reduced-motion: reduce) { .va-check li, .va-art-step { animation: none; opacity: 1; } }
/* Карточка мастера пополнения: настоящий экран и метка «пошаговый мастер». */
.va-wizard .va-img { object-position: top; }
.va-wz-badge { position: absolute; left: 10px; bottom: 10px; padding: 6px 10px; border-radius: 999px; font: 700 11px/1 "Onest", sans-serif; letter-spacing: .06em; color: #04140e; background: #2fd39a; box-shadow: 0 8px 20px -8px #2fd39a; }
/* Урок-инфографика шире: три карточки шагов в ряд читаются без переносов по слову. */
.va-article:has(.ud) { width: min(900px, 100%); background: linear-gradient(180deg, var(--t-surface-2, #11141b), var(--t-surface, #08090c)); }
.va-art-hero h2 { font-family: "Unbounded", "Onest", sans-serif; font-weight: 700; }
.ob-label.ob-label-long { font-size: 10.5px; }
/* Содержание ролика с тайм-кодами (08.10): нажал — плеер перешёл к этому месту. */
.va-chapters { padding: 14px 18px 4px; color: #fff; background: linear-gradient(180deg, rgba(255,255,255,.04), transparent); max-height: 28vh; overflow-y: auto; }
.va-chapters small { font-size: 11px; font-weight: 800; letter-spacing: .16em; opacity: .55; }
.va-chapters ol { list-style: none; margin: 8px 0 6px; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 4px 14px; }
.va-chapters button { display: flex; align-items: baseline; gap: 10px; width: 100%; padding: 7px 10px; border: 0; border-radius: 10px; background: transparent; color: inherit; font: inherit; font-size: 13.5px; text-align: left; cursor: pointer; transition: background .2s; }
.va-chapters button:hover, .va-chapters button.on { background: rgba(255,255,255,.1); }
.va-chapters button.on i { color: var(--c1, #f2c14e); }
.va-chapters i { flex: none; min-width: 3.4em; font-style: normal; font-weight: 800; font-variant-numeric: tabular-nums; opacity: .7; }
.va-fmt { display: block; width: max-content; margin: 0 0 5px; font-style: normal; font-size: 10.5px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--c1, #f2c14e); }

/* Своё «на весь экран», когда браузер не даёт настоящего (встроенный браузер Telegram, 11.10). */
.va-embed.va-full { position: fixed !important; inset: 0; z-index: 200; width: 100vw; max-height: none; height: 100dvh;
  aspect-ratio: auto; background: #000; }
.va-full-x { position: absolute; top: max(10px, env(safe-area-inset-top, 0px)); right: 10px; z-index: 2; padding: 8px 12px;
  border-radius: 999px; border: 0; background: rgba(0, 0, 0, .6); color: #fff; font-weight: 700; font-size: 13px; }
.va-embed:fullscreen { max-height: none; aspect-ratio: auto; width: 100vw; height: 100vh; }

/* «5 ВИДЕО НА ВЫБОР» (Амир 17.10). Закрытое видео — строка с кнопкой «Открыть бесплатно · осталось N из 5»;
   после пяти — замок, строка «Бесплатные 5 видео выбраны…» и «Как открыть». Общие классы для тем и для пути. */
.va-r.va-r-free { cursor: default; }
.va-r.va-r-free:hover, .va-r.va-r-free:active { background: rgba(255,255,255,.035); }
.am-free-pick, .am-free-how {
  align-self: flex-start; display: inline-flex; align-items: center; min-height: 32px; margin-top: 6px; padding: 0 10px; max-width: 100%;
  border: 0; border-radius: 10px; cursor: pointer; font: inherit; font-size: 12px; line-height: 1.25; font-weight: 800; white-space: normal; text-align: left; padding-block: 6px;
  color: var(--v2-accent, var(--c1, #f2a65a)); background: color-mix(in srgb, var(--v2-accent, var(--c1, #f2a65a)) 12%, transparent);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--v2-accent, var(--c1, #f2a65a)) 45%, transparent);
}
.am-free-pick:hover { background: color-mix(in srgb, var(--v2-accent, var(--c1, #f2a65a)) 22%, transparent); }
.am-free-pick:disabled { opacity: .55; cursor: default; }
.am-free-how { color: inherit; background: rgba(255,255,255,.08); box-shadow: inset 0 0 0 1px rgba(255,255,255,.14); }
.am-free-pick:focus-visible, .am-free-how:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
.am-free-done { display: flex; flex-direction: column; gap: 2px; }
.am-free-done small { font-size: 12px; font-weight: 700; color: var(--v2-t3, rgba(255,255,255,.55)); }
/* «СТАРТ · 5 ВИДЕО БЕСПЛАТНО» (Амир 17.10). Язык — v2-* «Курса по шагам». Без анимаций и размытия. */
.v2-learn .sp { display: flex; flex-direction: column; gap: 10px; }
.v2-learn .sp-top { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; }
.v2-learn .sp h2 { margin: 0; font-size: 22px; line-height: 1.2; }
.v2-learn .sp-left { margin: 0; font-size: 13.5px; font-weight: 700; color: var(--v2-t2); }
.v2-learn .sp-switch { display: inline-flex; padding: 3px; gap: 3px; border-radius: 12px; background: var(--v2-panel2); box-shadow: inset 0 0 0 1px var(--v2-line); }
.v2-learn .sp-switch button { min-height: 34px; padding: 0 12px; border: 0; border-radius: 9px; cursor: pointer; font: 700 13px/1 var(--v2-ui); color: var(--v2-t2); background: transparent; }
.v2-learn .sp-switch button.on { color: var(--v2-accentink, #1a1408); background: var(--v2-accent); }
.v2-learn .sp-list { list-style: none; margin: 0; padding: 0; width: 100%; max-width: none; display: flex; flex-direction: column; gap: 4px; }
.v2-learn .sp-it {
  display: grid; grid-template-columns: 32px minmax(0, 1fr) 16px; gap: 12px; align-items: center; width: 100%;
  padding: 10px 12px; border: 0; border-radius: 14px; cursor: pointer; text-align: left; font-family: var(--v2-ui);
  color: var(--v2-t1); background: var(--v2-panel);
}
.v2-learn .sp-it:hover { background: var(--v2-panel2); }
.v2-learn .sp-it:disabled { cursor: progress; }
.v2-learn .sp-it > svg { width: 16px; height: 16px; color: var(--v2-accent); }
.v2-learn .sp-n { width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; font-size: 12px; font-weight: 800;
  color: var(--v2-accent); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--v2-accent) 45%, transparent); }
.v2-learn .sp-n svg { width: 15px; height: 15px; }
.v2-learn .sp-it.lock .sp-n { color: var(--v2-t3); box-shadow: inset 0 0 0 1px var(--v2-line2); }
.v2-learn .sp-it.done .sp-n { color: #0b1a14; background: var(--v2-bull); box-shadow: none; }
.v2-learn .sp-body { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.v2-learn .sp-body b { font-size: 14px; line-height: 1.3; font-weight: 700; overflow-wrap: anywhere; }
.v2-learn .sp-body small { font-size: 12px; color: var(--v2-t3); font-weight: 600; }
.v2-learn .sp-it.lock .sp-body small { color: var(--v2-accent); }
.v2-learn .sp-err { margin: 0; font-size: 13px; font-weight: 700; color: var(--v2-bear); }
.v2-learn .sp .v2-btn:focus-visible, .v2-learn .sp-it:focus-visible, .v2-learn .sp-switch button:focus-visible { outline: 2px solid var(--v2-accent); outline-offset: 2px; }
.v2-learn .sp-list li { max-width: none; }
/* ВИДЕО-ОБУЧЕНИЕ ПУТЁМ (08.10). Язык — тот же, что у «Курса по шагам» (v2-* из LearnLive.v2.css);
   здесь только своё: кадр ролика в «следующем уроке», цвет комнат, свёрнутые главы.
   Ни размытия, ни вечных анимаций, ни фильтров: замер 08.10 — лаги давал именно живой фон. */
.vp { display: flex; flex-direction: column; gap: 18px; }

/* Кадр ролика под крупным номером урока: картинка статична, затемнение — градиентом. */
.v2-learn .vp-cover { position: relative; overflow: hidden; isolation: isolate; }
.v2-learn .vp-cover > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; }
.v2-learn .vp-cover:has(> img)::before { content: ""; position: absolute; inset: 0; z-index: -1;
  background: linear-gradient(180deg, rgba(6, 7, 9, .55), rgba(6, 7, 9, .82)); }
.v2-learn .vp-cover:has(> img) > b, .v2-learn .vp-cover:has(> img) > span { color: #fff; text-shadow: 0 2px 18px rgba(0, 0, 0, .6); }
.v2-learn .vp-about { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

.v2-learn .vp-wizard .st { color: var(--room); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--room) 45%, transparent); }
.v2-learn .v2-ls.lock .st { color: var(--v2-t3); background: rgba(255, 255, 255, .05); box-shadow: none; }
.v2-learn .v2-ls.lock b { color: var(--v2-t3); }
.v2-learn .v2-ls .st > b { font-size: 11px; font-weight: 900; letter-spacing: -.02em; }

/* Разделы «Материал комнат» и «Дополнительно». */
.vp-sec { display: flex; flex-direction: column; gap: 10px; }
.vp-sec-h { display: flex; flex-direction: column; gap: 4px; padding: 6px 2px 2px; }
.vp-sec-h h2 { margin: 0; font-size: 20px; line-height: 1.2; letter-spacing: -.01em; color: var(--v2-t1); }
.vp-sec-h p { margin: 0; font-size: 13px; line-height: 1.5; color: var(--v2-t2); max-width: 60ch; }
.vp-legend { display: flex; flex-wrap: wrap; gap: 6px 14px; margin-top: 6px; }
.vp-legend span { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 700; color: var(--v2-t2); }
.vp-legend i { width: 9px; height: 9px; border-radius: 50%; background: var(--room); }

/* Комната: полоса своего цвета слева, заголовок-переключатель, внутри — главы как в пути. */
.vp-room { border-radius: 18px; background: var(--v2-panel, rgba(255, 255, 255, .03));
  box-shadow: inset 0 0 0 1px var(--v2-line, rgba(255, 255, 255, .08)), inset 3px 0 0 var(--room, transparent); overflow: hidden; }
.vp-room > summary { list-style: none; display: flex; align-items: center; gap: 12px; padding: 14px 16px; cursor: pointer; }
.vp-room > summary::-webkit-details-marker { display: none; }
.vp-room > summary > svg { width: 16px; height: 16px; flex: none; color: var(--v2-t3); transition: transform .2s; }
.vp-room[open] > summary > svg { transform: rotate(90deg); }
.vp-room.locked > summary > svg { transform: none; }
.vp-room-dot { width: 12px; height: 12px; flex: none; border-radius: 50%; background: var(--room);
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--room) 18%, transparent); }
.vp-room-t { display: flex; flex-direction: column; gap: 2px; flex: 1; min-width: 0; }
.vp-room-t b { font-size: 16px; color: var(--v2-t1); }
.vp-room-t small { font-size: 12px; font-weight: 600; color: var(--v2-t3); }
.vp-room:not(.locked) .vp-room-t small { color: color-mix(in srgb, var(--room) 80%, var(--v2-t2)); }
.vp-room-body { display: flex; flex-direction: column; gap: 14px; padding: 0 10px 14px; }
.vp-room-body .v2-ls.done .st { background: var(--v2-bull); }
.vp-room-body .v2-rail-h .v2-eyebrow { color: color-mix(in srgb, var(--room) 75%, var(--v2-t2)); }
.vp-room.locked { opacity: .92; }
.vp-room-closed { gap: 12px; padding: 0 16px 16px; }
.vp-room-closed ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.vp-room-closed li { display: flex; justify-content: space-between; gap: 10px; font-size: 13.5px; color: var(--v2-t2); }
.vp-room-closed li em { font-style: normal; color: var(--v2-t3); font-weight: 700; }
.vp-room-closed .v2-btn { align-self: flex-start; color: #0b0c0e; background: var(--room); }
.vp-ex { --room: rgba(255, 255, 255, .18); }
.vp-ex .vp-room-t b { font-size: 15px; }

/* Строка пути с кнопкой бесплатного выбора (17.10): не кнопка целиком, у неё своя кнопка внутри. */
.v2-learn .v2-ls.vp-free { cursor: default; grid-template-columns: 32px minmax(0, 1fr); }
.v2-learn .v2-ls.vp-free:hover { background: transparent; }
.v2-learn .vp-room-how { align-self: flex-start; margin: 0 12px 6px; color: #0b0c0e; background: var(--room); }
/* УРОКИ-СТОРИС (06.10) — тот же язык, что в бесплатном боте: чёрный экран, полоски прогресса,
   картинка в центре, одна мысль крупно, подсказка мельче. */
.sty-tiles { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px; }
.sty-tile { position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 4px; min-height: 120px; padding: 14px; border: 0; border-radius: 18px; cursor: pointer; text-align: left; font: inherit; color: #fff;
  background: radial-gradient(120% 90% at 100% 0%, color-mix(in srgb, var(--g) 55%, transparent), transparent 65%), linear-gradient(160deg, color-mix(in srgb, var(--g) 30%, #0b0d10), #0b0d10);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--g) 35%, transparent); opacity: 0; animation: sty-in .45s cubic-bezier(.2,.8,.2,1) forwards; transition: transform .22s; }
.sty-tile:hover { transform: translateY(-3px) scale(1.02); }
.sty-ic { font-size: 28px; line-height: 1; margin-bottom: auto; }
.sty-tile b { font-size: 15px; line-height: 1.25; }
.sty-tile small { font-size: 12px; opacity: .75; }
.sty-ok { position: absolute; top: 10px; right: 10px; width: 22px; height: 22px; border-radius: 50%; display: grid; place-items: center; font-size: 12px; font-weight: 900; color: #0b0d10; background: #2bc59a; }

/* Слой 120 — над нижним меню (100): ниже него меню закрывало кнопки окна, в мастере пополнения — «Шаг выполнен» (тестер 11.10). */
.sty { position: fixed; inset: 0; z-index: 120; background: #050607; color: #fff; display: flex; justify-content: center; }
.sty-in { width: 100%; max-width: 460px; display: flex; flex-direction: column; padding: calc(12px + env(safe-area-inset-top)) 16px calc(18px + env(safe-area-inset-bottom)); }
.sty-bars { display: flex; gap: 4px; }
.sty-bars i { flex: 1; height: 3px; border-radius: 2px; background: rgba(255,255,255,.18); overflow: hidden; }
.sty-bars i b { display: block; height: 100%; width: 0; background: #fff; }
.sty-bars i.done b { width: 100%; }
.sty-bars i.cur b { animation: sty-bar var(--d, 6s) linear forwards; }
.sty.paused .sty-bars i.cur b { animation-play-state: paused; }
@keyframes sty-bar { to { width: 100%; } }
.sty-head { display: flex; align-items: center; justify-content: space-between; margin: 12px 0 4px; }
.sty-head b { font-size: 15px; font-weight: 800; }
.sty-head button { width: 34px; height: 34px; border: 0; border-radius: 50%; color: #fff; background: rgba(255,255,255,.08); cursor: pointer; }
.sty-vis { flex: 1; min-height: 0; position: relative; display: flex; align-items: center; justify-content: center; animation: sty-pop .45s cubic-bezier(.2,.8,.2,1); }
.sty-tap { position: absolute; top: 0; bottom: 0; width: 38%; z-index: 2; border: 0; background: none; cursor: pointer; }
.sty-tap.l { left: 0; } .sty-tap.r { right: 0; }
.sty-txt { margin: 10px 4px 6px; text-align: center; font-size: 19px; font-weight: 700; line-height: 1.35; animation: sty-up .5s .1s both; }
.sty-txt small { display: block; margin-top: 8px; font-size: 14px; font-weight: 500; line-height: 1.45; color: rgba(255,255,255,.7); }
.sty-cta { display: flex; gap: 8px; margin-top: 10px; }
.sty-cta button { flex: 1; padding: 14px; border: 0; border-radius: 16px; cursor: pointer; font: inherit; font-size: 14px; font-weight: 800; color: #fff; background: linear-gradient(135deg, var(--g, #6D3BFF), #00B8FF); }
.sty-cta button.g { background: rgba(255,255,255,.08); }
.sty-cta button:disabled { opacity: .4; cursor: not-allowed; }
@keyframes sty-in { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
@keyframes sty-pop { from { opacity: 0; transform: scale(.96); } to { opacity: 1; transform: none; } }
@keyframes sty-up { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }

/* Картинки уроков. Каждая деталь появляется по очереди (animation-delay), как в боте. */
.sv-phone { width: 250px; padding: 16px 12px; border-radius: 28px; background: #12151a; box-shadow: inset 0 0 0 2px rgba(255,255,255,.08); display: flex; flex-direction: column; gap: 10px; }
.sv-bub, .sv-btn, .sv-search { opacity: 0; animation: sty-up .45s forwards; }
.sv-bub { align-self: flex-start; max-width: 90%; padding: 10px 12px; border-radius: 14px 14px 14px 4px; font-size: 13.5px; line-height: 1.45; background: #1d2229; }
.sv-bub.me { align-self: flex-end; border-radius: 14px 14px 4px 14px; background: color-mix(in srgb, var(--g) 45%, #1d2229); }
.sv-btn { padding: 11px; border-radius: 12px; text-align: center; font-size: 13px; font-weight: 800; background: linear-gradient(135deg, var(--g, #6D3BFF), #00B8FF); }
.sv-search { padding: 9px 12px; border-radius: 10px; background: #1d2229; font-size: 13.5px; }
.sv-pk { width: 260px; padding: 12px; border-radius: 20px; background: #1b1f2b; display: flex; flex-direction: column; gap: 8px; font-size: 13px; }
.sv-pk-pair { align-self: flex-start; padding: 6px 10px; border-radius: 8px; background: #262c3b; font-weight: 800; }
.sv-pk-chart svg { width: 100%; height: 70px; }
.sv-pk-chart path { fill: none; stroke: #3fd68f; stroke-width: 2; stroke-dasharray: 400; stroke-dashoffset: 400; animation: sv-draw 1.6s .2s forwards; }
@keyframes sv-draw { to { stroke-dashoffset: 0; } }
.sv-pk-row { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.sv-pk-f { padding: 7px 10px; border-radius: 8px; background: #262c3b; }
.sv-pk-f small { display: block; font-size: 10.5px; opacity: .6; }
.sv-pk-buy, .sv-pk-sell { padding: 11px; border-radius: 10px; text-align: center; font-weight: 900; }
.sv-pk-buy { background: #1f9d6b; } .sv-pk-sell { background: #c9434b; }
.sv-pk .hl { box-shadow: 0 0 0 2px #f4c95d, 0 0 18px rgba(244,201,93,.55); animation: sv-hl 1.4s .4s ease-in-out infinite; }
@keyframes sv-hl { 50% { box-shadow: 0 0 0 2px #f4c95d, 0 0 28px rgba(244,201,93,.85); } }
.sv-pk .tap { animation: sv-tap .5s 1.2s both; }
@keyframes sv-tap { 50% { transform: scale(.92); } }
.sv-mist { width: 280px; padding: 18px; border-radius: 20px; background: #12151a; display: flex; flex-direction: column; gap: 12px; }
.sv-mist i { width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; font-style: normal; font-weight: 900; background: #FF5B60; }
.sv-mist-bad, .sv-mist-good { padding: 12px; border-radius: 12px; font-size: 14px; line-height: 1.4; opacity: 0; animation: sty-up .45s forwards; }
.sv-mist-bad { background: rgba(255,91,96,.14); color: #ffb3b5; animation-delay: .3s; }
.sv-mist-good { background: rgba(43,197,154,.14); color: #9ff0d3; animation-delay: 1.1s; }
.sv-lad { width: 280px; display: flex; flex-direction: column; gap: 10px; }
.sv-lad-s { display: flex; justify-content: space-between; align-items: center; padding: 14px 16px; border-radius: 14px; opacity: 0; animation: sty-up .45s forwards; }
.sv-lad-s.w { background: rgba(43,197,154,.16); } .sv-lad-s.l { background: rgba(255,91,96,.14); }
.sv-lad-s small { font-size: 12.5px; opacity: .8; } .sv-lad-s b { font-size: 16px; }
.sv-lad-stop { padding: 12px; border-radius: 12px; text-align: center; font-weight: 900; letter-spacing: .06em; background: #FF5B60; opacity: 0; animation: sty-pop .4s forwards; }
.sv-calc { width: 290px; display: flex; flex-direction: column; gap: 12px; }
.sv-calc label { display: flex; flex-direction: column; gap: 6px; font-size: 13px; opacity: .85; }
.sv-calc input { padding: 12px; border: 0; border-radius: 12px; font: inherit; font-size: 20px; font-weight: 800; color: #fff; background: #1d2229; position: relative; z-index: 3; }
.sv-calc-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.sv-calc-row div { padding: 10px; border-radius: 12px; text-align: center; background: rgba(43,197,154,.12); }
.sv-calc-row small { display: block; font-size: 11px; opacity: .7; } .sv-calc-row b { display: block; font-size: 18px; } .sv-calc-row em { font-style: normal; font-size: 11px; opacity: .6; }
.sv-calc p { margin: 0; font-size: 12.5px; opacity: .75; }
.sv-chk { width: 280px; display: flex; flex-direction: column; gap: 8px; }
.sv-chk div { display: flex; gap: 10px; align-items: center; padding: 12px; border-radius: 12px; background: #12151a; font-size: 14px; opacity: 0; animation: sty-up .45s forwards; }
.sv-chk i { flex: none; width: 22px; height: 22px; border-radius: 50%; display: grid; place-items: center; font-style: normal; font-size: 12px; font-weight: 900; color: #0b0d10; background: #9B7BFF; }
@media (prefers-reduced-motion: reduce) { .sty-tile, .sv-bub, .sv-btn, .sv-search, .sv-mist-bad, .sv-mist-good, .sv-lad-s, .sv-lad-stop, .sv-chk div { animation: none; opacity: 1; } }

/* АНИМАЦИИ ПОСИЛЬНЕЕ (06.10, владелец: «чтобы ебало валилось»). Сияние в цвете урока за
   плеером, слайд въезжает из размытия, плитки ловят блик и светятся при наведении. */
.sty::before, .sty::after { content: ""; position: absolute; width: 70vmax; height: 70vmax; border-radius: 50%; pointer-events: none; filter: blur(60px); opacity: .35; }
.sty::before { left: -25vmax; top: -30vmax; background: radial-gradient(circle, var(--g), transparent 60%); animation: sty-aur1 14s ease-in-out infinite alternate; }
.sty::after { right: -30vmax; bottom: -35vmax; background: radial-gradient(circle, #00b8ff, transparent 60%); animation: sty-aur2 17s ease-in-out infinite alternate; }
.sty-in { position: relative; z-index: 1; }
.sty-vis { animation: sty-blurin .55s cubic-bezier(.2,.8,.2,1); }
@keyframes sty-blurin { from { opacity: 0; transform: scale(.92) translateY(10px); filter: blur(10px); } to { opacity: 1; transform: none; filter: none; } }
@keyframes sty-aur1 { to { transform: translate(18vmax, 12vmax) scale(1.2); } }
@keyframes sty-aur2 { to { transform: translate(-16vmax, -10vmax) scale(1.15); } }
.sty-tile { overflow: hidden; }
.sty-tile::after { content: ""; position: absolute; inset: 0; background: linear-gradient(115deg, transparent 30%, rgba(255,255,255,.22) 48%, transparent 66%); transform: translateX(-120%); transition: transform .7s cubic-bezier(.2,.8,.2,1); }
.sty-tile:hover::after { transform: translateX(120%); }
.sty-tile:hover { box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--g) 70%, transparent), 0 18px 40px -12px color-mix(in srgb, var(--g) 70%, transparent); }
.sty-ic { transition: transform .3s cubic-bezier(.2,.8,.2,1); }
.sty-tile:hover .sty-ic { transform: scale(1.18) rotate(-6deg); }
@media (prefers-reduced-motion: reduce) { .sty::before, .sty::after, .sty-vis { animation: none; } .sty-tile::after { display: none; } }

/* Фото-сторис (история Амира, 20.10): кадр на весь экран, полоски и текст поверх. */
.sty-photo .sty-in { position: relative; padding: 0; }
.sty-photo .sty-vis { position: absolute; inset: 0; }
.sty-photo .sty-vis img.sty-ph { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; }
.sty-photo .sty-vis::after { content: ""; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(180deg, rgba(0,0,0,.55), transparent 22%, transparent 48%, rgba(0,0,0,.88)); }
.sty-photo .sty-bars, .sty-photo .sty-head { position: relative; z-index: 3; margin-left: 12px; margin-right: 12px; }
.sty-photo .sty-bars { margin-top: calc(12px + env(safe-area-inset-top)); }
.sty-photo .sty-txt { display: flex; flex-direction: column; position: absolute; z-index: 3; left: 0; right: 0; bottom: calc(86px + env(safe-area-inset-bottom)); padding: 0 20px;
  font-size: 19px; line-height: 1.4; font-weight: 600; text-shadow: 0 2px 12px rgba(0,0,0,.6); }
.sty-photo .sty-txt small { display: block; margin-bottom: 6px; order: -1; font-size: 12px; font-weight: 700; letter-spacing: .12em;
  text-transform: uppercase; opacity: .8; }
.sty-photo .sty-cta { position: absolute; z-index: 4; left: 16px; right: 16px; bottom: calc(18px + env(safe-area-inset-bottom)); }
/* Титр серии и медленный наезд (история Амира) */
.am-title { position: absolute; inset: 0; display: grid; place-content: center; text-align: center; gap: 10px; background: #000; padding: 24px; }
.am-title small { font-size: 13px; letter-spacing: .32em; text-transform: uppercase; color: rgba(255,255,255,.6); animation: am-in 1s ease both; }
.am-title b { font-size: clamp(30px, 8vw, 44px); line-height: 1.1; font-weight: 800; animation: am-in 1.2s .25s ease both; }
@keyframes am-in { from { opacity: 0; transform: translateY(10px); letter-spacing: .04em; } to { opacity: 1; transform: none; } }
.sty-photo .sty-vis img.am-kb { animation: am-kb var(--d, 6.5s) ease-out both; transform-origin: 50% 40%; }
@keyframes am-kb { from { transform: scale(1.0); } to { transform: scale(1.09); } }
.sty-photo.paused .sty-vis img.am-kb { animation-play-state: paused; }
@media (prefers-reduced-motion: reduce) { .sty-photo .sty-vis img.am-kb, .am-title * { animation: none !important; } }
/* Любое фото целиком: сам кадр без обрезки, под ним — размытая копия на весь экран */
.sty-photo .sty-vis img.am-bg { position: absolute; inset: -40px; width: calc(100% + 80px); height: calc(100% + 80px); max-width: none;
  object-fit: cover; filter: blur(28px) brightness(.55); }
.sty-photo .sty-vis img.sty-ph.am-kb { object-fit: contain; }

/* В сериале --g — целый градиент, а не цвет: главная кнопка — белая, «Готово» — тихая */
.sty-photo .sty-cta button:not(.g) { flex: 2; background: #fff; color: #0b0d10; }
.sty-photo .sty-cta button.g { background: rgba(255,255,255,.14); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); }
/* ПОИСК ПО ОБУЧЕНИЮ (11.10). Цвета — из темы мира. */
.ls-search { display: grid; gap: 10px; margin: 0 0 14px; }
.ls-search-box { display: flex; align-items: center; gap: 10px; padding: 12px 14px; border-radius: 16px;
  background: rgba(var(--t-text-rgb, 255, 255, 255), .05); border: 1px solid rgba(var(--t-text-rgb, 255, 255, 255), .1); }
.ls-search-box:focus-within { border-color: var(--t-accent, #f2c14e); box-shadow: 0 0 0 3px rgba(var(--t-accent-rgb, 242, 193, 78), .18); }
.ls-search-box input { flex: 1; min-width: 0; border: 0; outline: 0; background: transparent; color: var(--t-text, #fff);
  font: inherit; font-size: 16px; }
.ls-search-box input::placeholder { color: var(--t-muted, rgba(255, 255, 255, .45)); }
.ls-search-box button { border: 0; background: transparent; color: var(--t-muted, #999); font-size: 15px; cursor: pointer; padding: 2px 4px; }
.ls-search-res { display: grid; gap: 8px; }
.ls-search-note { margin: 2px 4px; color: var(--t-muted, #9a9a9a); font-size: 13.5px; }
.ls-hit { display: grid; grid-template-columns: 34px 1fr; gap: 10px; align-items: start; text-align: left; width: 100%;
  padding: 12px; border-radius: 14px; cursor: pointer; color: var(--t-text, #fff);
  background: rgba(var(--t-text-rgb, 255, 255, 255), .04); border: 1px solid rgba(var(--t-text-rgb, 255, 255, 255), .08); }
.ls-hit:hover { border-color: rgba(var(--t-accent-rgb, 242, 193, 78), .5); }
.ls-hit > i { font-style: normal; width: 34px; height: 34px; border-radius: 10px; display: grid; place-items: center;
  background: rgba(var(--t-accent-rgb, 242, 193, 78), .16); color: var(--t-accent, #f2c14e); font-size: 15px; }
.ls-hit > span { display: grid; gap: 3px; min-width: 0; }
.ls-hit small { font-size: 11.5px; letter-spacing: .03em; color: var(--t-accent, #f2c14e); font-weight: 700; }
.ls-hit b { font-size: 14.5px; line-height: 1.3; }
.ls-hit em { font-style: normal; font-size: 13px; line-height: 1.4; color: var(--t-muted, rgba(255, 255, 255, .65)); }
.ls-hit mark { background: rgba(var(--t-accent-rgb, 242, 193, 78), .28); color: inherit; border-radius: 3px; padding: 0 1px; }
.ls-hit.locked { opacity: .7; }
.ls-search-box input::-webkit-search-cancel-button { display: none; }   /* свой крестик уже есть — второй, браузерный, путал */
.ls-search-retry { border: 0; background: none; padding: 0; cursor: pointer; color: var(--t-accent, #55f2b2); font: inherit; font-weight: 700; text-decoration: underline; }
/* «ОБУЧЕНИЕ» — ВИД v2 (утверждён владельцем 03.10).
   Эталон: amir-markets/design/koncept-gold-2026-10-03.html, язык — amir-markets/design/SPEC-v2.md.
   Всё здесь живёт под корнем `.v2-learn`: общие файлы src/styles/* не трогаются, наружу ничего
   не протекает. Общие компоненты, которые урок переиспользует (сценарий шагов, разговор под
   уроком, схемы), перекрашиваются отсюда же; там, где у общего правила стоит `:not(#am-…)`,
   у нашего стоит `:not(#v2)` — иначе вес правила меньше и перекраска молча не срабатывает.
   Без украшений: ни звёзд, ни рамок-завитков, ни текстур, ни золотого градиента на тексте. */

.v2-learn {
  --v2-bg: #07080A; --v2-bg2: #0B0D10;
  --v2-panel: rgba(255, 255, 255, .028); --v2-panel2: rgba(255, 255, 255, .045);
  --v2-line: rgba(255, 255, 255, .075); --v2-line2: rgba(255, 255, 255, .12);
  --v2-t1: #F3F0E9; --v2-t2: #ABA69C; --v2-t3: #6F6A61;
  --v2-gold: #D9B66E; --v2-gold2: #F2DCA6; --v2-golddeep: #8E6D2F; --v2-goldline: rgba(217, 182, 110, .32);
  --v2-bull: #2BC59A; --v2-bear: #F0625E;
  --v2-ui: "Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;
  --v2-num: "JetBrains Mono", ui-monospace, Menlo, monospace;
  /* Акцент — через переменные: на других ступенях подставится цвет ступени. */
  --v2-accent: var(--v2-gold); --v2-accent2: var(--v2-gold2);
  --v2-accentdeep: var(--v2-golddeep); --v2-accentline: var(--v2-goldline);
  /* Подложка карточек: фон страницы (--v2-bg) почти непрозрачным слоем. Кабинет рисует под
     экраном свой фон; без подложки он просвечивал сквозь стекло карточек и спорил с текстом. */
  --v2-surface: rgba(7, 8, 10, .86);
  --v2-glass: linear-gradient(var(--v2-panel), var(--v2-panel)), var(--v2-surface);

  display: flex; flex-direction: column; gap: 22px;
  color: var(--v2-t1); font-family: var(--v2-ui);
  -webkit-font-smoothing: antialiased;
}
.v2-learn [hidden] { display: none !important; }
.v2-learn *, .v2-learn *::before, .v2-learn *::after { box-sizing: border-box; }
.v2-learn .v2-num { font-family: var(--v2-num); font-variant-numeric: tabular-nums; }
.v2-learn svg { flex: none; }

/* ── общие детали языка ─────────────────────────────────────────────────────────── */
.v2-learn .v2-eyebrow {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 11px; line-height: 1.3; letter-spacing: .16em; text-transform: uppercase;
  font-weight: 800; color: var(--v2-t3);
}
.v2-learn .v2-eyebrow svg { width: 13px; height: 13px; }
.v2-learn .v2-accent { color: var(--v2-accent); }
.v2-learn .v2-card {
  background: var(--v2-glass); box-shadow: inset 0 0 0 1px var(--v2-line);
  border-radius: 18px; padding: 20px; min-width: 0;
}
.v2-learn .v2-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  height: 48px; padding: 0 22px; border-radius: 14px; border: 0; cursor: pointer;
  font: 800 15px/1 var(--v2-ui); white-space: nowrap; text-decoration: none;
  max-width: 100%; min-width: 0;
}
.v2-learn .v2-btn svg { width: 17px; height: 17px; }
.v2-learn .v2-btn .v2-btn-txt { overflow: hidden; text-overflow: ellipsis; min-width: 0; }
.v2-learn .v2-btn.gold {
  color: var(--v2-accentink, #1a1408); background: linear-gradient(180deg, var(--v2-accenttop, #F4DFA9), var(--v2-accent));
  box-shadow: 0 10px 30px -12px color-mix(in srgb, var(--v2-accent) 55%, transparent), inset 0 1px 0 rgba(255, 255, 255, .55);
}
.v2-learn .v2-btn.ghost { color: var(--v2-t1); background: var(--v2-panel2); box-shadow: inset 0 0 0 1px var(--v2-line2); }
.v2-learn .v2-btn.sm { height: 38px; padding: 0 14px; font-size: 14px; border-radius: 11px; }
.v2-learn .v2-btn.wide { width: 100%; }
.v2-learn .v2-btn:disabled { opacity: .55; cursor: default; }
.v2-learn .v2-btn:focus-visible, .v2-learn .v2-ls:focus-visible, .v2-learn .v2-tile:focus-visible,
.v2-learn .v2-sc:focus-visible, .v2-learn .v2-chip:focus-visible, .v2-learn .v2-toc button:focus-visible {
  outline: 2px solid var(--v2-accent2); outline-offset: 2px;
}
@media (prefers-reduced-motion: no-preference) {
  .v2-learn .v2-btn.gold { transition: transform .15s ease; }
  .v2-learn .v2-btn.gold:hover:not(:disabled) { transform: translateY(-1px); }
  .v2-learn .v2-bar > i { transition: width .5s ease; }
}

/* ── заголовок экрана ───────────────────────────────────────────────────────────── */
.v2-learn .v2-head { display: flex; flex-direction: column; gap: 6px; }
.v2-learn .v2-head h1 {
  margin: 0; font-size: 30px; line-height: 1.1; font-weight: 800; letter-spacing: -.025em; color: var(--v2-t1);
}
.v2-learn .v2-head p { margin: 0; font-size: 14px; line-height: 1.5; color: var(--v2-t2); max-width: 62ch; }

/* ── прогресс ───────────────────────────────────────────────────────────────────── */
.v2-learn .v2-prog { display: flex; align-items: center; gap: 22px; }
.v2-learn .v2-prog-num { display: flex; flex-direction: column; gap: 8px; flex: none; }
.v2-learn .v2-prog-num b { font-size: 40px; line-height: 1.05; font-weight: 700; letter-spacing: -.03em; color: var(--v2-t1); }
.v2-learn .v2-bar { flex: 1; min-width: 80px; height: 6px; border-radius: 99px; background: rgba(255, 255, 255, .07); overflow: hidden; }
.v2-learn .v2-bar > i {
  display: block; height: 100%; border-radius: 99px;
  background: linear-gradient(90deg, var(--v2-accentdeep), var(--v2-accent2));
}
.v2-learn .v2-prog-nx { margin: 0; flex: 0 1 260px; font-size: 13px; line-height: 1.45; color: var(--v2-t2); }
.v2-learn .v2-prog-nx .v2-num { color: var(--v2-t1); }

/* ── путь: список слева, текущий урок справа ───────────────────────────────────── */
.v2-learn .v2-path {
  display: grid; grid-template-columns: minmax(260px, 320px) minmax(0, 1fr); gap: 18px; align-items: start;
}
.v2-learn .v2-path > .v2-cur { grid-column: 2; grid-row: 1; position: sticky; top: 20px; }
.v2-learn .v2-path > .v2-rail { grid-column: 1; grid-row: 1; }

.v2-learn .v2-rail {
  display: flex; flex-direction: column; gap: 18px; min-width: 0;
  padding: 16px 8px 10px; border-radius: 18px; background: var(--v2-glass); box-shadow: inset 0 0 0 1px var(--v2-line);
}
.v2-learn .v2-rail-mod { display: flex; flex-direction: column; gap: 4px; }
.v2-learn .v2-rail-h {
  display: flex; align-items: baseline; justify-content: space-between; gap: 10px; padding: 0 12px 4px;
}
.v2-learn .v2-rail-h .v2-eyebrow { min-width: 0; }
.v2-learn .v2-rail-h em { font-style: normal; font-size: 11.5px; font-weight: 700; color: var(--v2-t3); flex: none; }

.v2-learn .v2-ls {
  display: grid; grid-template-columns: 32px minmax(0, 1fr) 16px; gap: 12px; align-items: center;
  width: 100%; padding: 10px 12px; border: 0; border-radius: 14px; background: transparent;
  color: var(--v2-t1); text-align: left; cursor: pointer; font-family: var(--v2-ui);
}
.v2-learn .v2-ls:hover { background: var(--v2-panel); }
.v2-learn .v2-ls .st {
  width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center;
  font-size: 12px; font-weight: 700; color: var(--v2-t3); box-shadow: inset 0 0 0 1px var(--v2-line2);
}
.v2-learn .v2-ls .st svg { width: 15px; height: 15px; }
.v2-learn .v2-ls .body { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.v2-learn .v2-ls b { font-size: 14px; line-height: 1.3; font-weight: 700; overflow-wrap: anywhere; }
.v2-learn .v2-ls small { font-size: 12px; color: var(--v2-t3); font-weight: 600; }
.v2-learn .v2-ls > svg { width: 16px; height: 16px; color: var(--v2-t3); opacity: .7; }
.v2-learn .v2-ls.done .st { color: #0b1a14; background: var(--v2-bull); box-shadow: none; }
.v2-learn .v2-ls.done b { color: var(--v2-t2); }
.v2-learn .v2-ls.now { background: var(--v2-panel2); box-shadow: inset 0 0 0 1px var(--v2-accentline); }
.v2-learn .v2-ls.now .st { color: var(--v2-accentink, #1a1408); background: var(--v2-accent); box-shadow: none; }
.v2-learn .v2-ls.now small { color: var(--v2-accent2); }
.v2-learn .v2-ls.ahead b { color: var(--v2-t2); }

/* Карточка текущего урока: слева «обложка» с номером и точками пути, справа текст и кнопка. */
.v2-learn .v2-cur {
  padding: 0; overflow: hidden; display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  background: linear-gradient(180deg, color-mix(in srgb, var(--v2-accent) 7%, transparent), transparent 70%), var(--v2-glass);
  box-shadow: inset 0 0 0 1px var(--v2-line), inset 0 1px 0 var(--v2-accentline);
  border-radius: 20px;
}
.v2-learn .v2-cur-cover {
  position: relative; min-height: 280px; padding: 24px;
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px;
  background: radial-gradient(400px 220px at 50% 55%, color-mix(in srgb, var(--v2-accent) 10%, transparent), transparent 70%),
              linear-gradient(180deg, #0f1115, #0a0b0e);
  box-shadow: inset -1px 0 0 var(--v2-line);
}
.v2-learn .v2-cur-cover > b {
  font-size: 84px; line-height: 1; font-weight: 700; letter-spacing: -.04em; color: var(--v2-t1);
}
.v2-learn .v2-cur-cover > b.v2-cur-tick {
  width: 84px; height: 84px; border-radius: 50%; display: grid; place-items: center;
  background: rgba(43, 197, 154, .14); box-shadow: inset 0 0 0 1px rgba(43, 197, 154, .35); color: var(--v2-bull);
}
.v2-learn .v2-cur-cover > b.v2-cur-tick svg { width: 38px; height: 38px; }
.v2-learn .v2-cur-cover > span { font-size: 12px; color: var(--v2-t2); letter-spacing: .04em; }
.v2-learn .v2-cur-dots {
  position: absolute; left: 20px; right: 20px; bottom: 18px; display: flex; gap: 4px;
}
.v2-learn .v2-cur-dots i { flex: 1; height: 3px; border-radius: 9px; background: rgba(255, 255, 255, .08); }
.v2-learn .v2-cur-dots i.f { background: var(--v2-bull); opacity: .8; }
.v2-learn .v2-cur-dots i.n { background: var(--v2-accent); }
.v2-learn .v2-cur-txt { padding: 26px; display: flex; flex-direction: column; align-items: flex-start; gap: 12px; min-width: 0; }
.v2-learn .v2-cur-txt h2 {
  margin: 0; font-size: 28px; line-height: 1.12; font-weight: 800; letter-spacing: -.025em;
  color: var(--v2-t1); text-wrap: balance; overflow-wrap: anywhere;
}
.v2-learn .v2-cur-txt p { margin: 0; font-size: 14px; line-height: 1.6; color: var(--v2-t2); max-width: 46ch; }
.v2-learn .v2-facts { display: flex; flex-wrap: wrap; gap: 6px 16px; font-size: 12.5px; color: var(--v2-t2); font-weight: 700; }
.v2-learn .v2-facts .v2-num { color: var(--v2-t1); }
.v2-learn .v2-cur-txt .v2-btn { margin-top: auto; }

/* ── полки ниже пути ────────────────────────────────────────────────────────────── */
.v2-learn .v2-sec { display: flex; flex-direction: column; gap: 12px; margin-top: 10px; }
.v2-learn .v2-sec-h { display: flex; flex-direction: column; gap: 4px; }
.v2-learn .v2-sec-h h2 { margin: 0; font-size: 20px; line-height: 1.2; font-weight: 800; letter-spacing: -.02em; color: var(--v2-t1); }
.v2-learn .v2-sec-h p { margin: 0; font-size: 13.5px; line-height: 1.5; color: var(--v2-t3); }

.v2-learn .v2-tiles { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 12px; }
.v2-learn .v2-tile {
  display: flex; flex-direction: column; align-items: flex-start; gap: 10px; min-width: 0;
  padding: 16px; border: 0; border-radius: 16px; text-align: left; cursor: pointer;
  background: var(--v2-glass); box-shadow: inset 0 0 0 1px var(--v2-line); color: var(--v2-t1); font-family: var(--v2-ui);
}
.v2-learn .v2-tile:hover { background: var(--v2-panel2); }
.v2-learn .v2-tile b { font-size: 15px; line-height: 1.3; font-weight: 700; overflow-wrap: anywhere; }
.v2-learn .v2-tile.done .v2-eyebrow { color: var(--v2-bull); }
.v2-learn .v2-tile-go { margin-top: auto; display: inline-flex; align-items: center; gap: 6px; font-size: 12.5px; font-weight: 700; color: var(--v2-t2); white-space: nowrap; }
.v2-learn .v2-tile-go svg { width: 14px; height: 14px; }

/* Стратегии: четыре карточки в ряд, выбранная — с кромкой акцента. */
.v2-learn .v2-strats { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 12px; }
.v2-learn .v2-sc {
  display: flex; flex-direction: column; align-items: flex-start; gap: 6px; min-width: 0;
  padding: 16px; border: 0; border-radius: 16px; text-align: left; cursor: pointer; font-family: var(--v2-ui);
  background: var(--v2-glass); box-shadow: inset 0 0 0 1px var(--v2-line); color: var(--v2-t1);
}
.v2-learn .v2-sc b { font-size: 15px; font-weight: 800; line-height: 1.25; overflow-wrap: anywhere; }
.v2-learn .v2-sc span { font-size: 12.5px; color: var(--v2-t2); font-weight: 600; line-height: 1.4; }
.v2-learn .v2-sc.on {
  background: linear-gradient(180deg, color-mix(in srgb, var(--v2-accent) 6%, transparent), transparent), var(--v2-glass);
  box-shadow: inset 0 0 0 1px var(--v2-accentline);
}
.v2-learn .v2-sc .v2-sc-exp { margin-top: auto; padding-top: 4px; font-size: 12px; font-weight: 700; color: var(--v2-t3); }
.v2-learn .v2-sc.on .v2-sc-exp { color: var(--v2-accent); }
.v2-learn .v2-sc.cold b { color: var(--v2-t2); }
.v2-learn .v2-entry { display: flex; flex-direction: column; gap: 14px; }
/* Ссылка «Полный разбор стратегий» — по ширине текста, не на всю колонку (04.10). */
.v2-learn .v2-entry-more { align-self: flex-start; }
.v2-learn .v2-entry-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.v2-learn .v2-entry-grid > div {
  padding: 14px; border-radius: 14px; background: var(--v2-glass); box-shadow: inset 0 0 0 1px var(--v2-line);
  display: flex; flex-direction: column; gap: 6px; min-width: 0;
}
.v2-learn .v2-entry-grid > div.when { box-shadow: inset 0 0 0 1px var(--v2-accentline); }
.v2-learn .v2-entry-grid p { margin: 0; font-size: 14.5px; line-height: 1.5; color: var(--v2-t1); font-weight: 600; }

/* Словарь. */
.v2-learn .v2-gloss { display: flex; flex-direction: column; gap: 14px; }
.v2-learn .v2-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.v2-learn .v2-chip {
  font: 700 13px/1.2 var(--v2-ui); padding: 9px 13px; border: 0; border-radius: 999px; cursor: pointer;
  color: var(--v2-t2); background: var(--v2-panel2); box-shadow: inset 0 0 0 1px var(--v2-line); white-space: nowrap;
}
.v2-learn .v2-chip.on { color: var(--v2-accent2); box-shadow: inset 0 0 0 1px var(--v2-accentline); }
.v2-learn .v2-gloss-card { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; padding-top: 14px; box-shadow: inset 0 1px 0 var(--v2-line); }
.v2-learn .v2-gloss-card > b { font-size: 17px; font-weight: 800; }
.v2-learn .v2-gloss-card > p { margin: 0; font-size: 15px; line-height: 1.6; color: var(--v2-t2); max-width: 64ch; }

.v2-learn .v2-note {
  margin: 0; font-size: 13px; line-height: 1.55; color: var(--v2-t2); padding: 12px 14px; border-radius: 12px;
  background: rgba(255, 255, 255, .025); box-shadow: inset 0 0 0 1px var(--v2-line);
}

/* ── урок: колонка чтения ───────────────────────────────────────────────────────── */
.v2-learn .v2-back {
  align-self: flex-start; display: inline-flex; align-items: center; height: 36px; padding: 0 12px;
  border: 0; border-radius: 10px; cursor: pointer; font: 700 13px/1 var(--v2-ui); white-space: nowrap;
  color: var(--v2-t2); background: var(--v2-glass); box-shadow: inset 0 0 0 1px var(--v2-line);
}
.v2-learn .v2-back:hover { color: var(--v2-t1); }
/* Урок — на своём листе, как в концепте: тёмная панель под колонкой чтения, чтобы фон
   кабинета не шёл сквозь текст. */
.v2-learn .v2-read {
  display: grid; grid-template-columns: minmax(0, 1fr); gap: 28px; align-items: start;
  padding: 30px 36px; border-radius: 22px; background: var(--v2-glass); box-shadow: inset 0 0 0 1px var(--v2-line);
}
.v2-learn .v2-read.has-toc { grid-template-columns: 200px minmax(0, 1fr); }
.v2-learn .v2-read.has-side { grid-template-columns: minmax(0, 1fr) 270px; }
.v2-learn .v2-read.has-toc.has-side { grid-template-columns: 180px minmax(0, 1fr) 270px; }

.v2-learn .v2-toc {
  position: sticky; top: 20px; align-self: start; display: flex; flex-direction: column; gap: 2px; min-width: 0;
}
.v2-learn .v2-toc .v2-eyebrow { margin-bottom: 8px; font-size: 10px; }
.v2-learn .v2-toc > button, .v2-learn .v2-toc > span {
  display: block; padding: 7px 10px; border: 0; border-left: 2px solid var(--v2-line); background: none;
  text-align: left; font: 600 13px/1.4 var(--v2-ui); color: var(--v2-t3); overflow-wrap: anywhere;
}
.v2-learn .v2-toc > button { cursor: pointer; }
.v2-learn .v2-toc > button:hover { color: var(--v2-t2); }
.v2-learn .v2-toc > .past { color: var(--v2-t2); }
.v2-learn .v2-toc > .on { color: var(--v2-t1); border-left-color: var(--v2-accent); }

.v2-learn .v2-art { max-width: 680px; min-width: 0; width: 100%; }
.v2-learn .v2-crumbs { font-size: 12px; color: var(--v2-t3); font-weight: 700; letter-spacing: .02em; }
.v2-learn .v2-art > h1 {
  margin: 10px 0; font-size: 34px; line-height: 1.08; font-weight: 800; letter-spacing: -.028em;
  color: var(--v2-t1); text-wrap: balance; overflow-wrap: anywhere;
}
.v2-learn .v2-meta { display: flex; flex-wrap: wrap; gap: 6px 14px; font-size: 12.5px; color: var(--v2-t3); font-weight: 700; margin-bottom: 22px; }
/* На втором шаге и дальше урок не повторяет крупную шапку — экран отдаётся шагу. */
.v2-learn .v2-art.deep > h1 { font-size: 20px; margin: 6px 0 14px; letter-spacing: -.015em; }
.v2-learn .v2-art.deep > .v2-meta { display: none; }

.v2-learn .v2-key {
  margin: 0 0 22px; padding: 18px 20px; border-radius: 16px;
  background: linear-gradient(180deg, color-mix(in srgb, var(--v2-accent) 7%, transparent), transparent), var(--v2-glass);
  box-shadow: inset 0 0 0 1px var(--v2-accentline);
}
.v2-learn .v2-key .v2-eyebrow { color: var(--v2-accent2); }
.v2-learn .v2-key p { margin: 6px 0 0; font-size: 17px; line-height: 1.55; font-weight: 600; color: var(--v2-t1); max-width: 64ch; }

/* Текст автора: колонка ≤ 64 знаков, крупный интерлиньяж, заголовки — тихой золотой подписью.
   Только сами абзацы автора (прямые дети статьи и «Полного разбора») — у служебных строк
   (отметка, подсказка, разговор) свои правила и свой цвет. */
.v2-learn :is(.v2-art, .v2-full) > :is(p:not([class]), p.li, p.v2-why):not(#v2) {
  font-size: 16.5px; line-height: 1.75; color: #D9D5CC; margin: 0 0 12px; max-width: 64ch;
}
.v2-learn :is(.v2-art, .v2-full) > p.v2-why:not(#v2) { color: var(--v2-t2); }
.v2-learn :is(.v2-art, .v2-full) > p.li:not(#v2) { position: relative; padding-left: 18px; margin-bottom: 8px; }
.v2-learn :is(.v2-art, .v2-full) > p.li:not(#v2)::before {
  content: ""; position: absolute; left: 4px; top: .78em; width: 5px; height: 5px; border-radius: 50%; background: var(--v2-accent);
}
.v2-learn :is(.v2-art, .v2-full, .v2-steps) > h2:not(#v2) {
  margin: 30px 0 10px; font-size: 13px; line-height: 1.4; letter-spacing: .12em; text-transform: uppercase;
  font-weight: 800; color: var(--v2-accent); scroll-margin-top: 24px; max-width: 64ch;
}
.v2-learn .v2-show { list-style: none; margin: 8px 0 18px; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 10px; }
.v2-learn .v2-show > li {
  padding: 14px; border-radius: 14px; background: var(--v2-glass); box-shadow: inset 0 0 0 1px var(--v2-line);
  display: flex; flex-direction: column; gap: 4px; min-width: 0;
}
.v2-learn .v2-show > li > b { font-size: 14.5px; line-height: 1.35; }
.v2-learn .v2-show > li > span { font-size: 13.5px; line-height: 1.5; color: var(--v2-t2); }
.v2-learn .v2-steps { margin: 8px 0 18px; }
.v2-learn .v2-steps ol { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.v2-learn .v2-steps li { display: grid; grid-template-columns: 30px minmax(0, 1fr); gap: 12px; align-items: start; font-size: 15.5px; line-height: 1.55; }
.v2-learn .v2-steps li > i {
  font-style: normal; width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center;
  font-size: 12.5px; font-weight: 700; color: var(--v2-accentink, #1a1408); background: var(--v2-accent);
}
.v2-learn .v2-rule:not(#v2), .v2-learn .v2-remember:not(#v2) {
  margin: 14px 0; padding: 14px 16px; border-radius: 14px; font-size: 15px; line-height: 1.6; color: var(--v2-t1);
  background: var(--v2-glass); box-shadow: inset 0 0 0 1px var(--v2-line);
}
.v2-learn .v2-full { margin: 18px 0 8px; border-radius: 14px; box-shadow: inset 0 0 0 1px var(--v2-line); padding: 0 16px; }
.v2-learn .v2-full > summary {
  list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 10px;
  min-height: 48px; font-size: 14px; font-weight: 700; color: var(--v2-t2);
}
.v2-learn .v2-full > summary::-webkit-details-marker { display: none; }
.v2-learn .v2-full > summary::after { content: "▾"; font-size: 12px; color: var(--v2-t3); }
.v2-learn .v2-full[open] > summary::after { content: "▴"; }
.v2-learn .v2-full[open] { padding-bottom: 12px; }
.v2-learn .v2-art .v2-note { margin-top: 14px; }

/* Конец урока: отметка, «было понятно?», следующий урок. */
.v2-learn .v2-done {
  margin-top: 26px; padding-top: 20px; box-shadow: inset 0 1px 0 var(--v2-line);
  display: flex; flex-direction: column; align-items: flex-start; gap: 14px;
}
.v2-learn .v2-done .hint { margin: 0; font-size: 14px; color: var(--v2-t3); }
.v2-learn .v2-done .ok { margin: 0; display: flex; align-items: center; gap: 8px; font-size: 15px; font-weight: 700; color: var(--v2-bull); }
.v2-learn .v2-done .ok svg { width: 18px; height: 18px; }
.v2-learn .v2-rate { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.v2-learn .v2-rate > span { font-size: 14px; color: var(--v2-t2); margin-right: 4px; }
.v2-learn .v2-thanks { margin: 0; font-size: 14px; color: var(--v2-t2); }
.v2-learn .v2-err { margin: 0; font-size: 13.5px; color: var(--v2-bear); }

/* ── сценарий шагов (общий LessonFlow) в языке v2 ───────────────────────────────── */
.v2-learn .lesson-flow:not(#v2) { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; padding-bottom: 8px; }
.v2-learn .lesson-flow:not(#v2) > * { max-width: 100%; }
.v2-learn .lf-progress:not(#v2) { width: 100%; height: 3px; border-radius: 9px; background: rgba(255, 255, 255, .08); overflow: hidden; }
.v2-learn .lf-progress:not(#v2) > span { display: block; height: 100%; border-radius: 9px; background: var(--v2-accent); }
.v2-learn .lf-step:not(#v2) {
  margin: 0; font-size: 11px; letter-spacing: .16em; text-transform: uppercase; font-weight: 800; color: var(--v2-t3);
}
.v2-learn .lf-title:not(#v2) {
  margin: 0; font-size: 24px; line-height: 1.2; font-weight: 800; letter-spacing: -.02em;
  text-transform: none; color: var(--v2-t1); max-width: 64ch;
}
.v2-learn .v2-art .lf-main:not(#v2) { margin: 0; font-size: 18px; line-height: 1.6; color: var(--v2-t1); font-weight: 600; max-width: 64ch; }
.v2-learn .v2-art .lf-sub:not(#v2) { margin: 0; font-size: 16.5px; line-height: 1.75; color: #D9D5CC; max-width: 64ch; }
.v2-learn .lesson-visual:not(#v2) { width: 100%; }
.v2-learn .lf-check:not(#v2) { width: 100%; display: grid; gap: 10px; }
.v2-learn .lf-check:not(#v2) > button, .v2-learn .v2-quiz-opts > button {
  display: flex; align-items: center; justify-content: space-between; gap: 10px; width: 100%;
  padding: 13px 14px; min-height: 48px; border: 0; border-radius: 12px; text-align: left; cursor: pointer;
  font: 700 14.5px/1.4 var(--v2-ui); color: var(--v2-t1);
  background: var(--v2-glass); box-shadow: inset 0 0 0 1px var(--v2-line);
}
.v2-learn .lf-check:not(#v2) > button.ok, .v2-learn .v2-quiz-opts > button.ok {
  box-shadow: inset 0 0 0 1px rgba(43, 197, 154, .5); background: rgba(43, 197, 154, .08);
}
.v2-learn .lf-check:not(#v2) > button.no, .v2-learn .v2-quiz-opts > button.no {
  box-shadow: inset 0 0 0 1px rgba(240, 98, 94, .5); background: rgba(240, 98, 94, .08);
}
.v2-learn .lf-check:not(#v2) > button.dim, .v2-learn .v2-quiz-opts > button.dim { opacity: .45; }
.v2-learn .lf-check:not(#v2) > button svg, .v2-learn .v2-quiz-opts > button svg { width: 18px; height: 18px; color: var(--v2-bull); }
.v2-learn .lf-why:not(#v2) { margin: 0; font-size: 15px; line-height: 1.6; color: var(--v2-t2); }
.v2-learn .lf-passed:not(#v2) { margin: 0; display: flex; align-items: center; gap: 8px; font-weight: 700; color: var(--v2-bull); }
/* Кнопки шагов («Начать урок», «Далее», «Пройти мини-тест») — главная кнопка языка v2. */
.v2-learn .lesson-flow > [data-slot="button"]:not(#v2) {
  height: 48px; padding: 0 22px; border-radius: 14px; border: 0; width: auto;
  font: 800 15px/1 var(--v2-ui); color: var(--v2-accentink, #1a1408); white-space: nowrap;
  background: linear-gradient(180deg, var(--v2-accenttop, #F4DFA9), var(--v2-accent));
  box-shadow: 0 10px 30px -12px color-mix(in srgb, var(--v2-accent) 55%, transparent), inset 0 1px 0 rgba(255, 255, 255, .55);
}
.v2-learn .lesson-flow > [data-slot="button"]:not(#v2) svg { width: 17px; height: 17px; }
.v2-learn .lesson-flow > [data-slot="button"]:disabled:not(#v2) { opacity: .5; }

/* ── мини-тест сбоку ────────────────────────────────────────────────────────────── */
.v2-learn .v2-side { position: sticky; top: 20px; align-self: start; min-width: 0; }
.v2-learn .v2-quiz {
  display: flex; flex-direction: column; gap: 12px; padding: 18px; border-radius: 18px;
  background: var(--v2-glass); box-shadow: inset 0 0 0 1px var(--v2-line);
}
.v2-learn .v2-qbar { display: flex; gap: 4px; }
.v2-learn .v2-qbar i { flex: 1; height: 3px; border-radius: 9px; background: rgba(255, 255, 255, .08); }
.v2-learn .v2-qbar i.f { background: var(--v2-accent); }
.v2-learn .v2-quiz-q { margin: 0; font-size: 16px; line-height: 1.4; font-weight: 800; color: var(--v2-t1); }
.v2-learn .v2-quiz-opts { display: flex; flex-direction: column; gap: 8px; }
.v2-learn .v2-quiz-why, .v2-learn .v2-quiz-note { margin: 0; font-size: 13.5px; line-height: 1.55; color: var(--v2-t2); }
.v2-learn .v2-quiz-ok { margin: 0; display: flex; align-items: center; gap: 8px; font-size: 14.5px; font-weight: 700; color: var(--v2-bull); }
.v2-learn .v2-quiz-ok svg { width: 18px; height: 18px; }
.v2-learn .v2-quiz .v2-btn { white-space: normal; height: auto; min-height: 48px; padding: 12px 16px; line-height: 1.25; }

/* ── разговор под уроком (общий LessonTalk) в языке v2 ──────────────────────────── */
.v2-learn .lesson-talk:not(#v2) {
  margin-top: 30px; padding: 20px; border-radius: 18px; border: 0;
  background: var(--v2-glass); box-shadow: inset 0 0 0 1px var(--v2-line);
}
.v2-learn .lesson-talk:not(#v2) > h3 { margin: 0 0 12px; font-size: 16px; font-weight: 800; color: var(--v2-t1); }
.v2-learn .lesson-talk-empty:not(#v2) { color: var(--v2-t2); font-size: 14px; line-height: 1.55; }
.v2-learn .lesson-talk-form textarea:not(#v2) {
  width: 100%; border: 0; border-radius: 12px; padding: 12px 14px; font: 500 15px/1.5 var(--v2-ui);
  color: var(--v2-t1); background: rgba(255, 255, 255, .03); box-shadow: inset 0 0 0 1px var(--v2-line2); resize: vertical;
}
.v2-learn .lesson-talk-form > button:not(#v2) {
  align-self: flex-start; height: 40px; padding: 0 16px; border: 0; border-radius: 11px; cursor: pointer;
  font: 700 14px/1 var(--v2-ui); white-space: nowrap; color: var(--v2-t1);
  background: var(--v2-panel2); box-shadow: inset 0 0 0 1px var(--v2-line2);
}

/* ── узкий экран ────────────────────────────────────────────────────────────────── */
@media (max-width: 1100px) {
  .v2-learn .v2-cur { grid-template-columns: 1fr; }
  .v2-learn .v2-cur-cover { min-height: 0; padding: 22px 22px 30px; flex-direction: row; justify-content: flex-start; gap: 14px; box-shadow: inset 0 -1px 0 var(--v2-line); }
  .v2-learn .v2-cur-cover > b { font-size: 48px; }
  .v2-learn .v2-cur-cover > b.v2-cur-tick { width: 52px; height: 52px; }
  .v2-learn .v2-cur-cover > b.v2-cur-tick svg { width: 26px; height: 26px; }
  .v2-learn .v2-cur-dots { bottom: 14px; }
}
@media (max-width: 860px) {
  .v2-learn .v2-path { grid-template-columns: minmax(0, 1fr); }
  .v2-learn .v2-path > .v2-cur, .v2-learn .v2-path > .v2-rail { grid-column: 1; grid-row: auto; position: static; }
}
@media (max-width: 640px) {
  .v2-learn { gap: 18px; }
  .v2-learn .v2-head h1 { font-size: 28px; }
  .v2-learn .v2-prog { flex-wrap: wrap; gap: 10px 16px; padding: 18px; }
  .v2-learn .v2-prog-num b { font-size: 34px; }
  .v2-learn .v2-prog .v2-bar { flex: 1 1 120px; align-self: flex-end; margin-bottom: 10px; }
  .v2-learn .v2-prog-nx { flex: 1 1 100%; }
  .v2-learn .v2-cur-txt { padding: 20px; }
  .v2-learn .v2-cur-txt h2 { font-size: 24px; }
  .v2-learn .v2-cur-txt .v2-btn { width: 100%; }
  .v2-learn .v2-ls { padding: 10px; }
  .v2-learn .v2-rail-h { padding: 0 10px 4px; }
  .v2-learn .v2-tiles, .v2-learn .v2-strats { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .v2-learn .v2-tiles { grid-template-columns: minmax(0, 1fr); }
  .v2-learn .v2-entry-grid { grid-template-columns: minmax(0, 1fr); }
  .v2-learn .v2-sc { padding: 14px; }
  .v2-learn .v2-entry, .v2-learn .v2-gloss { padding: 12px; }
  .v2-learn .v2-entry-grid > div { padding: 12px; }
  .v2-learn .v2-read { padding: 20px 16px; border-radius: 18px; }
  .v2-learn .v2-art > h1 { font-size: 27px; }
  .v2-learn :is(.v2-art, .v2-full) > :is(p:not([class]), p.li, p.v2-why):not(#v2),
  .v2-learn .v2-art .lf-sub:not(#v2) { font-size: 16px; line-height: 1.7; }
  .v2-learn .v2-art .lf-main:not(#v2) { font-size: 17px; }
  .v2-learn .lf-title:not(#v2) { font-size: 21px; }
  .v2-learn .v2-key { padding: 16px; }
  .v2-learn .v2-key p { font-size: 16px; }
  .v2-learn .v2-done .v2-btn, .v2-learn .lesson-flow > [data-slot="button"]:not(#v2) { width: 100%; }
  .v2-learn .lesson-talk:not(#v2) { padding: 16px; }
}

/* СТАРТ «БАЗОВЫЕ НАВЫКИ» (владелец 05.10) — три шага с обложками разного цвета, как закреп Семьи. */
.v2-learn .ls { display: flex; flex-direction: column; gap: 12px; margin-bottom: 18px; }
.v2-learn .ls header small { font-size: 11px; font-weight: 800; letter-spacing: .16em; color: var(--v2-accent2, #F2DCA6); }
.v2-learn .ls header h2 { margin: 4px 0 0; font-size: 22px; }
.v2-learn .ls-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
@media (max-width: 820px) { .v2-learn .ls-steps { grid-template-columns: 1fr; } }
.v2-learn .ls-step { --c: #e2b15f; display: flex; flex-direction: column; gap: 12px; padding: 14px; border-radius: 18px; background: rgba(255,255,255,.03); box-shadow: inset 0 0 0 1px rgba(255,255,255,.07); opacity: 0; animation: ls-in .45s cubic-bezier(.2,.8,.2,1) forwards; transition: transform .22s, box-shadow .22s; }
.v2-learn .ls-step:hover { transform: translateY(-2px); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--c) 45%, transparent), 0 14px 34px color-mix(in srgb, var(--c) 18%, transparent); }
.v2-learn .ls-platform { --c: #5aa7ff; } .v2-learn .ls-tools { --c: #3fd68f; } .v2-learn .ls-terms { --c: #e2b15f; }
.v2-learn .ls-cover { position: relative; height: 96px; border-radius: 12px; display: flex; align-items: flex-end; padding: 10px 12px;
  background: radial-gradient(90% 120% at 100% 0%, color-mix(in srgb, var(--c) 45%, transparent), transparent 70%), linear-gradient(160deg, color-mix(in srgb, var(--c) 18%, var(--t-surface, #0B0D10)), var(--t-surface, #0B0D10)); }
.v2-learn .ls-cover b { font-size: 34px; font-weight: 900; color: var(--c); line-height: 1; }
.v2-learn .ls-play { position: absolute; right: 12px; top: 12px; width: 38px; height: 38px; border-radius: 50%; display: grid; place-items: center; color: var(--t-surface, #0B0D10); background: var(--c); box-shadow: 0 0 22px color-mix(in srgb, var(--c) 55%, transparent); }
.v2-learn .ls-play svg { width: 16px; height: 16px; }
.v2-learn .ls-txt { display: flex; flex-direction: column; gap: 4px; }
.v2-learn .ls-txt b { font-size: 15.5px; }
.v2-learn .ls-txt small { font-size: 12.5px; line-height: 1.45; opacity: .7; }
.v2-learn .ls-go { align-self: flex-start; margin-top: 6px; display: inline-flex; align-items: center; gap: 6px; border: 0; padding: 7px 12px; border-radius: 10px; font: inherit; font-size: 13px; font-weight: 800; cursor: pointer; text-decoration: none; color: var(--c); background: color-mix(in srgb, var(--c) 12%, transparent); }
.v2-learn .ls-go svg { width: 14px; height: 14px; }
.v2-learn .ls-where { font-style: italic; }
.v2-learn .ls-video { width: 100%; aspect-ratio: 16 / 9; border: 0; border-radius: 12px; }
@keyframes ls-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }

/* ПОЛКИ ВКЛАДКАМИ (владелец 05.10). */
.v2-learn .lt { margin-top: 22px; display: flex; flex-direction: column; gap: 12px; }
.v2-learn .lt-tabs { display: flex; gap: 6px; flex-wrap: wrap; padding: 4px; border-radius: 14px; background: rgba(255,255,255,.03); box-shadow: inset 0 0 0 1px rgba(255,255,255,.06); align-self: flex-start; }
.v2-learn .lt-tabs button { border: 0; background: none; font: inherit; font-size: 13.5px; font-weight: 700; padding: 8px 14px; border-radius: 10px; cursor: pointer; color: rgba(var(--t-text-rgb, 243,240,233), .65); transition: background .2s, color .2s; }
.v2-learn .lt-tabs button.on { color: #1a1408; background: var(--v2-accent, #D9B66E); }
.v2-learn .lt-body { animation: ls-in .3s cubic-bezier(.2,.8,.2,1); }
.v2-learn .lt-body > .v2-sec { margin-top: 0; }

.v2-learn .ls-cover-btn { border: 0; width: 100%; cursor: pointer; font: inherit; color: inherit; text-align: left; }
.v2-learn .ls-cover-btn:hover .ls-play { transform: scale(1.12); }
.v2-learn .ls-play { transition: transform .2s; }

/* Разделы обучения (06.10). */
.v2-learn .ls-sec { display: flex; flex-direction: column; gap: 10px; margin: 6px 0 18px; }
.v2-learn .ls-sec header small { font-size: 11px; font-weight: 800; letter-spacing: .16em; color: var(--v2-accent2, #F2DCA6); }
.v2-learn .ls-sec header h2 { margin: 2px 0 0; font-size: 20px; }
.v2-learn .ls-sec-head { flex-direction: row; align-items: flex-end; justify-content: space-between; flex-wrap: wrap; margin-bottom: 8px; }
.v2-learn .ls-sec-head .ls-go { --c: #e2b15f; }
.v2-learn .ls-group { display: flex; flex-direction: column; gap: 8px; margin-top: 6px; }
.v2-learn .ls-group-h { font-size: 11px; font-weight: 800; letter-spacing: .14em; opacity: .7; }

/* ── ТРИ ЧАСТИ ОБУЧЕНИЯ (владелец 06.10) ───────────────────────────────────────────── */
.v2-learn .lp-switch { display: inline-flex; gap: 4px; padding: 4px; margin: 4px 0 18px; border-radius: 16px; background: rgba(var(--t-text-rgb, 255,255,255), .04); box-shadow: inset 0 0 0 1px rgba(var(--t-text-rgb, 255,255,255), .08); max-width: 100%; overflow-x: auto; scrollbar-width: none; }
.v2-learn .lp-switch button { flex: none; border: 0; font: inherit; font-size: 14px; font-weight: 800; padding: 10px 16px; border-radius: 12px; cursor: pointer; color: var(--v2-t2, #aba69c); background: transparent; transition: background .2s, color .2s; }
.v2-learn .lp-switch button.on { color: var(--v2-accentink, #1a1408); background: linear-gradient(180deg, var(--v2-accent2, #f2dca6), var(--v2-accent, #d9b66e)); box-shadow: 0 8px 22px -12px var(--v2-accentglow, rgba(217,182,110,.6)); }
.v2-learn .lp-switch button:not(.on):hover { color: var(--v2-t1, #f3f0e9); background: rgba(var(--t-text-rgb, 255,255,255), .05); }
/* Текущий урок едет рядом с путём — справа больше не пустота под карточкой. */
@media (min-width: 900px) { .v2-learn .v2-path .v2-cur { position: sticky; top: 84px; align-self: start; } }
/* «СТРАТЕГИИ» — ВИЗУАЛЬНЫЙ ЯЗЫК v2 (03.10, `amir-markets/design/SPEC-v2.md`).

   Почему отдельный файл, а не правка общих `src/styles/*.css`: новый язык вводится экран
   за экраном, а общие файлы правят параллельные сессии — столкновение правок там уже
   стоило дней. Всё здесь заперто под `.v2-strat`, поэтому ни один другой экран не меняется.

   Почему местами двойной класс `.v2-strat.v2-strat`: на экраны кабинета сверху ложатся слои
   тем ступеней (`.app[data-look] …`) — они красят заголовки, абзацы и кнопки. Двойной класс
   поднимает вес ровно настолько, чтобы наш экран рисовал себя сам, без `!important`.

   Чего здесь нет по правилам языка: звёзд, рамок-завитков, текстур, золотого градиента на
   тексте. Золото — только свет: тонкая кромка, мелкие подписи и одна главная кнопка. */

.v2-strat {
  --v2-bg: #07080A; --v2-bg2: #0B0D10;
  --v2-panel: rgba(255, 255, 255, .028); --v2-panel2: rgba(255, 255, 255, .045);
  --v2-line: rgba(255, 255, 255, .075); --v2-line2: rgba(255, 255, 255, .12);
  --v2-t1: #F3F0E9; --v2-t2: #ABA69C; --v2-t3: #6F6A61;
  --v2-gold: #D9B66E; --v2-gold2: #F2DCA6; --v2-golddeep: #8E6D2F; --v2-goldline: rgba(217, 182, 110, .32);
  --v2-bull: #2BC59A; --v2-bear: #F0625E;
  --v2-ui: "Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;
  --v2-num: "JetBrains Mono", ui-monospace, Menlo, monospace;
  /* Акцент — через свои переменные: на других ступенях он станет цветом ступени. */
  /* Подложка карточек: тот же глубокий чёрный, почти непрозрачный. Фон мира ступени
     (звёзды и лучи оболочки) иначе просвечивает сквозь текст разбора — карточка выглядит
     дешёвой ровно из-за этого. */
  --v2-base: rgba(11, 13, 16, .88);
  --v2-accent: var(--v2-gold); --v2-accent2: var(--v2-gold2); --v2-accentline: var(--v2-goldline);

  container: v2s / inline-size;
  display: flex;
  flex-direction: column;
  gap: 22px;
  color: var(--v2-t1);
  font-family: var(--v2-ui);
  -webkit-font-smoothing: antialiased;
  /* «Всё ли в порядке?» — плавающее окно в правом нижнем углу (320×~230). Запас снизу,
     чтобы последнюю карточку экрана можно было докрутить из-под него. */
  padding-bottom: 120px;
}
.v2-strat *, .v2-strat *::before, .v2-strat *::after { box-sizing: border-box; }

/* ── общие детали языка ── */
.v2-strat.v2-strat .v2-eyebrow {
  margin: 0;
  font-size: 12px; letter-spacing: .16em; text-transform: uppercase; font-weight: 800;
  color: var(--v2-t3);
  white-space: nowrap;
}
.v2-strat .v2-card {
  margin: 0;
  background: linear-gradient(var(--v2-panel), var(--v2-panel)), var(--v2-base);
  box-shadow: inset 0 0 0 1px var(--v2-line);
  border: 0;
  border-radius: 18px;
  padding: 20px;
}
.v2-strat .v2-chip {
  display: inline-flex; align-items: center;
  font-size: 13px; font-weight: 700; line-height: 1;
  padding: 7px 11px; border-radius: 999px;
  color: var(--v2-t2); background: var(--v2-panel2);
  box-shadow: inset 0 0 0 1px var(--v2-line);
  white-space: nowrap;
}
.v2-strat .v2-chip.g { color: var(--v2-accent2); box-shadow: inset 0 0 0 1px var(--v2-accentline); }
.v2-strat .v2-chip.sig-live { color: var(--v2-bull); box-shadow: inset 0 0 0 1px rgba(43, 197, 154, .35); }
.v2-strat .v2-chip.sig-shadow { color: var(--v2-t1); }

.v2-strat.v2-strat .v2-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  height: 48px; padding: 0 22px; border-radius: 14px; border: 0;
  font-family: var(--v2-ui); font-weight: 800; font-size: 15px; line-height: 1;
  text-decoration: none; white-space: nowrap; cursor: pointer;
}
.v2-strat.v2-strat .v2-btn svg { width: 18px; height: 18px; flex: none; }
.v2-strat.v2-strat .v2-btn.gold {
  color: var(--v2-accentink, #1a1408);
  background: linear-gradient(180deg, var(--v2-accenttop, #F4DFA9), var(--v2-accent));
  box-shadow: 0 10px 30px -12px color-mix(in srgb, var(--v2-accent) 55%, transparent), inset 0 1px 0 rgba(255, 255, 255, .55);
}
.v2-strat.v2-strat .v2-btn.ghost {
  color: var(--v2-t1);
  background: var(--v2-panel2);
  box-shadow: inset 0 0 0 1px var(--v2-line2);
  height: 44px; font-size: 14px; font-weight: 700;
}
@media (prefers-reduced-motion: no-preference) {
  .v2-strat .v2-btn { transition: transform .15s ease, background-color .15s ease; }
  .v2-strat .v2-btn.gold:hover { transform: translateY(-1px); }
}
.v2-strat .v2-btn:focus-visible,
.v2-strat .v2s-pick:focus-visible,
.v2-strat summary:focus-visible { outline: 2px solid var(--v2-accent2); outline-offset: 2px; }

/* ── заголовок экрана: eyebrow + h1 30px + одна строка смысла ── */
.v2-strat .v2s-top { display: flex; flex-direction: column; gap: 8px; }
.v2-strat.v2-strat .v2s-top h1 {
  margin: 0;
  font-family: var(--v2-ui); font-size: 30px; line-height: 1.15; font-weight: 800; letter-spacing: -.025em;
  color: var(--v2-t1);
  background: none; -webkit-text-fill-color: currentColor; text-shadow: none;
}
.v2-strat.v2-strat .v2s-top p {
  margin: 0; max-width: 64ch;
  font-size: 15px; line-height: 1.55; color: var(--v2-t2);
}

/* ── выбор стратегии плитками ── */
.v2-strat .v2s-picks {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
@container v2s (min-width: 760px) {
  .v2-strat .v2s-picks { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
}
.v2-strat.v2-strat .v2s-pick {
  all: unset;
  box-sizing: border-box;
  display: flex; flex-direction: column; gap: 6px;
  min-width: 0;
  padding: 14px;
  border-radius: 16px;
  background: linear-gradient(var(--v2-panel), var(--v2-panel)), var(--v2-base);
  box-shadow: inset 0 0 0 1px var(--v2-line);
  color: var(--v2-t1);
  font-family: var(--v2-ui);
  cursor: pointer;
  text-align: left;
}
@media (prefers-reduced-motion: no-preference) {
  .v2-strat .v2s-pick { transition: box-shadow .15s ease, background-color .15s ease; }
}
.v2-strat.v2-strat .v2s-pick:hover { background: linear-gradient(var(--v2-panel2), var(--v2-panel2)), var(--v2-base); }
.v2-strat.v2-strat .v2s-pick.on {
  background: linear-gradient(180deg, color-mix(in srgb, var(--v2-accent) 7%, transparent), transparent 80%), var(--v2-base);
  box-shadow: inset 0 0 0 1px var(--v2-accentline);
}
.v2-strat.v2-strat .v2s-pick b {
  font-size: 15px; font-weight: 800; line-height: 1.25; color: var(--v2-t1);
  overflow-wrap: break-word; hyphens: auto;
}
.v2-strat.v2-strat .v2s-pick span {
  font-size: 13px; line-height: 1.35; font-weight: 600; color: var(--v2-t3);
}
.v2-strat.v2-strat .v2s-pick em {
  font-style: normal; font-size: 13px; font-weight: 700; color: var(--v2-t2); line-height: 1.3;
}
.v2-strat.v2-strat .v2s-pick em.sig-live { color: var(--v2-bull); }
.v2-strat.v2-strat .v2s-pick em.sig-shadow { color: var(--v2-accent2); }
.v2-strat .v2s-pick.locked { cursor: default; }
.v2-strat.v2-strat .v2s-pick.locked b { color: var(--v2-t2); }
.v2-strat.v2-strat .v2s-pick.locked:hover { background: linear-gradient(var(--v2-panel), var(--v2-panel)), var(--v2-base); }
.v2-strat .v2s-pick.locked svg { width: 16px; height: 16px; color: var(--v2-t3); }
.v2-strat .v2s-picks.small .v2s-pick { padding: 12px 14px; gap: 4px; }
.v2-strat .v2s-picks.small { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@container v2s (min-width: 760px) {
  .v2-strat .v2s-picks.small { grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); }
}

/* мини-схема на плитке */
.v2-strat .v2s-thumb { display: block; width: 100%; height: 34px; margin-bottom: 4px; }
.v2-strat .v2s-thumb.none { height: 0; margin: 0; }
.v2-strat .v2s-thumb .bull { fill: var(--v2-bull); }
.v2-strat .v2s-thumb .bear { fill: var(--v2-bear); }
.v2-strat .v2s-thumb .level { stroke: var(--v2-accent2); stroke-width: 1.2; stroke-dasharray: 3 3; fill: none; opacity: .8; }
.v2-strat .v2s-thumb .zone { fill: color-mix(in srgb, var(--v2-accent) 7%, transparent); }
.v2-strat .v2s-thumb .osc { fill: none; stroke: var(--v2-t2); stroke-width: 2; }

/* ── разбор выбранной стратегии ── */
.v2-strat .v2s-anchor { scroll-margin-top: 16px; }
/* Разбор целиком лежит на одной тёмной панели (как «экран» в концепте): без неё между
   карточками просвечивали звёзды и лучи фона оболочки, и разбор распадался на островки. */
.v2-strat.v2-strat .v2s-detail {
  display: flex; flex-direction: column; gap: 18px;
  margin: 0; padding: 28px 30px 30px;
  border: 0; border-radius: 22px;
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--v2-accent) 6%, transparent), transparent 320px),
    color-mix(in srgb, var(--t-surface, var(--t-surface, #0B0D10)) 94%, transparent);
  box-shadow: inset 0 0 0 1px var(--v2-line), inset 0 1px 0 var(--v2-accentline), 0 40px 120px -40px rgba(0, 0, 0, .8);
}
@container v2s (max-width: 520px) {
  .v2-strat.v2-strat .v2s-detail { padding: 20px 16px 22px; border-radius: 20px; }
}
.v2-strat .v2s-shead { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; padding-top: 6px; }
.v2-strat .v2s-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.v2-strat.v2-strat .v2s-shead h2 {
  margin: 4px 0 0;
  font-family: var(--v2-ui); font-size: 30px; line-height: 1.12; font-weight: 800; letter-spacing: -.03em;
  color: var(--v2-t1);
  background: none; -webkit-text-fill-color: currentColor; text-shadow: none;
  overflow-wrap: break-word;
}
@container v2s (min-width: 760px) {
  .v2-strat.v2-strat .v2s-shead h2 { font-size: 36px; }
}
.v2-strat.v2-strat .v2s-shead p {
  margin: 0; max-width: 60ch;
  font-size: 15px; line-height: 1.55; color: var(--v2-t2);
}
/* Кнопка — своей строкой под описанием: правило языка №5 — главная кнопка никогда не
   делит строку с заголовком переменной длины («Alexander Bollinger» её бы вытолкнул). */
.v2-strat .v2s-shead .v2-btn { margin-top: 6px; }

.v2-strat .v2s-main { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; align-items: start; }
@container v2s (min-width: 900px) {
  .v2-strat .v2s-main { grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 22px; }
  .v2-strat .v2s-main.solo { grid-template-columns: minmax(0, 1fr); }
  /* Правая колонка (параметры + шаги) выше схемы; схема едет рядом с ними при прокрутке,
     а не оставляет под собой пустую дыру. */
  .v2-strat .v2s-chart { position: sticky; top: 16px; }
  .v2-strat .v2s-main.solo .v2s-side { max-width: 760px; }
}

/* схема правила */
.v2-strat .v2s-chart { padding: 0; overflow: hidden; }
.v2-strat.v2-strat .v2s-chart figcaption {
  display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap;
  padding: 14px 18px;
  border-bottom: 1px solid var(--v2-line);
  font-size: 13px; font-weight: 700; color: var(--v2-t2);
}
.v2-strat .v2s-chart figcaption span { white-space: nowrap; }
.v2-strat .v2s-chart svg { display: block; width: 100%; height: auto; aspect-ratio: 520 / 240; }
.v2-strat .v2s-chart .grid path { stroke: rgba(255, 255, 255, .05); stroke-width: 1; }
.v2-strat .v2s-chart .bull { fill: var(--v2-bull); stroke: var(--v2-bull); stroke-width: 2; }
.v2-strat .v2s-chart .bear { fill: var(--v2-bear); stroke: var(--v2-bear); stroke-width: 2; }
.v2-strat .v2s-chart .dim { opacity: .45; }
.v2-strat .v2s-chart .zone { fill: color-mix(in srgb, var(--v2-accent) 8%, transparent); }
.v2-strat .v2s-chart .entry { stroke: var(--v2-accent2); stroke-width: 1.6; stroke-dasharray: 5 5; fill: none; }
.v2-strat .v2s-chart .level { stroke: var(--v2-accent2); stroke-width: 1.4; stroke-dasharray: 4 4; fill: none; opacity: .75; }
.v2-strat .v2s-chart .osc { fill: none; stroke: var(--v2-t1); stroke-width: 2.5; stroke-linecap: round; }
.v2-strat .v2s-chart text { font-family: var(--v2-ui); font-weight: 800; }
.v2-strat .v2s-chart .num text { font-size: 17px; fill: var(--v2-t2); }
.v2-strat .v2s-chart .lbl { font-size: 17px; fill: var(--v2-accent2); }
.v2-strat .v2s-chart .lbl.dim { fill: var(--v2-t3); opacity: 1; }
.v2-strat.v2-strat .v2s-legend {
  display: flex; flex-wrap: wrap; gap: 8px 16px;
  margin: 0; padding: 12px 18px 16px; max-width: none;
  border-top: 1px solid var(--v2-line);
  font-size: 14px; font-weight: 700; line-height: 1.4;
}
.v2-strat .v2s-legend .up { color: var(--v2-bull); }
.v2-strat .v2s-legend .down { color: var(--v2-bear); }
/* «правило Амира — только на рост» (04.10): пояснение, не направление — тихим цветом. */
.v2-strat .v2s-legend .only { color: var(--v2-t3); font-weight: 600; }

/* правая колонка: параметры, шаги, сноска */
.v2-strat .v2s-side { display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.v2-strat .v2s-side > section { display: flex; flex-direction: column; gap: 10px; }
.v2-strat .v2s-params { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.v2-strat .v2s-param {
  min-width: 0;
  padding: 14px;
  border-radius: 14px;
  background: linear-gradient(var(--v2-panel), var(--v2-panel)), var(--v2-base);
  box-shadow: inset 0 0 0 1px var(--v2-line);
}
.v2-strat .v2s-param.wide { grid-column: 1 / -1; }
.v2-strat.v2-strat .v2s-param small {
  display: block;
  font-size: 12px; letter-spacing: .12em; text-transform: uppercase; font-weight: 800;
  color: var(--v2-t3);
  white-space: nowrap;
}
.v2-strat.v2-strat .v2s-param b {
  display: block; margin-top: 6px;
  font-size: 15px; line-height: 1.4; font-weight: 700; color: var(--v2-t1);
  overflow-wrap: break-word;
}

/* шаги входа: линия времени с золотыми номерами */
.v2-strat.v2-strat .v2s-steps { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.v2-strat.v2-strat .v2s-steps > li {
  display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 14px;
  padding: 12px 0; position: relative; max-width: none;
}
.v2-strat.v2-strat .v2s-steps > li::before { content: none; }
.v2-strat .v2s-steps > li:not(:last-child)::after {
  content: ""; position: absolute; left: 16.5px; top: 50px; bottom: -6px; width: 1px;
  background: var(--v2-line2);
}
.v2-strat.v2-strat .v2s-steps i {
  font-style: normal; width: 34px; height: 34px; border-radius: 50%;
  display: grid; place-items: center;
  font-family: var(--v2-num); font-weight: 800; font-size: 14px; font-variant-numeric: tabular-nums;
  color: var(--v2-accentink, #1a1408); background: var(--v2-accent);
}
.v2-strat .v2s-steps > li > div { display: flex; flex-direction: column; gap: 6px; min-width: 0; padding-top: 2px; }
.v2-strat.v2-strat .v2s-steps small {
  font-size: 12px; letter-spacing: .14em; text-transform: uppercase; font-weight: 800; color: var(--v2-t3);
}
.v2-strat.v2-strat .v2s-steps b { font-size: 15.5px; line-height: 1.45; font-weight: 700; color: var(--v2-t1); }
.v2-strat .v2s-dirs { display: flex; flex-wrap: wrap; gap: 6px; }
.v2-strat.v2-strat .v2s-dirs em {
  font-style: normal; font-size: 14px; font-weight: 700; line-height: 1.3;
  padding: 6px 10px; border-radius: 10px;
  background: var(--v2-panel2);
}
.v2-strat.v2-strat .v2s-dirs em.up { color: var(--v2-bull); box-shadow: inset 0 0 0 1px rgba(43, 197, 154, .28); }
.v2-strat.v2-strat .v2s-dirs em.down { color: var(--v2-bear); box-shadow: inset 0 0 0 1px rgba(240, 98, 94, .28); }
.v2-strat.v2-strat .v2s-onesided { margin: 0; font-size: 14px; line-height: 1.5; color: var(--v2-t2); }

/* тихая сноска: оговорки автора и «как кабинет ищет» */
.v2-strat .v2s-note {
  display: flex; flex-direction: column; gap: 6px;
  margin: 0;
  padding: 14px 16px;
  border-radius: 14px;
  background: linear-gradient(rgba(255, 255, 255, .025), rgba(255, 255, 255, .025)), var(--v2-base);
  box-shadow: inset 0 0 0 1px var(--v2-line);
}
.v2-strat.v2-strat .v2s-note b { font-size: 14px; font-weight: 800; color: var(--v2-t1); }
.v2-strat.v2-strat .v2s-note p { margin: 0; font-size: 14px; line-height: 1.55; color: var(--v2-t2); max-width: 70ch; }

/* ниже схемы: когда не входим · сколько входов */
.v2-strat .v2s-more { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; align-items: start; }
@container v2s (min-width: 760px) {
  .v2-strat .v2s-more { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
}
.v2-strat .v2s-more > section,
.v2-strat .v2s-missing { display: flex; flex-direction: column; gap: 12px; }
.v2-strat.v2-strat .v2s-skip { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.v2-strat.v2-strat .v2s-skip li {
  position: relative; padding-left: 18px; max-width: none;
  font-size: 14.5px; line-height: 1.5; color: var(--v2-t1);
}
.v2-strat.v2-strat .v2s-skip li::before {
  content: ""; position: absolute; left: 2px; top: .66em; width: 8px; height: 2px; border-radius: 1px;
  background: var(--v2-bear);
}
.v2-strat.v2-strat .v2s-risk,
.v2-strat.v2-strat .v2s-missing p {
  margin: 0; font-size: 14.5px; line-height: 1.55; color: var(--v2-t2); max-width: 70ch;
}
.v2-strat.v2-strat .v2s-risk:first-of-type { color: var(--v2-t1); font-weight: 700; }

.v2-strat .v2s-complete { margin-top: 2px; }
.v2-strat.v2-strat .v2s-complete summary {
  cursor: pointer; font-size: 14px; font-weight: 700; color: var(--v2-accent2);
  list-style-position: inside;
}
.v2-strat.v2-strat .v2s-complete ul {
  list-style: none; margin: 12px 0 0; padding: 0;
  display: grid; grid-template-columns: minmax(0, 1fr); gap: 6px 18px;
}
@container v2s (min-width: 760px) {
  .v2-strat.v2-strat .v2s-complete ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.v2-strat.v2-strat .v2s-complete li { font-size: 14px; line-height: 1.45; max-width: none; color: var(--v2-t1); }
.v2-strat.v2-strat .v2s-complete li.na { color: var(--v2-t3); }
.v2-strat.v2-strat .v2s-complete li.miss { color: var(--v2-bear); }

/* служебное свёрнуто (04.10): чего нет в разборе и где оригинал — по нажатию */
.v2-strat.v2-strat .v2s-service summary {
  cursor: pointer; font-size: 14px; font-weight: 700; color: var(--v2-t2);
  list-style-position: inside;
}
.v2-strat .v2s-service[open] summary { margin-bottom: 4px; }
/* закрытая схема: «Как открыть» → «Уровни» */
.v2-strat.v2-strat .v2s-howto {
  all: unset; box-sizing: border-box; cursor: pointer;
  display: inline-flex; align-items: center; gap: 6px; margin-top: 4px;
  font: 700 13px/1.3 var(--v2-ui); color: var(--v2-accent2);
}
.v2-strat.v2-strat .v2s-howto:focus-visible { outline: 2px solid var(--v2-accent); outline-offset: 2px; border-radius: 4px; }
.v2-strat.v2-strat .v2s-howto svg { width: 14px; height: 14px; color: currentColor; }
/* где опубликовано */
.v2-strat .v2s-source { display: flex; flex-direction: column; gap: 10px; }
.v2-strat .v2s-links { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.v2-strat.v2-strat .v2s-plain {
  display: inline-flex; align-items: flex-start; gap: 8px;
  font-size: 14px; line-height: 1.45; color: var(--v2-t2);
  min-width: 0;
}
.v2-strat .v2s-plain svg,
.v2-strat .v2s-links .v2-btn svg { width: 16px; height: 16px; flex: none; margin-top: 2px; }
.v2-strat .v2s-links .v2-btn svg { margin-top: 0; }

/* платные: заголовок раздела */
.v2-strat .v2s-paid { display: flex; flex-direction: column; gap: 10px; padding-top: 6px; border-top: 1px solid var(--v2-line); }
.v2-strat .v2s-paid > .v2-eyebrow { margin-top: 16px; }
.v2-strat.v2-strat .v2s-paid > p { margin: 0 0 4px; font-size: 14px; line-height: 1.5; color: var(--v2-t2); }

.v2-strat .v2s-how { margin-top: 4px; }
.v2-strat.v2-strat .v2s-empty { margin: 0; font-size: 15px; color: var(--v2-t2); }

/* Телефон: поля поуже, заголовок разбора чуть меньше — «Alexander Bollinger» на 390px
   не должен ломаться по буквам. */
@container v2s (max-width: 520px) {
  .v2-strat .v2-card { padding: 16px; }
  .v2-strat.v2-strat .v2s-shead h2 { font-size: 28px; }
  .v2-strat .v2s-chart figcaption { padding: 12px 14px; }
  /* Схема на телефоне ужимается почти вдвое — подписи внутри неё крупнее, иначе «вход
     на 4-й» читался бы девятью пикселями. Подписи привязаны к центру/краю, не вылезают. */
  .v2-strat .v2s-chart .num text,
  .v2-strat .v2s-chart .lbl { font-size: 23px; }
  .v2-strat.v2-strat .v2s-legend { padding: 10px 14px 14px; }
  .v2-strat .v2s-shead .v2-btn { width: 100%; }
  /* Плитки выбора на телефоне — короче: четыре плитки по 170px высоты съедали весь
     первый экран. Как у стратегии с сигналами, видно в шапке разбора — на плитке на
     телефоне это повтор. */
  .v2-strat.v2-strat .v2s-pick { padding: 12px; gap: 4px; }
  .v2-strat.v2-strat .v2s-pick em { display: none; }
  .v2-strat .v2s-thumb { height: 26px; margin-bottom: 2px; }
  .v2-strat.v2-strat .v2s-pick b { font-size: 14.5px; }
}

/* СВОЁ ЛИЦО У КАЖДОЙ СТРАТЕГИИ (владелец 05.10). Цвет --sc приходит с плитки (StrategyGlyph):
   полоса сверху, мягкое свечение, образ индикатора; выбранная и наведённая — ярче и чуть крупнее. */
.v2-strat.v2-strat.v2-strat .v2s-pick[data-sid] { position: relative; overflow: hidden; transition: transform .22s cubic-bezier(.2,.8,.2,1), box-shadow .22s, background .22s;
  background: radial-gradient(120% 80% at 100% 0%, color-mix(in srgb, var(--sc) 18%, transparent), transparent 62%), var(--v2-panel2, rgba(255,255,255,.045)); }
.v2-strat.v2-strat.v2-strat .v2s-pick[data-sid]::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 3px; background: var(--sc); opacity: .85; }
.v2-strat.v2-strat.v2-strat .v2s-pick[data-sid]:hover:not(.locked) { transform: translateY(-2px); box-shadow: 0 12px 30px color-mix(in srgb, var(--sc) 22%, transparent), inset 0 0 0 1px color-mix(in srgb, var(--sc) 45%, transparent); }
.v2-strat.v2-strat.v2-strat .v2s-pick[data-sid].on { box-shadow: 0 0 0 1px var(--sc), 0 14px 36px color-mix(in srgb, var(--sc) 28%, transparent); }
.v2-strat.v2-strat.v2-strat .v2s-pick[data-sid] > b { color: color-mix(in srgb, var(--sc) 35%, #f3f0e9); }
.v2s-pick.locked[data-sid] .v2-strat .v2s-glyph { opacity: .45; }
.v2-strat .v2s-glyph { width: 100%; max-width: 120px; height: 38px; display: block; }
.v2-strat .v2s-glyph path { fill: none; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
.v2-strat .v2s-glyph .g-main { stroke: var(--sc); }
.v2-strat .v2s-glyph .g-alt { stroke: color-mix(in srgb, var(--sc) 55%, #fff); opacity: .7; }
.v2-strat .v2s-glyph .g-third { stroke: color-mix(in srgb, var(--sc) 40%, #000); opacity: .9; }
.v2-strat .v2s-glyph .g-faint { stroke: rgba(255,255,255,.25); stroke-width: 1.6; }
.v2-strat .v2s-glyph .g-band { stroke: rgba(255,255,255,.18); stroke-width: 1; stroke-dasharray: 3 4; }
.v2-strat .v2s-glyph .g-fill { fill: color-mix(in srgb, var(--sc) 14%, transparent); stroke: none; }
.v2-strat .v2s-glyph .g-dot { fill: var(--sc); }
.v2-strat .v2s-glyph .g-candles rect { fill: rgba(255,255,255,.22); }
.v2-strat.v2-strat .v2s-detail[style] { box-shadow: inset 0 3px 0 0 var(--sc); }
.v2-strat.v2-strat.v2-strat .v2s-pick svg.v2s-glyph { width: 100%; max-width: 120px; height: 38px; flex: none; }

/* Индикаторная схема (06.10): обложка-график крупно, линии рисуются при открытии разбора. */
.v2s-ind { --c1: var(--sc, #d9b66e); }
.v2s-ind .ob { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; border-radius: 14px; }
.v2s-ind .ob-bg { fill: color-mix(in srgb, var(--sc, #d9b66e) 7%, var(--t-surface, #0B0D10)); }
.v2s-ind .ob-grid { stroke: rgba(var(--t-text-rgb, 255,255,255), .05); stroke-width: .6; }
.v2s-ind .ob-up line, .v2s-ind .ob-up rect { stroke: #2bc59a; fill: #2bc59a; stroke-width: .8; }
.v2s-ind .ob-dn line, .v2s-ind .ob-dn rect { stroke: #f0625e; fill: #f0625e; stroke-width: .8; }
.v2s-ind .ob-panel { fill: rgba(0,0,0,.35); stroke: rgba(var(--t-text-rgb, 255,255,255), .06); stroke-width: .6; }
.v2s-ind .ob-band { stroke: rgba(255,255,255,.18); stroke-dasharray: 3 3; stroke-width: .7; }
.v2s-ind :is(.ob-ind, .ob-ind2, .ob-al1, .ob-al2, .ob-al3) { fill: none; stroke-linecap: round; stroke-dasharray: 600; stroke-dashoffset: 600; animation: v2s-draw 1.6s .2s cubic-bezier(.4,0,.2,1) forwards; }
.v2s-ind .ob-ind { stroke: var(--sc, #f2c14e); stroke-width: 2; filter: drop-shadow(0 0 4px color-mix(in srgb, var(--sc, #f2c14e) 60%, transparent)); }
.v2s-ind .ob-ind2 { stroke: #e8e4da; stroke-opacity: .7; stroke-width: 1.4; animation-delay: .5s; }
.v2s-ind .ob-al1 { stroke: #4da3ff; stroke-width: 1.8; } .v2s-ind .ob-al2 { stroke: #f0625e; stroke-width: 1.8; animation-delay: .4s; } .v2s-ind .ob-al3 { stroke: #2bc59a; stroke-width: 1.8; animation-delay: .8s; }
.v2s-ind .ob-bar-up, .v2s-ind .ob-arrow-up { fill: #2bc59a; } .v2s-ind .ob-bar-dn, .v2s-ind .ob-arrow-dn { fill: #f0625e; }
.v2s-ind .ob-label { font: 800 15px/1 system-ui, sans-serif; fill: #fff; paint-order: stroke; stroke: rgba(0,0,0,.75); stroke-width: 3px; }
.v2s-ind :is(.ob-up, .ob-dn) { opacity: 0; animation: v2s-pop .3s ease forwards; }
.v2s-ind g:nth-of-type(n+1) { animation-delay: .05s; }
@keyframes v2s-draw { to { stroke-dashoffset: 0; } }
@keyframes v2s-pop { to { opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .v2s-ind * { animation: none !important; opacity: 1 !important; stroke-dashoffset: 0 !important; } }
/* КАБИНЕТ — первый экран. ЦВЕТА И МАТЕРИАЛА ЗДЕСЬ НЕТ (Амир 13.10: «у каждого мира свой стиль, свои шрифты и фишки,
   а ты всё под одно сделал»). Версия 12.10 красила всё золотом и сверхжирным шрифтом мимо среды мира — поэтому в
   ОТС 250 вылезало золото на голубом, а в «Обычном» жёлтые и синие пятна.
   Теперь: заголовок — `.page-title` (шрифт, печать, орнамент мира), кнопки — общая Button (лёд / лак / металл мира),
   «Найти сделку» — `.pm-deal` с камнями мира, карточки записаны в семейства поверхностей product.env.css
   (материал мира), число счёта — в «цифры шрифтом мира» product.worlds.css. Здесь только раскладка и токены. */
.kb { --kb-line: rgba(var(--t-text-rgb), .09); display: flex; flex-direction: column; gap: 12px; }

.kb-title { display: flex !important; align-items: flex-end; justify-content: space-between; gap: 12px; }
.kb-rank { display: inline-flex; align-items: center; gap: 8px; padding: 7px 12px; border-radius: 99px; cursor: pointer; flex: none;
  border: 1px solid rgba(var(--t-accent-rgb), .4); background: rgba(var(--t-accent-rgb), .08); color: var(--t-text); font: 600 13px/1 var(--font-ui); }
.kb-rank i { width: 6px; height: 6px; border-radius: 50%; background: var(--t-accent); box-shadow: 0 0 0 3px rgba(var(--t-accent-rgb), .22); }

/* Счёт — герой экрана: материал даёт среда мира; в «Обычном» — спокойная поверхность с отсветом акцента. */
.kb-bal { position: relative; overflow: hidden; border-radius: 22px; padding: 18px;
  background: radial-gradient(120% 90% at 100% 0%, rgba(var(--t-accent-rgb), .16), transparent 55%), var(--t-surface-2);
  border: 1px solid rgba(var(--t-accent-rgb), .28); }
.kb-bal-head { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.kb-bal-head span, .kb-lbl { color: var(--t-text-3); font: 600 11px/1 var(--font-ui); letter-spacing: .16em; text-transform: uppercase; }
.kb-tier { font-style: normal; color: var(--t-accent); font: 600 12px/1 var(--font-ui); letter-spacing: .14em; text-transform: uppercase; }
.kb-bal > b.kb-sum { display: block; margin: 16px 0 4px; color: var(--t-text); font-weight: 600; font-size: clamp(34px, 10vw, 42px); line-height: 1.05;
  letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
.kb-hint { display: block; color: var(--t-text-3); font-size: 12.5px; }
.kb-bal-btns { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 16px; }
.kb-bal-btns > * { height: 46px !important; width: 100%; font-size: 15px !important; }

/* «План на сегодня» — главный ответ «что мне делать»: сколько сделок, на какую сумму, сколько это даст. */
.kb-today { display: grid; gap: 14px; padding: 16px; border-radius: 18px; width: 100%; text-align: left; cursor: pointer; color: inherit;
  background: var(--t-surface); border: 1px solid var(--kb-line); }
.kb-today-h { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; }
.kb-today-h small { color: var(--t-text-3); font-size: 12.5px; }
.kb-plan { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; align-items: end; gap: 6px; text-align: center; }
.kb-plan > span { display: grid; gap: 4px; }
.kb-plan b { color: var(--t-text); font: 600 clamp(19px, 5.6vw, 26px)/1 var(--font-display); letter-spacing: -.03em; font-variant-numeric: tabular-nums; white-space: nowrap; }
.kb-plan small { color: var(--t-text-3); font-size: 12px; }
.kb-plan i { font-style: normal; color: var(--t-text-3); font-size: 17px; padding-bottom: 18px; }
.kb-plan .kb-res b { color: var(--t-accent); }
.kb-today-note { color: var(--t-text-2); font-size: 13.5px; line-height: 1.4; }
.kb-bar { display: block; height: 4px; border-radius: 4px; background: var(--kb-line); overflow: hidden; }
.kb-bar s { display: block; height: 100%; border-radius: inherit; background: var(--t-accent); }

.kb-tiles { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.kb-tile { display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 2px 10px; align-items: center; padding: 13px 12px; border-radius: 16px;
  cursor: pointer; color: inherit; text-align: left; min-width: 0; background: var(--t-surface); border: 1px solid var(--kb-line); transition: transform .15s ease; }
.kb-tile:active { transform: scale(.98); }
.kb-ic { grid-row: span 2; width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; color: var(--t-accent);
  border: 1px solid rgba(var(--t-accent-rgb), .35); background: rgba(var(--t-accent-rgb), .07); }
.kb-ic svg { width: 17px; height: 17px; }
.kb-tile b { color: var(--t-text); font: 600 14px/1.2 var(--font-ui); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.kb-tile em { font-style: normal; color: var(--t-text-3); font: 500 12.5px/1.2 var(--font-ui); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

.kb-race { display: grid; gap: 10px; padding: 16px; border-radius: 18px; width: 100%; text-align: left; cursor: pointer; color: inherit;
  background: var(--t-surface); border: 1px solid var(--kb-line); }
.kb-race-row { display: flex; align-items: center; gap: 14px; }
.kb-place { min-width: 54px; color: var(--t-accent); font: 500 40px/1 var(--font-display); letter-spacing: -.04em; font-variant-numeric: tabular-nums; }
.kb-place sup { font-size: 13px; letter-spacing: 0; color: var(--t-text-3); }
.kb-race-tx { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.kb-race-tx b { color: var(--t-text); font: 600 15px/1.3 var(--font-ui); }
.kb-race-tx small { color: var(--t-text-3); font-size: 12.5px; }
.kb-prizes { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--kb-line); padding-top: 10px; }
.kb-prizes span { display: grid; gap: 4px; color: var(--t-text); font: 600 15px/1 var(--font-ui); font-variant-numeric: tabular-nums; }
.kb-prizes em { font-style: normal; color: var(--t-text-3); font: 500 10.5px/1 var(--font-ui); letter-spacing: .14em; text-transform: uppercase; }

.kb-cols, .kb-col { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
@media (min-width: 761px) and (max-width: 1099px) { .kb { max-width: 680px; } }
/* ПК: две колонки на всю рабочую ширину, разделы — в три в ряд (14.10). */
@media (min-width: 1100px) {
  .kb { max-width: 1180px; }
  .kb-cols { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); gap: 16px; align-items: start; }
  .kb-tiles { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* «Ещё» плитками (13.10): у плитки раздела нет второй строки — название по центру высоты значка. */
.more-tile { grid-template-rows: 34px; }
.more-tile b { white-space: normal; line-height: 1.2; }
.more-block .kb-tiles { margin-top: 8px; }

/* Серия дней (14.10). Материал карточки — среда мира (.kb-streak в семействе поверхностей product.env.css). */
.kb-streak { display: flex; align-items: center; gap: 16px; width: 100%; padding: 14px 16px; border-radius: 18px; cursor: pointer; color: inherit; text-align: left;
  background: var(--t-surface); border: 1px solid rgba(var(--t-accent-rgb), .35); }
.kb-streak-n { display: grid; justify-items: center; min-width: 56px; }
.kb-streak-n b { color: var(--t-accent); font: 500 34px/1 var(--font-display); letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
.kb-streak-n small { color: var(--t-text-3); font-size: 11.5px; }
.kb-streak-tx { display: grid; gap: 8px; flex: 1; min-width: 0; }
.kb-streak-tx small { color: var(--t-text-2); font-size: 13px; line-height: 1.35; }
.kb-streak-dots { display: grid; grid-template-columns: repeat(7, 1fr); gap: 5px; }
.kb-streak-dots s { height: 6px; border-radius: 3px; background: rgba(var(--t-text-rgb), .12); }
.kb-streak-dots s.on { background: var(--t-accent); box-shadow: 0 0 8px rgba(var(--t-accent-rgb), .5); }
.kb-tiles.kb-tiles-2 { grid-template-columns: 1fr 1fr !important; }

/* Розыгрыш Семьи (19.10): золото поверх любого мира — «чтобы выделялось». Только transform/opacity в анимации. */
.kb-cup { position: relative; overflow: hidden; display: grid; gap: 10px; padding: 18px; margin: 0 0 14px; border-radius: 20px;
  background: radial-gradient(120% 140% at 0% 0%, rgba(242,193,78,.28), rgba(242,193,78,.06) 55%, rgba(20,16,10,.6));
  border: 1px solid rgba(242,193,78,.55); box-shadow: 0 18px 40px -18px rgba(242,193,78,.45); color: #F7EBCB; }
.kb-cup::after { content: ""; position: absolute; inset: -40% auto -40% -30%; width: 40%; pointer-events: none;
  background: linear-gradient(90deg, transparent, rgba(255,240,200,.18), transparent); transform: translateX(-120%) rotate(18deg);
  animation: kbCupShine 4.5s ease-in-out infinite; }
@keyframes kbCupShine { 0%, 55% { transform: translateX(-120%) rotate(18deg); } 100% { transform: translateX(420%) rotate(18deg); } }
.kb-cup-head { display: grid; gap: 4px; }
.kb-cup-k { font: 800 10.5px/1 var(--font-ui); letter-spacing: .16em; text-transform: uppercase; color: #F2C14E; }
.kb-cup-head b { font: 800 24px/1.15 var(--font-display, var(--font-ui)); color: #FFF4D6; }
.kb-cup-head small, .kb-cup-in small, .kb-cup-why { font: 500 13.5px/1.4 var(--font-ui); color: #E7D9B4; margin: 0; }
.kb-cup-btn { width: 100%; min-height: 48px; font-weight: 800; background: linear-gradient(180deg, #FFE08A, #F2C14E) !important;
  color: #2A1D05 !important; border: 0 !important; }
.kb-cup-in { display: grid; gap: 4px; padding: 10px 12px; border-radius: 14px; background: rgba(34,201,156,.12); border: 1px solid rgba(34,201,156,.4); }
.kb-cup-in span { font: 800 15px/1.2 var(--font-ui); color: #6CF5C8; }
.kb-cup-err { color: #FF8A8D; font: 600 13px var(--font-ui); }
@media (prefers-reduced-motion: reduce) { .kb-cup::after { animation: none; display: none; } }
.am-devices ul { list-style: none; margin: 8px 0 0; padding: 0; display: grid; gap: 8px; }
.am-devices li { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 12px; border-radius: 12px;
  background: rgba(var(--t-border-rgb, 255, 255, 255), .04); border: 1px solid rgba(var(--t-border-rgb, 255, 255, 255), .08); }
.am-devices li span { display: grid; gap: 3px; min-width: 0; }
.am-devices li span b { font-size: 14px; }
.am-devices li span small { opacity: .7; font-size: 12.5px; letter-spacing: 0; text-transform: none; }
.am-devices li button { flex: none; }
.am-devices .am-devices-all { margin-top: 10px; }
/* «МОЯ ЦЕЛЬ» (правка 112, 12.10). Цвета — из токенов мира уровня: экран перекрашивается вместе со ступенью. */
/* .gl-veil — лист цели рисуется порталом вне .goal-page, ему нужны те же ТОКЕНЫ (14.10) — и только они.
   16.10 (тестер, «съехал интерфейс» в «Моих правилах»): раньше затемнение входило в правило страницы целиком и
   получало вместе с цветами раскладку страницы — max-width 860 и колонку. На ПК затемнение кончалось на 860 px,
   лист вставал не по центру, справа оставалась живая страница. Раскладка — только странице. */
.goal-page, .gl-veil {
  --gl-a1: var(--t-accent, #f2c14e);
  --gl-a2: var(--t-accent-strong, var(--t-accent, #f2a65a));
  --gl-rgb: var(--t-accent-rgb, 242, 193, 78);
  --gl-up: #2fd39a;
  --gl-down: #ff6b6b;
  --gl-line: rgba(var(--t-border-rgb, 255, 255, 255), .12);
}
.goal-page {
  display: flex;
  flex-direction: column;
  gap: 16px;
  max-width: 860px;
}
.goal-page .gl-eyebrow { display: block; font: 600 11px/1.2 var(--font-ui); letter-spacing: .16em; text-transform: uppercase; color: var(--t-text-3); }

.gl-title { padding: 6px 2px 2px; }
.gl-title h1 { margin: 6px 0 6px; font: 600 clamp(30px, 6vw, 42px)/1.05 var(--font-display); letter-spacing: -.02em; color: var(--t-text);
  background: linear-gradient(100deg, var(--t-text) 30%, var(--gl-a1)); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.gl-title p { margin: 0; max-width: 60ch; color: var(--t-text-2); font-size: 15px; line-height: 1.5; }

.gl-card {
  position: relative;
  border-radius: 22px;
  border: 1px solid var(--gl-line);
  background:
    radial-gradient(120% 90% at 100% 0%, rgba(var(--gl-rgb), .10), transparent 60%),
    linear-gradient(180deg, rgba(255, 255, 255, .035), rgba(255, 255, 255, .012));
  box-shadow: 0 1px 0 rgba(255, 255, 255, .05) inset, 0 18px 40px -24px rgba(0, 0, 0, .7);
  padding: 20px;
  overflow: hidden;
  animation: gl-in .45s cubic-bezier(.2, .8, .2, 1) both;
}
.gl-card h2, .gl-card h3 { margin: 6px 0 6px; color: var(--t-text); font: 600 21px/1.2 var(--font-display); letter-spacing: -.01em; text-wrap: balance; }
.gl-card p { color: var(--t-text-2); font-size: 15px; line-height: 1.5; margin: 0; }
@keyframes gl-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .gl-card { animation: none; } }

/* ── герой цели ── */
.gl-hero { padding: 22px 22px 18px; border-color: rgba(var(--gl-rgb), .28);
  background:
    radial-gradient(90% 120% at 0% 0%, rgba(var(--gl-rgb), .18), transparent 55%),
    radial-gradient(70% 90% at 100% 100%, rgba(var(--gl-rgb), .08), transparent 60%),
    linear-gradient(180deg, rgba(255, 255, 255, .04), rgba(255, 255, 255, .01)); }
.gl-hero::before { content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none;
  background: linear-gradient(120deg, transparent 40%, rgba(255, 255, 255, .06) 50%, transparent 60%); background-size: 250% 100%;
  animation: gl-sheen 6s ease-in-out infinite; }
@keyframes gl-sheen { 0%, 70% { background-position: 120% 0; } 100% { background-position: -120% 0; } }
@media (prefers-reduced-motion: reduce) { .gl-hero::before { animation: none; } }
.gl-hero-top { display: flex; align-items: center; gap: 20px; flex-wrap: wrap; }
.gl-ring-wrap { position: relative; width: 132px; height: 132px; flex: none; }
.gl-ring { width: 100%; height: 100%; filter: drop-shadow(0 0 14px rgba(var(--gl-rgb), .35)); }
.gl-ring-track { fill: none; stroke: rgba(255, 255, 255, .08); stroke-width: 10; }
.gl-ring-val { fill: none; stroke-width: 10; stroke-linecap: round; transition: stroke-dasharray .8s cubic-bezier(.2, .8, .2, 1); }
.gl-ring-in { position: absolute; inset: 0; display: grid; place-content: center; text-align: center; }
.gl-ring-in b { font: 600 30px/1 var(--font-display); color: var(--t-text); font-variant-numeric: tabular-nums; }
.gl-ring-in small { color: var(--t-text-3); font-size: 13px; margin-top: 2px; }
.gl-hero-num { display: flex; flex-direction: column; gap: 4px; min-width: 0; flex: 1 1 200px; }
.gl-big { font: 600 clamp(36px, 8vw, 48px)/1 var(--font-display); letter-spacing: -.02em; color: var(--t-text); font-variant-numeric: tabular-nums; margin: 4px 0 2px; }
.gl-hero-num > span { color: var(--t-text-2); font-size: 15px; }
.gl-hero-num strong { color: var(--t-text); font-weight: 700; }
.gl-left { margin-top: 4px; padding: 6px 10px; border-radius: 10px; align-self: flex-start; background: rgba(var(--gl-rgb), .1); color: var(--t-text) !important; }

.gl-chart { margin: 18px 0 0; }
.gl-chart svg { width: 100%; height: 120px; display: block; overflow: visible; }
.gl-chart-plan { fill: none; stroke: rgba(255, 255, 255, .35); stroke-width: 1.4; stroke-dasharray: 4 4; vector-effect: non-scaling-stroke; }
.gl-chart-fact { fill: none; stroke: var(--gl-a1); stroke-width: 2.6; stroke-linejoin: round; stroke-linecap: round; vector-effect: non-scaling-stroke; }
.gl-chart-target { stroke: rgba(var(--gl-rgb), .55); stroke-width: 1; stroke-dasharray: 1 5; vector-effect: non-scaling-stroke; }
.gl-chart-dot { fill: var(--gl-a1); stroke: var(--t-bg, #0b0d0f); stroke-width: 2; vector-effect: non-scaling-stroke; }
.gl-chart figcaption { display: flex; flex-wrap: wrap; gap: 6px 16px; margin-top: 8px; font-size: 13px; color: var(--t-text-3); }
.gl-chart figcaption span { display: inline-flex; align-items: center; gap: 6px; }
.gl-chart figcaption i { width: 16px; height: 0; border-top: 2.5px solid var(--gl-a1); border-radius: 2px; }
.gl-chart figcaption i.k-plan { border-top: 1.5px dashed rgba(255, 255, 255, .45); }
.gl-chart figcaption i.k-target { border-top: 1.5px dotted rgba(var(--gl-rgb), .8); }

.gl-need { display: flex; gap: 10px; align-items: flex-start; flex-wrap: wrap; margin-top: 16px; }
.gl-need p { flex: 1 1 240px; min-width: 0; }
.gl-need strong { color: var(--t-text); }
.gl-chip { display: inline-flex; align-items: center; padding: 5px 11px; border-radius: 999px; font: 600 12.5px/1.2 var(--font-ui); letter-spacing: .04em; white-space: nowrap;
  background: rgba(var(--gl-rgb), .14); color: var(--gl-a1); border: 1px solid rgba(var(--gl-rgb), .3); }
.gl-chip.v-calm, .gl-chip.v-done { background: rgba(47, 211, 154, .12); color: var(--gl-up); border-color: rgba(47, 211, 154, .32); }
.gl-chip.v-hard { background: rgba(255, 196, 80, .12); color: #ffc450; border-color: rgba(255, 196, 80, .32); }
.gl-chip.v-unreal { background: rgba(255, 107, 107, .12); color: var(--gl-down); border-color: rgba(255, 107, 107, .34); }
.gl-pace { margin-top: 10px !important; color: var(--t-text-2); font-size: 14.5px !important; }
.gl-hero-foot { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; margin-top: 16px; padding-top: 12px; border-top: 1px solid var(--gl-line); }
.gl-hero-foot small { color: var(--t-text-3); font-size: 13px; }

/* ── кнопки ── */
.gl-actions { display: grid; grid-template-columns: 1.4fr 1fr; gap: 10px; }
.gl-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 0 18px; border-radius: 14px; cursor: pointer;
  border: 1px solid rgba(var(--gl-rgb), .35); background: rgba(var(--gl-rgb), .08); color: var(--t-text); font: 700 15px/1 var(--font-ui);
  transition: transform .15s ease, background .2s ease; }
.gl-btn:hover { background: rgba(var(--gl-rgb), .14); }
.gl-btn:active { transform: scale(.98); }
.gl-btn:disabled { opacity: .55; cursor: default; }
.gl-btn svg { width: 18px; height: 18px; }
.gl-btn-main { border-color: transparent; color: var(--t-ink, #14110c);
  background: linear-gradient(135deg, var(--gl-a1), var(--gl-a2)); box-shadow: 0 10px 26px -12px rgba(var(--gl-rgb), .8); }
.gl-btn-main:hover { background: linear-gradient(135deg, var(--gl-a1), var(--gl-a2)); filter: brightness(1.06); }
.gl-wide { width: 100%; margin-top: 4px; }
.gl-link { background: none; border: 0; padding: 4px 0; cursor: pointer; color: var(--gl-a1); font: 700 14px/1.2 var(--font-ui); }
.gl-link.danger { color: var(--gl-down); }

/* ── пустая цель / форма ── */
.gl-empty-head { display: flex; gap: 16px; align-items: flex-start; margin-bottom: 16px; }
.gl-empty-gem, .gl-plan-gem, .gl-sent-gem { flex: none; width: 54px; height: 54px; border-radius: 16px; display: grid; place-items: center;
  background: linear-gradient(135deg, var(--gl-a1), var(--gl-a2)); color: var(--t-ink, #14110c); box-shadow: 0 10px 28px -10px rgba(var(--gl-rgb), .9); }
.gl-empty-gem svg, .gl-plan-gem svg, .gl-sent-gem svg { width: 26px; height: 26px; }
.gl-form { display: flex; flex-direction: column; gap: 14px; }
.gl-fields, .gl-grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.gl-fields label, .gl-q { display: flex; flex-direction: column; gap: 7px; min-width: 0; }
.gl-fields label > span, .gl-q > span, .gl-days > span { color: var(--t-text-2); font: 700 13px/1.3 var(--font-ui); }
.gl-q > span small { font-weight: 500; color: var(--t-text-3); }
.gl-fields em, .gl-money { display: flex; align-items: center; gap: 4px; padding: 0 14px; min-height: 52px; border-radius: 14px; font-style: normal;
  border: 1px solid var(--gl-line); background: rgba(0, 0, 0, .25); color: var(--t-text-3); font: 700 18px/1 var(--font-display); }
.gl-fields em:focus-within, .gl-money:focus-within, .gl-input:focus { border-color: rgba(var(--gl-rgb), .6); box-shadow: 0 0 0 3px rgba(var(--gl-rgb), .15); outline: none; }
.gl-fields input, .gl-money input { flex: 1; min-width: 0; border: 0; background: none; outline: none; color: var(--t-text); font: 600 20px/1 var(--font-display); font-variant-numeric: tabular-nums; }
.gl-money-big { min-height: 64px; justify-content: center; font-size: 26px; }
.gl-money-big input { flex: 0 1 160px; font-size: 30px; text-align: center; }
.gl-days { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.gl-days button, .gl-seg button, .gl-sugg button { border: 1px solid var(--gl-line); background: rgba(255, 255, 255, .03); color: var(--t-text-2);
  border-radius: 999px; padding: 9px 14px; font: 700 14px/1 var(--font-ui); cursor: pointer; transition: all .15s ease; }
.gl-days button.on, .gl-seg button.on, .gl-sugg button.on { border-color: rgba(var(--gl-rgb), .7); background: rgba(var(--gl-rgb), .16); color: var(--t-text); }
.gl-days em { font-style: normal; display: inline-flex; align-items: center; gap: 4px; color: var(--t-text-3); font-size: 14px; }
.gl-days em input { width: 56px; padding: 8px; border-radius: 10px; border: 1px solid var(--gl-line); background: rgba(0, 0, 0, .25); color: var(--t-text); font: 700 15px/1 var(--font-ui); text-align: center; }
.gl-preview { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; padding: 12px 14px; border-radius: 14px; background: rgba(255, 255, 255, .03); border: 1px dashed var(--gl-line); }
.gl-preview strong { color: var(--t-text); }
.gl-err { color: var(--gl-down) !important; font-weight: 600; }
.gl-note { color: var(--t-text-3); font-size: 13px; line-height: 1.45; display: block; margin-top: 12px; }
.gl-input { width: 100%; padding: 13px 14px; border-radius: 14px; border: 1px solid var(--gl-line); background: rgba(0, 0, 0, .25); color: var(--t-text); font: 500 15px/1.4 var(--font-ui); }
.gl-area { resize: vertical; min-height: 150px; }
.gl-inline { display: flex; flex-direction: column; gap: 6px; margin-top: 10px; color: var(--t-text-2); font-size: 13px; font-weight: 700; }
.gl-seg { display: flex; gap: 8px; flex-wrap: wrap; }
.gl-seg-wrap button { display: inline-flex; align-items: center; gap: 6px; }
.gl-seg i, .gl-bar-name i, .gl-labels i, .gl-jrow b i { font-style: normal; color: var(--gl-a1); margin-right: 6px; }
.gl-res button { flex: 1; border-radius: 12px; min-height: 46px; }
.gl-res button.r-win.on { border-color: rgba(47, 211, 154, .7); background: rgba(47, 211, 154, .16); }
.gl-res button.r-loss.on { border-color: rgba(255, 107, 107, .7); background: rgba(255, 107, 107, .16); }
.gl-sugg { display: flex; gap: 6px; flex-wrap: wrap; }
.gl-sugg button { padding: 7px 11px; font-size: 13px; }

/* ── правила ── */
.gl-rules > header, .gl-stats > header, .gl-journal > header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; }
.gl-rules-empty, .gl-plan { display: flex; gap: 16px; align-items: center; flex-wrap: wrap; }
.gl-rules-empty > div, .gl-plan > div { flex: 1 1 260px; min-width: 0; }
.gl-rule-chips { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.gl-rule-chips li { padding: 8px 12px; border-radius: 12px; background: rgba(255, 255, 255, .04); border: 1px solid var(--gl-line); color: var(--t-text); font-size: 14px; }
.gl-meters { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 12px; margin-top: 16px; }
.gl-meters > div { display: flex; flex-direction: column; gap: 7px; padding: 12px; border-radius: 14px; background: rgba(0, 0, 0, .2); }
.gl-meters span { color: var(--t-text-2); font-size: 13.5px; }
.gl-meters b { color: var(--t-text); font-variant-numeric: tabular-nums; }
.gl-meters i { display: block; height: 6px; border-radius: 99px; background: rgba(255, 255, 255, .07); overflow: hidden; }
.gl-meters s { display: block; height: 100%; border-radius: inherit; background: var(--gl-a1); transition: width .6s ease; }
.gl-meters .m-up s { background: var(--gl-up); }
.gl-meters .m-down s { background: var(--gl-down); }
.gl-rules.is-hit { border-color: rgba(255, 196, 80, .5); }
.gl-hit { margin-top: 14px !important; padding: 12px 14px; border-radius: 14px; background: rgba(255, 196, 80, .1); border: 1px solid rgba(255, 196, 80, .3); color: var(--t-text) !important; }
.gl-warn { display: block; margin-top: 12px; color: #ffc450 !important; font-size: 13.5px !important; }

/* ── статистика ── */
.gl-tally { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.gl-tally > div { padding: 14px; border-radius: 16px; background: rgba(0, 0, 0, .22); display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.gl-tally b { font: 600 26px/1 var(--font-display); color: var(--t-text); font-variant-numeric: tabular-nums; }
.gl-tally small { color: var(--t-text-3); font-size: 13px; }
.gl-tally .up b { color: var(--gl-up); } .gl-tally .down b { color: var(--gl-down); }
.gl-best { margin-top: 14px !important; padding: 12px 14px; border-radius: 14px; background: rgba(var(--gl-rgb), .1); border: 1px solid rgba(var(--gl-rgb), .28); color: var(--t-text) !important; }
.gl-best span { color: var(--gl-a1); margin-right: 4px; }
.gl-streak { margin-top: 10px !important; font-size: 14px !important; }
.gl-streak.win { color: var(--gl-up) !important; } .gl-streak.loss { color: var(--gl-down) !important; }
.gl-bars { display: flex; flex-direction: column; gap: 10px; margin-top: 16px; }
.gl-bar { display: grid; grid-template-columns: minmax(0, 150px) 1fr auto; gap: 12px; align-items: center; }
.gl-bar-name { color: var(--t-text); font-size: 14px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.gl-bar-track { height: 9px; border-radius: 99px; background: rgba(255, 255, 255, .07); overflow: hidden; }
.gl-bar-track s { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--gl-a2), var(--gl-a1)); transition: width .7s cubic-bezier(.2, .8, .2, 1); }
.gl-bar-val { color: var(--t-text); font: 600 15px/1 var(--font-ui); font-variant-numeric: tabular-nums; text-align: right; min-width: 64px; }
.gl-bar-val small { display: block; color: var(--t-text-3); font-size: 12px; font-weight: 500; margin-top: 3px; }
.gl-labels { list-style: none; margin: 16px 0 0; padding: 0; display: flex; flex-direction: column; gap: 2px; border-top: 1px solid var(--gl-line); padding-top: 10px; }
.gl-labels li { display: grid; grid-template-columns: 1fr auto; gap: 2px 12px; padding: 8px 2px; }
.gl-labels li span { color: var(--t-text); font-size: 14.5px; min-width: 0; overflow-wrap: anywhere; }
.gl-labels li b { color: var(--gl-a1); font-variant-numeric: tabular-nums; }
.gl-labels li small { grid-column: 1 / -1; color: var(--t-text-3); font-size: 12.5px; }

/* ── журнал ── */
.gl-jday + .gl-jday { margin-top: 14px; }
.gl-jday h4 { display: flex; justify-content: space-between; margin: 0 0 6px; color: var(--t-text-3); font: 600 12.5px/1.2 var(--font-ui); letter-spacing: .08em; text-transform: uppercase; }
.gl-jday h4 span { letter-spacing: 0; color: var(--t-text-2); }
.gl-jrow { display: grid; grid-template-columns: auto 1fr auto auto; gap: 12px; align-items: center; padding: 11px 0; border-top: 1px solid var(--gl-line); }
.gl-jres { padding: 5px 9px; border-radius: 9px; font: 600 12px/1 var(--font-ui); background: rgba(255, 255, 255, .06); color: var(--t-text-2); min-width: 62px; text-align: center; }
.gl-jrow.r-win .gl-jres { background: rgba(47, 211, 154, .14); color: var(--gl-up); }
.gl-jrow.r-loss .gl-jres { background: rgba(255, 107, 107, .14); color: var(--gl-down); }
.gl-jrow > div { min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.gl-jrow b { color: var(--t-text); font-weight: 650; font-size: 14.5px; overflow-wrap: anywhere; }
.gl-jrow small { color: var(--t-text-3); font-size: 12.5px; overflow-wrap: anywhere; }
.gl-jpnl { color: var(--t-text); font-weight: 700; font-variant-numeric: tabular-nums; }
.gl-jrow.r-win .gl-jpnl { color: var(--gl-up); } .gl-jrow.r-loss .gl-jpnl { color: var(--gl-down); }
.gl-jdel { background: none; border: 0; color: var(--t-text-3); cursor: pointer; padding: 6px; border-radius: 8px; }
.gl-jdel svg { width: 16px; height: 16px; }
.gl-jdel-ask { display: inline-flex; gap: 6px; }
.gl-jdel-ask button { border: 1px solid var(--gl-line); background: none; color: var(--t-text-2); border-radius: 9px; padding: 6px 9px; font-size: 12.5px; cursor: pointer; }
.gl-jdel-ask button:first-child { color: var(--gl-down); border-color: rgba(255, 107, 107, .4); }
.gl-more { margin-top: 10px; }

/* ── листы ── */
.gl-veil { position: fixed; inset: 0; z-index: 120; display: flex; align-items: flex-end; justify-content: center;
  background: rgba(4, 5, 7, .7); backdrop-filter: blur(10px); animation: gl-fade .2s ease-out; }
.gl-sheet { width: min(560px, 100%); max-height: 92dvh; overflow: auto; border-radius: 24px 24px 0 0; padding: 18px 18px calc(20px + env(safe-area-inset-bottom, 0px));
  background: linear-gradient(180deg, var(--t-surface-2, #1a1d22), var(--t-surface, #121417)); border: 1px solid var(--gl-line); border-bottom: 0;
  box-shadow: 0 -20px 60px -20px rgba(0, 0, 0, .8); animation: gl-up .28s cubic-bezier(.2, .8, .2, 1); }
.gl-sheet > header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 14px; }
.gl-sheet > header h3 { margin: 0; color: var(--t-text); font: 600 20px/1.2 var(--font-display); }
.gl-x { background: rgba(255, 255, 255, .06); border: 0; color: var(--t-text-2); width: 36px; height: 36px; border-radius: 12px; display: grid; place-items: center; cursor: pointer; }
.gl-x svg { width: 18px; height: 18px; }
@media (min-width: 761px) { .gl-veil { align-items: center; } .gl-sheet { border-radius: 24px; border-bottom: 1px solid var(--gl-line); } }
@keyframes gl-fade { from { opacity: 0; } }
@keyframes gl-up { from { transform: translateY(40px); opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .gl-veil, .gl-sheet { animation: none; } }
.gl-sent { display: flex; flex-direction: column; align-items: center; gap: 10px; text-align: center; padding: 10px 0; }
.gl-sent h4 { margin: 4px 0 0; color: var(--t-text); font: 600 22px/1.2 var(--font-display); }
.gl-sent p { color: var(--t-text-2); margin: 0 0 6px; }
.gl-reset { display: flex; gap: 12px; align-items: center; justify-content: center; margin-top: 14px; color: var(--t-text-3); font-size: 14px; }

@media (max-width: 560px) {
  .gl-card { padding: 16px; border-radius: 20px; }
  .gl-hero-top { gap: 14px; }
  .gl-ring-wrap { width: 108px; height: 108px; }
  .gl-ring-in b { font-size: 24px; }
  .gl-actions { grid-template-columns: 1fr; }
  .gl-fields, .gl-grid2 { grid-template-columns: 1fr; }
  .gl-tally b { font-size: 21px; }
  .gl-bar { grid-template-columns: minmax(0, 110px) 1fr auto; gap: 8px; }
  .gl-jrow { grid-template-columns: auto 1fr auto; }
  .gl-jrow .gl-jdel, .gl-jrow .gl-jdel-ask { grid-column: 3; }
}

/* ── «Сегодня»: фраза дня и цель одной строкой ── */
.today-phrase { position: relative; margin: 0; padding: 16px 18px 16px 50px; border-radius: 18px; border: 1px solid rgba(var(--t-accent-rgb, 242, 193, 78), .22);
  background: radial-gradient(120% 140% at 0% 0%, rgba(var(--t-accent-rgb, 242, 193, 78), .12), transparent 60%), rgba(255, 255, 255, .02); animation: gl-in .5s ease both; }
.today-phrase::before { content: "“"; position: absolute; left: 14px; top: 2px; font: 600 52px/1 Georgia, "Times New Roman", serif; color: var(--t-accent, #f2c14e); opacity: .85; }
.today-phrase blockquote { margin: 0; color: var(--t-text); font: 600 17px/1.45 var(--font-display); text-wrap: pretty; }
.today-phrase figcaption { margin-top: 8px; color: var(--t-text-3); font: 700 12px/1.2 var(--font-ui); letter-spacing: .12em; text-transform: uppercase; }
.today-goal { display: grid; grid-template-columns: auto 1fr auto; gap: 14px; align-items: center; width: 100%; text-align: left; cursor: pointer;
  padding: 14px 16px; border-radius: 18px; border: 1px solid rgba(var(--t-accent-rgb, 242, 193, 78), .25); color: inherit;
  background: linear-gradient(120deg, rgba(var(--t-accent-rgb, 242, 193, 78), .1), transparent 70%), rgba(255, 255, 255, .02); }
.today-goal > i { width: 44px; height: 44px; border-radius: 14px; display: grid; place-items: center; font-style: normal;
  background: linear-gradient(135deg, var(--t-accent, #f2c14e), var(--t-accent-strong, var(--t-accent, #f2a65a))); color: var(--t-ink, #14110c); }
.today-goal > i svg { width: 22px; height: 22px; }
.today-goal > div { min-width: 0; display: flex; flex-direction: column; gap: 5px; }
.today-goal small { color: var(--t-accent, #f2c14e); font: 600 11.5px/1.2 var(--font-ui); letter-spacing: .12em; }
.today-goal b { color: var(--t-text); font-weight: 700; font-size: 15.5px; font-variant-numeric: tabular-nums; }
.today-goal em { display: block; height: 5px; border-radius: 99px; background: rgba(255, 255, 255, .08); overflow: hidden; }
.today-goal em s { display: block; height: 100%; background: var(--t-accent, #f2c14e); border-radius: inherit; }
.today-goal > svg { width: 18px; height: 18px; color: var(--t-text-3); }

/* ── калькулятор сделок в день ── */
.gl-calc > header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; }
.gl-calc-main { display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; }
.gl-calc-main .gl-big { margin: 0; }
.gl-calc-main span { color: var(--t-text-2); font-size: 15px; flex: 1 1 200px; min-width: 0; }
.gl-calc.s-negative .gl-calc-main .gl-big { color: var(--gl-down); }
.gl-calc-facts { list-style: none; margin: 14px 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: 8px; }
.gl-calc-facts li { display: flex; flex-direction: column; gap: 4px; padding: 10px 12px; border-radius: 12px; background: rgba(0, 0, 0, .2); }
.gl-calc-facts span { color: var(--t-text-3); font-size: 12.5px; }
.gl-calc-facts b { color: var(--t-text); font-variant-numeric: tabular-nums; }

/* ── календарь новостей ── */
.cal-filters { display: flex; flex-wrap: wrap; gap: 10px; justify-content: space-between; }
.cal-next { border-color: rgba(255, 196, 80, .45); background: linear-gradient(120deg, rgba(255, 196, 80, .12), transparent 70%), rgba(255, 255, 255, .02); }
.cal-list { padding: 8px 18px 16px; }
.cal-row { display: grid; grid-template-columns: 74px 1fr; gap: 14px; padding: 14px 0; border-top: 1px solid var(--gl-line); }
.cal-row:first-child { border-top: 0; }
.cal-row.past { opacity: .62; }
.cal-time b { display: block; color: var(--t-text); font: 600 18px/1 var(--font-display); font-variant-numeric: tabular-nums; }
.cal-stars { display: inline-flex; gap: 3px; margin-top: 8px; }
.cal-stars i { width: 8px; height: 8px; border-radius: 2px; transform: rotate(45deg); background: rgba(255, 255, 255, .12); }
.cal-stars i.on { background: var(--gl-a1); box-shadow: 0 0 8px rgba(var(--gl-rgb), .6); }
.cal-row.s3 .cal-stars i.on { background: #ff8a5c; box-shadow: 0 0 8px rgba(255, 138, 92, .6); }
.cal-body { min-width: 0; display: flex; flex-direction: column; gap: 8px; }
.cal-body > b { color: var(--t-text); font-weight: 650; font-size: 15px; line-height: 1.35; overflow-wrap: anywhere; }
.cal-body em { font-style: normal; display: inline-block; margin-right: 8px; padding: 2px 7px; border-radius: 7px; background: rgba(var(--gl-rgb), .14); color: var(--gl-a1); font: 600 12px/1.4 var(--font-ui); }
.cal-vals { display: flex; flex-wrap: wrap; gap: 6px 16px; color: var(--t-text-3); font-size: 13px; }
.cal-vals strong { color: var(--t-text-2); font-variant-numeric: tabular-nums; margin-left: 4px; }
.cal-vals .is-fact strong { color: var(--gl-a1); }
.gl-calc-why { margin-top: 12px; }
.gl-calc-why summary { cursor: pointer; color: var(--t-text-3); font-size: 13px; font-weight: 700; list-style: none; }
.gl-calc-why summary::-webkit-details-marker { display: none; }
.gl-calc-why summary::after { content: " ›"; }
.gl-calc-why[open] summary::after { content: " ⌄"; }
.gl-calc-why p { margin-top: 8px !important; font-size: 13.5px !important; color: var(--t-text-3) !important; }

/* ── 13.10: «Цель» — путь, «Сегодня», остальное свёрнуто (Амир: «пиздец столько всего… хочу визуал, легко, понятно»).
   Материал карточек даёт среда мира (.gl-card записан в семейство поверхностей product.env.css), шрифт заголовка —
   `.page-title` мира. Здесь только раскладка и токены. */
.gl-path { display: grid; grid-template-columns: 128px minmax(0, 1fr); gap: 18px; align-items: center; }
.gl-path .gl-ring-wrap { width: 128px; height: 128px; }
.gl-facts { margin: 0; display: grid; gap: 12px; }
.gl-facts div { display: grid; gap: 2px; }
.gl-facts dt { color: var(--t-text-3); font-size: 12px; }
.gl-facts dd { margin: 0; color: var(--t-text); font: 600 20px/1.1 var(--font-display); letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.gl-today { display: grid; gap: 14px; }
.gl-today > header { display: flex; justify-content: space-between; align-items: baseline; }
.gl-today > header span { color: var(--t-text-3); font-size: 12.5px; }
.gl-plan3 { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; align-items: end; gap: 6px; text-align: center; }
.gl-plan3 > span { display: grid; gap: 4px; }
.gl-plan3 b { white-space: nowrap; color: var(--t-text); font: 600 clamp(20px, 6vw, 28px)/1 var(--font-display); letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
.gl-plan3 small { color: var(--t-text-3); font-size: 12px; }
.gl-plan3 i { font-style: normal; color: var(--t-text-3); font-size: 17px; padding-bottom: 18px; }
.gl-plan3 .res b { color: var(--t-accent); }
.gl-today-note { margin: 0; color: var(--t-text-2); font-size: 14.5px; line-height: 1.45; }
.gl-today-note strong { color: var(--t-text); }
.gl-today-bar { display: grid; gap: 6px; }
.gl-today-bar i { display: block; height: 5px; border-radius: 5px; background: rgba(var(--t-text-rgb), .1); overflow: hidden; }
.gl-today-bar s { display: block; height: 100%; border-radius: inherit; background: var(--t-accent); }
.gl-today-bar span, .gl-today-hint { color: var(--t-text-3); font-size: 12.5px; }
.gl-today-warn { margin: 0; padding: 10px 12px; border-radius: 12px; font-size: 13px; color: var(--t-text-2); border: 1px solid rgba(var(--t-accent-rgb), .3); }
.gl-today-btns { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.gl-today-btns > * { height: 46px !important; width: 100%; font-size: 14px !important; white-space: nowrap; padding-inline: 8px !important; }
.gl-today-day { justify-self: center; }
.gl-rows { display: grid; border-radius: 18px; border: 1px solid var(--gl-line); background: var(--t-surface); overflow: hidden; }
.gl-rows > * + * { border-top: 1px solid var(--gl-line); }
.gl-row { display: flex; justify-content: space-between; align-items: center; gap: 12px; width: 100%; padding: 15px 16px; cursor: pointer; list-style: none;
  color: var(--t-text); font: 500 15px/1.2 var(--font-ui); text-align: left; background: none; border: 0; }
.gl-row::-webkit-details-marker { display: none; }
.gl-row em { font-style: normal; color: var(--t-text-3); font-size: 13px; display: flex; align-items: center; gap: 6px; }
.gl-row em svg { width: 16px; height: 16px; }
.gl-row-d > summary.gl-row em::after { content: "›"; font-size: 18px; transition: transform .2s; }
.gl-row-d[open] > summary.gl-row em::after { transform: rotate(90deg); }
.gl-row-body { padding: 0 12px 12px; }
.gl-row-body > .gl-card, .gl-row-body > figure { margin: 0; }
@media (max-width: 420px) { .gl-path { grid-template-columns: 108px minmax(0, 1fr); } .gl-path .gl-ring-wrap { width: 108px; height: 108px; } .gl-plan3 b { font-size: 24px; } }

/* Карточки внутри раскрытой строки — без второй рамки: рамка уже у списка строк. */
.app .gl-row-body > .gl-card:not(#am-env):not(#am-hero) { background: none !important; border: 0 !important; box-shadow: none !important; padding: 6px 4px !important; }

/* Калькулятор (13.10): любая сумма на счёте — без сохранения; сохраняет только «Сделать моей целью». */
.gl-calc2 { display: grid; gap: 14px; }
.gl-calc2 > header { display: flex; justify-content: space-between; align-items: baseline; }
.gl-calc2 > header span { color: var(--t-text-3); font-size: 12.5px; }
.gl-calc2 .gl-days { flex-wrap: wrap; }

/* ── КАЛЕНДАРЬ ЦЕЛИ (19.10): цвет со смыслом — зелёный плюс, красный минус, пунктир — прошлый день без записи. ── */
.gl-cal { padding: 18px 16px 14px; }
.gl-cal.is-loading .gl-cal-grid { opacity: .55; transition: opacity .2s; }
.gl-cal-head { display: grid; grid-template-columns: 40px 1fr 40px; align-items: center; text-align: center; }
.gl-cal-head h3 { margin: 4px 0 0; font-size: 20px; }
.gl-cal-nav { width: 40px; height: 40px; border-radius: 12px; border: 1px solid var(--gl-line); background: rgba(255, 255, 255, .03);
  color: var(--t-text); display: grid; place-items: center; cursor: pointer; transition: background .2s, border-color .2s, opacity .2s; }
.gl-cal-nav svg { width: 18px; height: 18px; }
.gl-cal-nav.prev svg { transform: rotate(180deg); }
.gl-cal-nav:hover:not(:disabled) { border-color: rgba(var(--gl-rgb), .5); background: rgba(var(--gl-rgb), .08); }
.gl-cal-nav:disabled { opacity: .25; cursor: default; }
.gl-cal-sum { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; margin: 12px 2px 12px !important;
  font-size: 14px !important; color: var(--t-text-2); }
.gl-cal-sum b { font-variant-numeric: tabular-nums; color: var(--t-text); }
.gl-cal-sum > b { font: 600 16px/1 var(--font-display); }
.gl-cal-sum .up { color: var(--gl-up); } .gl-cal-sum .down { color: var(--gl-down); }
.gl-cal-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 5px; }
.gl-cal-wd { text-align: center; font: 600 11px/1 var(--font-ui); letter-spacing: .06em; color: var(--t-text-3); padding: 2px 0 6px; }
.gl-cal-cell { position: relative; min-width: 0; aspect-ratio: 1 / 1.02; border-radius: 12px; border: 1px solid var(--gl-line);
  background: rgba(255, 255, 255, .025); color: var(--t-text); display: flex; flex-direction: column; align-items: center;
  justify-content: center; gap: 3px; padding: 2px; cursor: pointer; font-variant-numeric: tabular-nums;
  transition: transform .15s cubic-bezier(.2, .8, .2, 1), border-color .2s, background .2s; }
.gl-cal-cell .n { font: 600 14px/1 var(--font-ui); }
.gl-cal-cell .v { font: 700 10.5px/1 var(--font-ui); letter-spacing: -.02em; max-width: 100%; overflow: hidden; text-overflow: clip; white-space: nowrap; }
.gl-cal-cell:not(:disabled):hover { transform: translateY(-1px); border-color: rgba(var(--gl-rgb), .55); }
.gl-cal-cell:focus-visible { outline: 2px solid var(--gl-a1); outline-offset: 2px; }
.gl-cal-cell.is-blank { border: 0; background: none; cursor: default; }
.gl-cal-cell.is-empty { border-style: dashed; border-color: rgba(var(--t-border-rgb, 255, 255, 255), .2); background: none; }
.gl-cal-cell.is-empty .n { color: var(--t-text-2); }
.gl-cal-cell.is-plus { border-color: rgba(47, 211, 154, .38); background: linear-gradient(180deg, rgba(47, 211, 154, .2), rgba(47, 211, 154, .07)); }
.gl-cal-cell.is-plus .v { color: var(--gl-up); }
.gl-cal-cell.is-minus { border-color: rgba(255, 107, 107, .38); background: linear-gradient(180deg, rgba(255, 107, 107, .2), rgba(255, 107, 107, .07)); }
.gl-cal-cell.is-minus .v { color: var(--gl-down); }
.gl-cal-cell.is-zero .v { color: var(--t-text-2); }
.gl-cal-cell.is-off { opacity: .28; cursor: default; background: none; border-color: transparent; }
.gl-cal-cell.is-today { box-shadow: 0 0 0 1.5px var(--gl-a1), 0 0 18px -4px rgba(var(--gl-rgb), .7); }
.gl-cal-cell.is-today .n { color: var(--gl-a1); }
.gl-cal-hint { display: block; margin-top: 10px; text-align: center; color: var(--t-text-3); font-size: 12.5px; }
@media (min-width: 761px) {
  .gl-cal { padding: 22px 22px 16px; }
  .gl-cal-grid { gap: 8px; }
  .gl-cal-cell { aspect-ratio: 1.9 / 1; }
  .gl-cal-cell .n { font-size: 15px; } .gl-cal-cell .v { font-size: 12.5px; }
}
@media (prefers-reduced-motion: reduce) { .gl-cal-cell { transition: none; } }

/* лист дня из календаря */
.gl-date-sum { display: flex; flex-direction: column; gap: 4px; padding: 14px 16px; border-radius: 16px; border: 1px solid var(--gl-line);
  background: rgba(255, 255, 255, .03); margin-bottom: 14px; }
.gl-date-sum small { color: var(--t-text-3); font-size: 13px; }
.gl-date-sum b { font: 600 30px/1.05 var(--font-display); color: var(--t-text-2); font-variant-numeric: tabular-nums; }
.gl-date-sum.up { border-color: rgba(47, 211, 154, .35); background: rgba(47, 211, 154, .08); } .gl-date-sum.up b { color: var(--gl-up); }
.gl-date-sum.down { border-color: rgba(255, 107, 107, .35); background: rgba(255, 107, 107, .08); } .gl-date-sum.down b { color: var(--gl-down); }
.gl-date-list { margin-bottom: 14px; }
.gl-date-list .gl-jrow { grid-template-columns: auto 1fr auto; }
.gl-date-btns { display: grid; gap: 8px; }
.gl-date-btns > * { width: 100%; }
/* ДВИЖЕНИЕ ЦЕНЫ (09.10, концепт «Шрифт»): без цифр цены. Тёмная сцена, золото, изумруд, гранат. */
.tm { --bull: #2fd39a; --bear: #ff5c6c; --gold: #e9c46a;
  position: relative; display: flex; flex-direction: column; gap: 4px; padding: 12px 12px 6px; border-radius: 22px;
  background: linear-gradient(180deg, rgba(255, 255, 255, .035), rgba(255, 255, 255, .01)); color: #f4f1ea;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .09); }
.tm-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 2px 4px 0; }
.tm-label { font: 700 11px/1 "Onest", system-ui, sans-serif; letter-spacing: .18em; text-transform: uppercase; color: #9a9ca6; }
.tm-live { display: inline-flex; align-items: center; gap: 7px; padding: 7px 11px; border-radius: 999px; font: 700 12px/1 "Onest", system-ui, sans-serif;
  background: rgba(255, 255, 255, .04); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .09); color: #f4f1ea; }
.tm-live i { width: 7px; height: 7px; border-radius: 50%; background: var(--bull); box-shadow: 0 0 10px var(--bull); animation: tm-live 1.6s ease-in-out infinite; }
@keyframes tm-live { 50% { opacity: .35; } }
.tm-wait { margin: 0; padding: 48px 0; text-align: center; color: #9a9ca6; font-size: 13px; }
.tm-chart { display: block; width: 100%; height: 170px; }
.tm-compact .tm-chart { height: 124px; }
.tm-c line { stroke-width: 1; }
.tm-c.bull line { stroke: var(--bull); } .tm-c.bull rect { fill: var(--bull); }
.tm-c.bear line { stroke: var(--bear); } .tm-c.bear rect { fill: var(--bear); }
.tm-c rect { opacity: .85; }
.tm-line { fill: none; stroke: var(--gold); stroke-width: 1.6; stroke-linejoin: round; filter: drop-shadow(0 0 4px color-mix(in srgb, var(--gold) 55%, transparent)); }
.tm-now { fill: color-mix(in srgb, var(--gold) 35%, #fff); }
.tm-entry line { stroke-width: 1.2; stroke-dasharray: 6 5; }
.tm-entry text { font: 800 9.5px "Onest", system-ui, sans-serif; letter-spacing: .04em; }
.tm-entry.bull line { stroke: var(--bull); } .tm-entry.bull rect { fill: var(--bull); } .tm-entry.bull text { fill: #04140e; }
.tm-entry.bear line { stroke: var(--bear); } .tm-entry.bear rect { fill: var(--bear); } .tm-entry.bear text { fill: #fff; }
.tm-say { margin: 0; padding: 2px 6px 10px; text-align: center; font: 600 14px/1.35 "Onest", system-ui, sans-serif; color: #9ff2cd; }
.tm-say.neg { color: #ffb0b8; }

/* Сумма открытой сделки: изумруд «в плюсе», гранат «в минусе», полоса до закрытия золотом. */
.tm-pnl { --pc: #2fd39a; display: grid; justify-items: center; gap: 6px; padding: 16px 18px; border-radius: 20px; text-align: center;
  background: radial-gradient(90% 140% at 0% 0%, color-mix(in srgb, var(--pc) 28%, transparent), transparent 70%), rgba(255, 255, 255, .02);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--pc) 45%, transparent); transition: background .5s, box-shadow .5s; }
.tm-pnl.neg { --pc: #ff5c6c; }
.tm-pnl.flat { --pc: #e9c46a; }
.tm-pnl small { font: 700 10.5px/1 "Onest", system-ui, sans-serif; letter-spacing: .18em; text-transform: uppercase; color: color-mix(in srgb, var(--pc) 70%, #fff); }
.tm-pnl b { font: 800 30px/1.05 "Unbounded", "Onest", sans-serif; font-variant-numeric: tabular-nums; color: color-mix(in srgb, var(--pc) 60%, #fff);
  text-shadow: 0 0 28px color-mix(in srgb, var(--pc) 55%, transparent); }
.tm-bar { width: 100%; height: 4px; margin-top: 6px; border-radius: 99px; background: rgba(255, 255, 255, .06); overflow: hidden; }
.tm-bar i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #e9c46a, #fff3cf); transition: width 1s linear; }

@media (prefers-reduced-motion: reduce) { .tm-live i { animation: none; } }
/* «НАЙТИ СДЕЛКУ» — ТРИ ШАГА КАК В БОТЕ (03.10, язык v2: amir-markets/design/SPEC-v2.md).
   Без звёзд, рамок и текстур: тихий чёрный, стекло, одна сильная кнопка. Акцент — переменными
   --v2-accent*, по умолчанию золото GOLD; другие ступени подставят свой цвет. */
.v2-gen {
  --v2-panel: rgba(255, 255, 255, .028); --v2-panel2: rgba(255, 255, 255, .045);
  --v2-line: rgba(255, 255, 255, .075); --v2-line2: rgba(255, 255, 255, .12);
  --v2-t1: #F3F0E9; --v2-t2: #ABA69C; --v2-t3: #6F6A61;
  --v2-accent: var(--v2-gold, #D9B66E); --v2-accent2: var(--v2-gold2, #F2DCA6);
  --v2-accentline: rgba(217, 182, 110, .32); --v2-accenttop: #F4DFA9; --v2-accentink: #1a1408;
  --v2-accentglow: rgba(217, 182, 110, .55); --v2-accentsoft: rgba(217, 182, 110, .08);
  --v2-bull: #2BC59A; --v2-bear: #F0625E;
  --v2-num: "JetBrains Mono", ui-monospace, Menlo, monospace;
  display: flex; flex-direction: column; gap: 14px;
  max-width: 520px; margin: 0 auto; padding: 20px 18px 22px;
  border-radius: 24px; color: var(--v2-t1);
  background: linear-gradient(180deg, rgba(255, 255, 255, .02), transparent 60%), var(--t-surface, #0B0D10);
  box-shadow: inset 0 0 0 1px var(--v2-line), inset 0 1px 0 var(--v2-accentline);
}
.v2-gen .v2-step { display: flex; align-items: center; gap: 8px; font-size: 11px; letter-spacing: .14em; color: var(--v2-t3); font-weight: 800; }
.v2-gen .v2-step i { font-style: normal; width: 20px; height: 20px; border-radius: 50%; display: grid; place-items: center; font-size: 11px; color: var(--v2-accentink); background: var(--v2-accent); }
.v2-gen .v2-step-plain { margin-top: 4px; }
.v2-gen .v2-pairhead { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 8px; }
.v2-gen .v2-pairhead b { font-size: 24px; letter-spacing: -.02em; font-weight: 800; white-space: nowrap; }
.v2-gen .v2-chip { font-size: 12px; font-weight: 700; padding: 6px 10px; border-radius: 999px; color: var(--v2-t2); background: var(--v2-panel2); box-shadow: inset 0 0 0 1px var(--v2-line); white-space: nowrap; }
.v2-gen .v2-origin { font-size: 12.5px; color: var(--v2-t3); line-height: 1.45; margin: -4px 0 0; }
.v2-gen .v2-prep { display: flex; flex-direction: column; gap: 10px; }
.v2-gen .v2-prow { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 14px; border-radius: 14px; background: var(--v2-panel); box-shadow: inset 0 0 0 1px var(--v2-line); }
.v2-gen .v2-prow small { display: block; font-size: 11px; color: var(--v2-t3); font-weight: 700; letter-spacing: .06em; }
.v2-gen .v2-prow b { font-size: 16px; }
.v2-gen .v2-n { font-family: var(--v2-num); font-variant-numeric: tabular-nums; }
/* Время и сумма сделки — словами («1 минута»): у моноширинного шрифта нет кириллицы, и слово падало в Courier (QA 17.10). */
.v2-gen .v2-prow .v2-n { font-family: "Onest", system-ui, sans-serif; font-weight: 800; }
.v2-gen .v2-copy { font: inherit; font-size: 12px; font-weight: 800; color: var(--v2-accent2); padding: 8px 11px; border-radius: 10px; border: 0; cursor: pointer; background: transparent; box-shadow: inset 0 0 0 1px var(--v2-accentline); white-space: nowrap; }
.v2-gen .v2-note { font-size: 12.5px; color: var(--v2-t2); line-height: 1.5; margin: 0; }
.v2-gen .v2-actions { display: flex; flex-direction: column; gap: 8px; margin-top: 6px; }
.v2-gen .v2-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 0 22px; border-radius: 14px; font: inherit; font-weight: 800; font-size: 15px; border: 0; cursor: pointer; text-decoration: none; white-space: nowrap; }
.v2-gen .v2-btn svg { width: 16px; height: 16px; }
.v2-gen .v2-btn.gold { color: var(--v2-accentink); background: linear-gradient(180deg, var(--v2-accenttop), var(--v2-accent)); box-shadow: 0 10px 30px -12px var(--v2-accentglow), inset 0 1px 0 rgba(255, 255, 255, .45); }
.v2-gen .v2-btn.ghost { color: var(--v2-t1); background: var(--v2-panel2); box-shadow: inset 0 0 0 1px var(--v2-line2); }
.v2-gen .v2-btn:disabled { opacity: .55; cursor: default; }
/* Второй ряд действий (08.10): «Другая пара» · «Отмена» до входа, «Не открывал эту сделку» после —
   как в боте. Тише главной кнопки: это выход, а не призыв. */
.v2-gen .v2-actions-sub { flex-direction: row; flex-wrap: wrap; justify-content: center; align-items: center; gap: 8px; margin-top: 2px; }
.v2-gen .v2-btn.sm { min-height: 40px; padding: 0 16px; font-size: 13.5px; border-radius: 12px; }
.v2-gen .v2-ask { flex-basis: 100%; text-align: center; font-size: 13px; color: var(--v2-t2); }
.v2-gen .v2-btn:focus-visible, .v2-gen .v2-copy:focus-visible { outline: 2px solid var(--v2-accent2); outline-offset: 2px; }
.v2-gen .v2-dir { border-radius: 20px; padding: 22px; text-align: center; background: linear-gradient(180deg, rgba(240, 98, 94, .13), rgba(240, 98, 94, .02)); box-shadow: inset 0 0 0 1px rgba(240, 98, 94, .28); }
.v2-gen .v2-dir.up { background: linear-gradient(180deg, rgba(43, 197, 154, .14), rgba(43, 197, 154, .02)); box-shadow: inset 0 0 0 1px rgba(43, 197, 154, .3); }
.v2-gen .v2-dir small { font-size: 11px; letter-spacing: .16em; color: var(--v2-t2); font-weight: 800; }
.v2-gen .v2-dir b { display: block; font-size: 40px; letter-spacing: .04em; font-weight: 800; color: var(--v2-bear); margin: 6px 0; }
.v2-gen .v2-dir.up b { color: var(--v2-bull); }
.v2-gen .v2-dir span { font-size: 13.5px; font-weight: 700; }
.v2-gen .v2-ring { width: 140px; height: 140px; margin: 2px auto; display: block; }
.v2-gen .v2-ring-bg { fill: none; stroke: rgba(255, 255, 255, .07); stroke-width: 8; }
.v2-gen .v2-ring-fg { fill: none; stroke: var(--v2-accent); stroke-width: 8; stroke-linecap: round; transition: stroke-dashoffset 1s linear; }
.v2-gen .v2-ring-t { font-family: var(--v2-num); font-size: 30px; font-weight: 700; fill: var(--v2-t1); }
.v2-gen .v2-ring-s { font-size: 10px; letter-spacing: .1em; font-weight: 800; fill: var(--v2-t3); }
.v2-gen .v2-late { margin: 0; text-align: center; font-size: 13.5px; font-weight: 700; color: var(--v2-bear); line-height: 1.45; }
.v2-gen .v2-result { text-align: center; padding: 22px 16px; border-radius: 20px; background: var(--v2-panel); box-shadow: inset 0 0 0 1px var(--v2-line); }
.v2-gen .v2-result.win { background: linear-gradient(180deg, rgba(43, 197, 154, .14), transparent); box-shadow: inset 0 0 0 1px rgba(43, 197, 154, .3); }
.v2-gen .v2-result.loss { background: linear-gradient(180deg, rgba(240, 98, 94, .13), transparent); box-shadow: inset 0 0 0 1px rgba(240, 98, 94, .28); }
.v2-gen .v2-result small { font-size: 11px; letter-spacing: .14em; color: var(--v2-t2); font-weight: 800; }
.v2-gen .v2-result b { display: block; font-size: 40px; margin: 8px 0 4px; letter-spacing: -.02em; font-weight: 800; }
.v2-gen .v2-result.win b { color: var(--v2-bull); }
.v2-gen .v2-result.loss b { color: var(--v2-bear); }
.v2-gen .v2-result span { font-size: 13px; color: var(--v2-t2); }
.v2-gen .v2-kvs { display: flex; flex-direction: column; }
.v2-gen .v2-kv { display: flex; justify-content: space-between; gap: 12px; font-size: 13px; color: var(--v2-t2); padding: 6px 2px; }
.v2-gen .v2-kv b { font-family: var(--v2-num); color: var(--v2-t1); font-variant-numeric: tabular-nums; }
.v2-gen .v2-hist, .vs-history .v2-hist { display: flex; flex-direction: column; gap: 6px; }
.v2-gen .v2-hrow, .vs-history .v2-hrow { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 10px; align-items: center; font-size: 12.5px; padding: 10px 12px; border-radius: 12px; background: var(--v2-panel); }
.v2-gen .v2-hrow span:nth-child(2), .vs-history .v2-hrow span:nth-child(2) { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.v2-gen .v2-hrow em, .vs-history .v2-hrow em { font-style: normal; font-weight: 800; color: var(--v2-t2); }
.v2-gen .v2-hrow em.win, .vs-history .v2-hrow em.win { color: var(--v2-bull); }
.v2-gen .v2-hrow em.loss, .vs-history .v2-hrow em.loss { color: var(--v2-bear); }
.v2-gen .v2-dot, .vs-history .v2-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--v2-t3); }
.v2-gen .v2-dot.win, .vs-history .v2-dot.win { background: var(--v2-bull); }
.v2-gen .v2-dot.loss, .vs-history .v2-dot.loss { background: var(--v2-bear); }
@media (prefers-reduced-motion: reduce) { .v2-gen .v2-ring-fg { transition: none; } }

/* АКЦЕНТ — ЦВЕТ СТУПЕНИ, А НЕ ВСЕГДА ЗОЛОТО (04.10, найдено глазами на Free: мятный мир и
   золотые кнопки спорили). Золото — только у GOLD в его мире; у остальных — их собственный цвет
   мира (тот же, что --t-accent у оформления ступени), «Стандартное» — мятный базовый. Текст на
   кнопке подобран под светлоту цвета: на синем и красном — белый, на светлых — тёмный. */
.app :is(.v2-gen, .v2-rs, .v2-help, .v2-rew, .v2-learn, .v2-strat) {
  --v2-accent: #55f2b2; --v2-accent2: #9ff7d3; --v2-accentline: rgba(85, 242, 178, .32);
  --v2-accenttop: #a6f9d6; --v2-accentink: #06110d; --v2-accentglow: rgba(85, 242, 178, .4); --v2-accentsoft: rgba(85, 242, 178, .08);
}
.app[data-look="level"][data-tier="1"] :is(.v2-gen, .v2-rs, .v2-help, .v2-rew, .v2-learn, .v2-strat) {
  --v2-accent: #d9a066; --v2-accent2: #f2c99a; --v2-accentline: rgba(217, 160, 102, .34);
  --v2-accenttop: #f0c896; --v2-accentink: #1d1208; --v2-accentglow: rgba(217, 160, 102, .45); --v2-accentsoft: rgba(217, 160, 102, .09);
}
.app[data-look="level"]:is([data-tier="2"], [data-tier="2d"]) :is(.v2-gen, .v2-rs, .v2-help, .v2-rew, .v2-learn, .v2-strat) {
  --v2-accent: #3d7dff; --v2-accent2: #9cbcff; --v2-accentline: rgba(61, 125, 255, .38);
  --v2-accenttop: #6f9dff; --v2-accentink: #ffffff; --v2-accentglow: rgba(61, 125, 255, .5); --v2-accentsoft: rgba(61, 125, 255, .1);
}
.app[data-look="level"][data-tier="3"] :is(.v2-gen, .v2-rs, .v2-help, .v2-rew, .v2-learn, .v2-strat) {
  --v2-accent: #21ccd6; --v2-accent2: #8be9ef; --v2-accentline: rgba(33, 204, 214, .34);
  --v2-accenttop: #79e3ea; --v2-accentink: #03191c; --v2-accentglow: rgba(33, 204, 214, .45); --v2-accentsoft: rgba(33, 204, 214, .09);
}
.app[data-look="level"][data-tier="4"] :is(.v2-gen, .v2-rs, .v2-help, .v2-rew, .v2-learn, .v2-strat) {
  --v2-accent: #c41a33; --v2-accent2: #ff9aa6; --v2-accentline: rgba(232, 60, 86, .38);
  --v2-accenttop: #e34058; --v2-accentink: #ffffff; --v2-accentglow: rgba(196, 26, 51, .55); --v2-accentsoft: rgba(232, 60, 86, .1);
}
.app[data-look="level"][data-tier="5"] :is(.v2-gen, .v2-rs, .v2-help, .v2-rew, .v2-learn, .v2-strat) {
  --v2-accent: #D9B66E; --v2-accent2: #F2DCA6; --v2-accentline: rgba(217, 182, 110, .32);
  --v2-accenttop: #F4DFA9; --v2-accentink: #1a1408; --v2-accentglow: rgba(217, 182, 110, .55); --v2-accentsoft: rgba(217, 182, 110, .08);
}

/* ТЁМНАЯ КАРТОЧКА НЕСЁТ СВОЙ ТЕКСТ САМА (04.10, найдено на светлом мире ОТС 250). Общие правила
   мира красят каждый абзац страницы своим цветом текста (--t-text-2 и др.); на светлом мире это
   тёмно-синий — и пояснения внутри тёмной v2-карточки становились тёмным по тёмному. Карточке
   не нужно спорить с этими правилами специфичностью: она переопределяет сами переменные мира
   внутри себя, и любое правило мира, сколько бы их ни было, берёт её цвета. */
/* 06.10: в мирах уровней v2-карточки теперь в цветах мира (premium.css) — свой светлый текст им
   нужен только в стандартном оформлении, где они остались тёмными. */
.app:not([data-look="level"]) :is(.v2-gen, .v2-rs, .v2-help, .v2-rew, .v2-learn, .v2-strat) {
  --t-text: #F3F0E9; --t-text-rgb: 243, 240, 233;
  --t-text-2: #ABA69C; --t-text-2-rgb: 171, 166, 156;
  --t-text-3: #6F6A61;
}
.v2-gen .v2-note.v2-stop { color: var(--v2-bear); font-weight: 700; }

/* ── ПРЕМИАЛЬНАЯ СДЕЛКА (06.10): кабина во всю колонку, объёмная стрелка, вспышка плюса ── */
.sig-main .v2-gen.pm-trade, .sig-main > .v2-gen { max-width: none; width: 100%; margin-inline: 0; box-sizing: border-box; }
.v2-gen.pm-trade { border-radius: 28px; padding: 26px; overflow: hidden; position: relative;
  background: radial-gradient(70% 45% at 50% 0%, color-mix(in srgb, var(--sig-w, var(--t-accent, #f2c14e)) 14%, transparent), transparent 70%), linear-gradient(180deg, var(--t-surface-2, #11141b), var(--t-surface, #08090c));
  box-shadow: inset 0 1px 0 rgba(var(--t-text-rgb, 255,255,255), .10), 0 0 0 1px color-mix(in srgb, var(--sig-w, var(--t-accent, #f2c14e)) 26%, rgba(var(--t-text-rgb, 255,255,255), .06)), 0 50px 100px -50px color-mix(in srgb, var(--sig-w, var(--t-accent, #f2c14e)) 50%, transparent); }
.v2-gen.pm-trade.pm-up { background: radial-gradient(70% 55% at 50% 10%, rgba(47,211,154,.22), transparent 70%), linear-gradient(180deg, var(--t-surface-2, #11141b), var(--t-surface, #08090c)); box-shadow: inset 0 1px 0 rgba(var(--t-text-rgb, 255,255,255), .1), 0 0 0 1px rgba(47,211,154,.35), 0 50px 110px -50px rgba(47,211,154,.7); }
.v2-gen.pm-trade.pm-down { background: radial-gradient(70% 55% at 50% 10%, rgba(255,92,108,.22), transparent 70%), linear-gradient(180deg, var(--t-surface-2, #11141b), var(--t-surface, #08090c)); box-shadow: inset 0 1px 0 rgba(var(--t-text-rgb, 255,255,255), .1), 0 0 0 1px rgba(255,92,108,.35), 0 50px 110px -50px rgba(255,92,108,.7); }
.pm-trade .v2-pairhead b, .pm-trade .v2-pairhead h2, .pm-trade .v2-dir b, .pm-trade .v2-result b { font-family: "Unbounded", "Onest", sans-serif; letter-spacing: -.02em; }
.pm-trade .v2-prow { border-radius: 16px; background: linear-gradient(180deg, rgba(var(--t-text-rgb, 255,255,255), .06), rgba(var(--t-text-rgb, 255,255,255), .02)); box-shadow: inset 0 0 0 1px rgba(var(--t-text-rgb, 255,255,255), .09), inset 0 1px 0 rgba(var(--t-text-rgb, 255,255,255), .08); }
.pm-trade .v2-dir { display: grid; justify-items: center; gap: 6px; text-align: center; }
.pm-arrow { width: 120px; height: 140px; filter: drop-shadow(0 18px 30px rgba(0,0,0,.6)); animation: pm-bob 1.6s ease-in-out infinite; }
.pm-arrow.up { filter: drop-shadow(0 0 28px rgba(47,211,154,.55)) drop-shadow(0 18px 30px rgba(0,0,0,.6)); }
.pm-arrow.down { filter: drop-shadow(0 0 28px rgba(255,92,108,.55)) drop-shadow(0 18px 30px rgba(0,0,0,.6)); animation-name: pm-bob-d; }
@keyframes pm-bob { 50% { transform: translateY(-8px); } }
@keyframes pm-bob-d { 50% { transform: translateY(8px); } }
.pm-res .v2-result { position: relative; overflow: hidden; border-radius: 22px; padding: 26px 18px; }
.pm-res .v2-result b { font-size: clamp(34px, 5vw, 52px); }
.pm-res.win .v2-result { background: radial-gradient(60% 80% at 50% 0%, rgba(47,211,154,.28), transparent 70%), rgba(47,211,154,.06); box-shadow: inset 0 0 0 1px rgba(47,211,154,.4); }
.pm-res.loss .v2-result { background: radial-gradient(60% 80% at 50% 0%, rgba(255,92,108,.2), transparent 70%), rgba(255,92,108,.05); box-shadow: inset 0 0 0 1px rgba(255,92,108,.35); }
.pm-burst { position: absolute; left: 50%; top: 50%; width: 0; height: 0; pointer-events: none; }
.pm-burst i { position: absolute; left: -2px; top: -60px; width: 4px; height: 34px; border-radius: 4px; background: linear-gradient(180deg, #9ff3d0, transparent);
  transform-origin: 2px 60px; transform: rotate(calc(var(--k) * 30deg)) scaleY(0); animation: pm-ray 1.1s cubic-bezier(.2,.9,.25,1) forwards; animation-delay: calc(var(--k) * 25ms); }
@keyframes pm-ray { 40% { transform: rotate(calc(var(--k) * 30deg)) translateY(-14px) scaleY(1); opacity: 1; } 100% { transform: rotate(calc(var(--k) * 30deg)) translateY(-40px) scaleY(.4); opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .pm-arrow, .pm-burst i { animation: none; } .pm-burst { display: none; } }

/* ПЛАШКИ «ЧАСТНОГО БАНКА» (08.10, владелец: «зелёных, красных плашек, анимацию, красоту… не как у бота»).
   Направление и итог — литые плашки изумруда и граната с золотой кромкой; появление — один раз,
   только transform/opacity (лаги давали вечные анимации, а не цвет). */
.pm-trade .v2-dir { --bull: #19c37d; --bear: #e0384a; position: relative; overflow: hidden; border-radius: 22px; padding: 22px 18px;
  color: #fff4f4; background: linear-gradient(135deg, #ff8f8f 0%, #e0384a 45%, #8f1626 100%) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .4), inset 0 0 0 1px rgba(226, 189, 109, .55), 0 22px 44px -24px rgba(224, 56, 74, .9) !important;
  animation: pm-plate .5s cubic-bezier(.2, .8, .2, 1) both; }
.pm-trade .v2-dir.up { color: #04140c; background: linear-gradient(135deg, #8ff5c0 0%, #19c37d 45%, #0b7a4b 100%) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .5), inset 0 0 0 1px rgba(226, 189, 109, .55), 0 22px 44px -24px rgba(25, 195, 125, .9) !important; }
.pm-trade .v2-dir::after { content: ""; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(115deg, transparent 35%, rgba(255, 255, 255, .28) 50%, transparent 65%); transform: translateX(-120%);
  animation: pm-shine 1.1s .35s ease-out both; }
.pm-trade .v2-dir small, .pm-trade .v2-dir span { color: inherit !important; opacity: .85; }
.pm-trade .v2-dir b, .pm-trade .v2-dir.up b { color: inherit !important; font-size: clamp(34px, 9vw, 46px); text-shadow: 0 2px 0 rgba(0, 0, 0, .12); }
@keyframes pm-plate { from { opacity: 0; transform: translateY(10px) scale(.97); } to { opacity: 1; transform: none; } }
@keyframes pm-shine { to { transform: translateX(120%); } }

.pm-res.win .v2-result { color: #04140c; background: linear-gradient(135deg, #8ff5c0 0%, #19c37d 45%, #0b7a4b 100%) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .5), inset 0 0 0 1px rgba(226, 189, 109, .6), 0 24px 50px -26px rgba(25, 195, 125, .95) !important;
  animation: pm-plate .55s cubic-bezier(.2, .8, .2, 1) both; }
.pm-res.loss .v2-result { color: #fff4f4; background: linear-gradient(135deg, #ff8f8f 0%, #e0384a 45%, #8f1626 100%) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .35), inset 0 0 0 1px rgba(226, 189, 109, .55), 0 24px 50px -26px rgba(224, 56, 74, .95) !important;
  animation: pm-plate .55s cubic-bezier(.2, .8, .2, 1) both; }
.pm-res.win .v2-result :is(small, span, b), .pm-res.loss .v2-result :is(small, span, b) { color: inherit !important; }
.pm-res.win .v2-result small, .pm-res.loss .v2-result small { opacity: .85; }
@media (prefers-reduced-motion: reduce) { .pm-trade .v2-dir, .pm-trade .v2-dir::after, .pm-res .v2-result { animation: none; } }

/* Кольцо отсчёта — золото «частного банка» (было голубым акцентом мира). */
.pm-trade .v2-ring-fg { stroke: #e2bd6d; }
.pm-trade .v2-ring-bg { stroke: rgba(226, 189, 109, .12); }

/* ── СДЕЛКА · КОНЦЕПТ «ШРИФТ» (утверждён владельцем 09.10, https://claude.ai/artifact/3x4EgsoK2SsNNGksY48LPW) ──
   Тёмная сцена, подсвеченная цветом сделки; направление и итог — крупным металлическим шрифтом с одним
   бликом; ни шаров, ни значков, ни котировок. Вечных анимаций нет — только разовый блик. */
.v2-gen.pm-trade.dl { --c: #e9c46a; --gold: #e9c46a; display: flex; flex-direction: column; gap: 14px; padding: 18px 16px 18px; color: #f4f1ea;
  background: radial-gradient(70% 34% at 50% 22%, color-mix(in srgb, var(--c) 20%, transparent), transparent 70%), linear-gradient(180deg, #0d0f15, #06070a 70%) !important;
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--c) 28%, rgba(255,255,255,.09)), 0 50px 100px -60px color-mix(in srgb, var(--c) 70%, transparent) !important; }
.v2-gen.pm-trade.dl.dl-up { --c: #2fd39a; }
.v2-gen.pm-trade.dl.dl-down { --c: #ff5c6c; }
.dl .v2-origin { margin: -6px 0 0; }

.dl-steps { display: flex; align-items: center; justify-content: space-between; gap: 6px; }
.dl-st-w { display: flex; align-items: center; gap: 8px; flex: 1; min-width: 0; }
.dl-st-w:first-child { flex: none; }
.dl-ln { flex: 1; height: 1px; background: linear-gradient(90deg, color-mix(in srgb, var(--c) 45%, transparent), rgba(255,255,255,.06)); }
.dl-st { display: inline-flex; align-items: center; gap: 7px; flex: none; font: 700 10.5px/1 "Onest", system-ui, sans-serif; letter-spacing: .1em; text-transform: uppercase; color: rgba(244,241,234,.4); }
.dl-st i { width: 22px; height: 22px; border-radius: 50%; display: grid; place-items: center; font: 800 10px/1 "Unbounded", "Onest", sans-serif; font-style: normal;
  background: rgba(255,255,255,.05); box-shadow: inset 0 0 0 1px rgba(255,255,255,.09); }
.dl-st.on { color: #f4f1ea; }
.dl-st.on i { color: #07080b; background: radial-gradient(60% 60% at 35% 30%, #fff, var(--c) 60%); box-shadow: 0 0 14px color-mix(in srgb, var(--c) 70%, transparent); }
.dl-st.done i { color: #1a1305; background: var(--gold); box-shadow: none; }

.dl-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.dl-pair { display: grid; gap: 6px; min-width: 0; }
/* Пара в шапке не режется (QA 17.10: на 390 px «AED/CNY O…» — терялась пометка OTC, а это другой рынок): переносится. */
.dl-pair b { font: 800 clamp(20px, 5.6vw, 28px)/1.1 "Unbounded", "Onest", sans-serif; letter-spacing: -.02em; overflow-wrap: anywhere; }
.dl-pair span { font-size: 13px; color: #9a9ca6; }
.dl-timer { flex: none; text-align: right; }
.dl-timer b { display: block; font: 800 24px/1 "Unbounded", "Onest", sans-serif; font-variant-numeric: tabular-nums; color: var(--gold); }
.dl-timer span { font: 700 10.5px/1 "Onest", system-ui, sans-serif; letter-spacing: .16em; text-transform: uppercase; color: #9a9ca6; }

.dl-word { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 10px 0 0; }
.dl-word.down { flex-direction: column-reverse; padding: 0 0 6px; }
.dl-arrow { width: 64px; height: 18px; fill: none; stroke: color-mix(in srgb, var(--c) 60%, #fff); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round;
  transform: rotate(-90deg); margin: 22px 0 10px; filter: drop-shadow(0 0 8px var(--c)); }
.dl-word.down .dl-arrow { transform: rotate(90deg); }
.dl-word b, .dl-res b { position: relative; display: inline-block; font: 800 clamp(52px, 17vw, 78px)/.95 "Unbounded", "Onest", sans-serif; letter-spacing: -.02em;
  background: linear-gradient(180deg, #ffffff 0%, color-mix(in srgb, var(--c) 45%, #fff) 45%, var(--c) 70%, color-mix(in srgb, var(--c) 60%, #000) 100%);
  -webkit-background-clip: text; background-clip: text; color: transparent; filter: drop-shadow(0 10px 26px color-mix(in srgb, var(--c) 45%, transparent)); }
.dl-word b::after, .dl-res b::after { content: attr(data-w); position: absolute; inset: 0; background: linear-gradient(110deg, transparent 35%, rgba(255,255,255,.9) 50%, transparent 65%);
  -webkit-background-clip: text; background-clip: text; color: transparent; background-size: 250% 100%; background-position: 120% 0; animation: dl-sweep 2.4s .35s ease-out both; }
@keyframes dl-sweep { to { background-position: -40% 0; } }
.dl-word.sm b { font-size: clamp(38px, 12vw, 52px); }
.dl-word.sm .dl-arrow { width: 44px; margin: 12px 0 8px; }
.dl-hint { margin: -4px 0 0; text-align: center; font-size: 14px; color: #9a9ca6; }

.dl-res { display: grid; justify-items: center; gap: 10px; padding: 26px 0 8px; text-align: center; }
.dl-res small { font: 700 11px/1 "Onest", system-ui, sans-serif; letter-spacing: .2em; text-transform: uppercase; color: #9a9ca6; }
.dl-res b { font-size: clamp(60px, 19vw, 90px); letter-spacing: -.03em; }
.dl-beam { display: block; width: 72%; height: 2px; border-radius: 2px; background: linear-gradient(90deg, transparent, var(--c), transparent); box-shadow: 0 0 14px var(--c); }
.dl-res span { font-size: 13.5px; color: #9a9ca6; }
.dl .v2-btn.gold { color: #1a1305; background: linear-gradient(180deg, #fff3cf, var(--gold)); box-shadow: 0 18px 38px -18px var(--gold), inset 0 1px 0 rgba(255,255,255,.6); }
.dl.dl-up .v2-btn.gold:not(.keep-gold), .dl.dl-down .v2-btn.gold:not(.keep-gold) { color: #07080b; background: linear-gradient(180deg, color-mix(in srgb, var(--c) 45%, #fff), var(--c)); box-shadow: 0 18px 38px -18px var(--c), inset 0 1px 0 rgba(255,255,255,.55); }
.dl.pm-res .v2-btn.gold { color: #1a1305 !important; background: linear-gradient(180deg, #fff3cf, var(--gold)) !important; box-shadow: 0 18px 38px -18px var(--gold) !important; }
@media (prefers-reduced-motion: reduce) { .dl-word b::after, .dl-res b::after { animation: none; } }
.dl .v2-origin { font-size: 12px !important; color: #7d808a !important; letter-spacing: .02em; }

.dl-hint b { color: #f4f1ea; font-variant-numeric: tabular-nums; }
.dl-hint.now { color: color-mix(in srgb, var(--c) 60%, #fff); font-weight: 800; font-size: 16px; }

/* ДОГОН ПОСЛЕ МИНУСА (10.10, как бот): карточка следующего входа под итогом — цветом мира. */
.v2-gen .dl-dogon { display: grid; gap: 10px; margin: 6px 0 2px; padding: 16px; border-radius: 18px; text-align: center;
  background: color-mix(in srgb, var(--t-accent, #f2c14e) 8%, transparent);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--t-accent, #f2c14e) 30%, transparent); }
.v2-gen .dl-dogon small { font: 700 11px/1.2 "Onest", system-ui, sans-serif; letter-spacing: .16em; color: var(--t-accent, #f2c14e); }
.v2-gen .dl-dogon p { margin: 0; font-size: 14.5px; line-height: 1.45; color: var(--v2-t1, #f4f4f6); text-wrap: balance; }
.v2-gen .dl-dogon b { font-weight: 800; }
.v2-gen .dl-claim { justify-self: center; opacity: .8; }

/* У МЕНЯ В POCKET (16.10, Фаза 0 — честный итог): под итогом по контрольной цене человек отмечает свой
   итог тремя кнопками; выбранная — цветом мира. Строка под ними — без «ты не прав». */
.dl-res .dl-res-by { color: var(--t-accent, #f2c14e); letter-spacing: .14em; margin-bottom: -4px; }
.v2-gen .dl-mine { display: grid; gap: 10px; margin: 4px 0 2px; padding: 14px 16px; border-radius: 18px; text-align: center;
  background: var(--v2-panel2, rgba(255,255,255,.04)); box-shadow: inset 0 0 0 1px var(--v2-line2, rgba(255,255,255,.08)); }
.v2-gen .dl-mine small { font: 700 11px/1.2 "Onest", system-ui, sans-serif; letter-spacing: .16em; text-transform: uppercase; color: #9a9ca6; }
.v2-gen .dl-mine-btns { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; }
.v2-gen .dl-mine-btns .v2-btn { flex: 1 1 0; min-width: 96px; }
.v2-gen .dl-mine-btns .v2-btn.on { color: #0e0f12; background: var(--t-accent, #f2c14e); box-shadow: none; }
.v2-gen .dl-mine-note { margin: 0; font-size: 13.5px; line-height: 1.45; color: var(--v2-t2, #c9cbd3); text-wrap: balance; }

/* 👑 АНАЛИЗ ПАРЫ НА СДЕЛКЕ ПРЕМИУМА (10.10, как «Анализ пары · 4 из 6 ›» у бота). */
.v2-gen .dl-prem { margin: 2px 0 6px; border-radius: 14px; padding: 10px 14px;
  background: color-mix(in srgb, var(--t-accent, #f2c14e) 7%, transparent);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--t-accent, #f2c14e) 26%, transparent); }
.v2-gen .dl-prem summary { cursor: pointer; font-weight: 800; font-size: 13.5px; color: var(--t-accent, #f2c14e); list-style: none; text-align: center; }
.v2-gen .dl-prem summary::-webkit-details-marker { display: none; }
.v2-gen .dl-prem ul { list-style: none; margin: 10px 0 0; padding: 0; display: grid; gap: 6px; }
.v2-gen .dl-prem li { display: grid; grid-template-columns: 18px 1fr; column-gap: 8px; row-gap: 1px; align-items: baseline; font-size: 13px; color: #9a9ca6; }
.v2-gen .dl-prem li.ok { color: #e9eaee; }
.v2-gen .dl-prem li em { font-style: normal; color: var(--t-accent, #f2c14e); }
.v2-gen .dl-prem li small { grid-column: 2; font-size: 12px; color: #8b8d97; }
/* Токены v2 — те же, что у .v2-gen (SdelkaShagi.css): новые блоки стоят вне его карточки. */
.vs-hub, .vs-history, .vs-instr {
  --v2-panel: rgba(255, 255, 255, .028); --v2-panel2: rgba(255, 255, 255, .045);
  --v2-line: rgba(255, 255, 255, .075); --v2-line2: rgba(255, 255, 255, .12);
  --v2-t1: #F3F0E9; --v2-t2: #ABA69C; --v2-t3: #6F6A61;
  --v2-accent: var(--v2-gold, #D9B66E); --v2-accent2: var(--v2-gold2, #F2DCA6);
  --v2-accentline: rgba(217, 182, 110, .32); --v2-accentink: #1a1408;
  --v2-accentsoft: rgba(217, 182, 110, .08); --v2-bull: #2BC59A; --v2-bear: #F0625E;
  color: var(--v2-t1);
}
.vs-hub, .vs-history { max-width: 860px; margin-left: auto; margin-right: auto; background: linear-gradient(180deg, rgba(255,255,255,.02), transparent 60%), var(--t-surface, #0B0D10); }

/* ЧЕТЫРЕ ВХОДА (владелец 05.10): круги разного цвета, при наведении растут и светятся своим
   цветом; появление волной. Токены — из языка v2 (SdelkaShagi.css). */
.vs-hub { display: flex; flex-direction: column; gap: 22px; padding: 26px 22px; border-radius: 24px; background: var(--v2-panel); box-shadow: inset 0 0 0 1px var(--v2-line); }
.vs-hub-head { text-align: center; display: flex; flex-direction: column; gap: 6px; align-items: center; }
.vs-hub-head small { font-size: 11px; font-weight: 800; letter-spacing: .16em; color: var(--v2-accent2); }
.vs-hub-head h2 { margin: 0; font-size: 26px; font-weight: 800; letter-spacing: -.02em; color: var(--v2-t1); }
.vs-hub-head p { margin: 0; font-size: 13.5px; color: var(--v2-t2); }

.vs-circles { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
@media (max-width: 720px) { .vs-circles { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

.vs-circle {
  --c: #d9a45b; --glow: rgba(217, 164, 91, .35);
  display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 18px 8px 16px;
  border: 0; border-radius: 22px; background: transparent; font: inherit; color: var(--v2-t1); cursor: pointer;
  opacity: 0; animation: vs-in .45s cubic-bezier(.2, .8, .2, 1) forwards;
  transition: transform .25s cubic-bezier(.2, .8, .2, 1), background .25s;
}
.vs-circle.vs-blue { --c: #5aa7ff; --glow: rgba(90, 167, 255, .38); }
.vs-circle.vs-green { --c: #3fd68f; --glow: rgba(63, 214, 143, .36); }
.vs-circle.vs-gold { --c: #e2b15f; --glow: rgba(226, 177, 95, .36); }
.vs-circle.vs-violet { --c: #a98bff; --glow: rgba(169, 139, 255, .36); }
.vs-orb {
  width: 96px; height: 96px; border-radius: 50%; display: grid; place-items: center;
  background: radial-gradient(circle at 32% 28%, color-mix(in srgb, var(--c) 55%, #fff 0%), color-mix(in srgb, var(--c) 30%, #0000) 62%, transparent 72%), color-mix(in srgb, var(--c) 14%, var(--v2-panel2));
  box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--c) 55%, transparent), 0 0 0 0 var(--glow);
  transition: transform .3s cubic-bezier(.2, .8, .2, 1), box-shadow .3s;
}
.vs-orb b { font-size: 18px; font-weight: 900; letter-spacing: .02em; color: var(--c); }
.vs-circle > b { font-size: 15px; font-weight: 800; }
.vs-circle > small { font-size: 12px; line-height: 1.35; color: var(--v2-t2); text-align: center; max-width: 18ch; }
.vs-circle:hover, .vs-circle:focus-visible { background: color-mix(in srgb, var(--c) 7%, transparent); outline: none; }
.vs-circle:hover .vs-orb, .vs-circle:focus-visible .vs-orb { transform: scale(1.12); box-shadow: inset 0 0 0 2px var(--c), 0 0 34px 6px var(--glow); }
.vs-circle:active .vs-orb { transform: scale(1.04); }
@keyframes vs-in { from { opacity: 0; transform: translateY(10px) scale(.94); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .vs-circle, .vs-orb { animation: none; opacity: 1; transition: none; } }

/* Шапка выбранного вида: назад + имя + инструкция сбоку. */
.vs-kind-bar { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.vs-kind-bar .vs-back { border: 0; background: var(--v2-panel2); color: var(--v2-t2); font: inherit; font-size: 13px; font-weight: 700; padding: 8px 12px; border-radius: 12px; cursor: pointer; box-shadow: inset 0 0 0 1px var(--v2-line); }
.vs-kind-bar .vs-back:hover { color: var(--v2-t1); }
.vs-kind-name { font-size: 13px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--v2-accent2); }
.vs-kind-bar .vs-instr-btn { margin-left: auto; border: 0; font: inherit; font-size: 13px; font-weight: 800; padding: 8px 14px; border-radius: 12px; cursor: pointer; color: var(--v2-accent2); background: var(--v2-accentsoft); box-shadow: inset 0 0 0 1px var(--v2-accentline); }
.v2-find.vs-enter { animation: vs-in .35s cubic-bezier(.2, .8, .2, 1); }

/* Подсказка «первый раз?» сбоку — всплывает, не мешает. */
.vs-tip { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-radius: 16px; background: var(--v2-accentsoft); box-shadow: inset 0 0 0 1px var(--v2-accentline); animation: vs-in .4s .3s cubic-bezier(.2, .8, .2, 1) both; }
.vs-tip p { margin: 0; flex: 1; font-size: 13px; line-height: 1.45; color: var(--v2-t1); }
.vs-tip button { border: 0; font: inherit; font-size: 13px; font-weight: 800; padding: 8px 12px; border-radius: 10px; cursor: pointer; color: var(--v2-accentink, #1a1206); background: var(--v2-accent); white-space: nowrap; }
.vs-closed { margin: 0; padding: 14px; border-radius: 14px; font-size: 13.5px; line-height: 1.5; color: var(--v2-t2); background: var(--v2-panel2); }
.vs-closed button { font: inherit; font-weight: 800; color: var(--v2-accent2); background: none; border: 0; padding: 0; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }

/* Инструкция. */
.vs-instr { max-width: 560px; }
.vs-instr-dots { display: flex; gap: 6px; justify-content: center; }
.vs-instr-dots i { width: 22px; height: 4px; border-radius: 4px; background: var(--v2-line2, rgba(255,255,255,.15)); transition: background .3s; }
.vs-instr-dots i.on { background: var(--v2-accent); }
.vs-steps { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.vs-steps li { display: flex; gap: 12px; align-items: flex-start; }
.vs-steps i { flex: none; width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; font-style: normal; font-weight: 900; color: var(--v2-accentink, #1a1206); background: var(--v2-accent); }
.vs-steps span { display: flex; flex-direction: column; gap: 2px; }
.vs-steps b { font-size: 14px; color: var(--v2-t1); }
.vs-steps small { font-size: 13px; line-height: 1.45; color: var(--v2-t2); }
.vs-quiz { display: flex; flex-direction: column; gap: 14px; }
.vs-q { border: 0; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.vs-q legend { font-size: 14px; font-weight: 800; color: var(--v2-t1); margin-bottom: 6px; }
.vs-a { text-align: left; border: 0; font: inherit; font-size: 13.5px; padding: 10px 12px; border-radius: 12px; cursor: pointer; color: var(--v2-t1); background: var(--v2-panel2); box-shadow: inset 0 0 0 1px var(--v2-line); transition: box-shadow .15s, background .15s; }
.vs-a.on.ok { background: color-mix(in srgb, var(--v2-bull) 16%, transparent); box-shadow: inset 0 0 0 1px var(--v2-bull); }
.vs-a.on.no { background: color-mix(in srgb, var(--v2-bear) 14%, transparent); box-shadow: inset 0 0 0 1px var(--v2-bear); }
.vs-why { margin: 2px 0 0; font-size: 12.5px; line-height: 1.45; color: var(--v2-t2); }
.vs-ok { margin: 0; text-align: center; font-size: 18px; font-weight: 800; color: var(--v2-bull); }

/* История. */
.vs-history { margin-top: 14px; padding: 16px 18px; border-radius: 20px; background: var(--v2-panel); box-shadow: inset 0 0 0 1px var(--v2-line); display: flex; flex-direction: column; gap: 10px; }
.vs-history header { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; }
.vs-history header small { font-size: 11px; font-weight: 800; letter-spacing: .16em; color: var(--v2-t3); }
.vs-history header span { font-size: 12.5px; color: var(--v2-t2); }
.vs-history-empty { margin: 0; font-size: 13px; color: var(--v2-t2); }

.vs-hub, .vs-history { width: 100%; box-sizing: border-box; }
.vs-instr-actions { display: flex; justify-content: flex-end; }
.vs-instr .demo { margin: 0; }

/* ── КАРТА СИГНАЛОВ (владелец 06.10): узлы вокруг ядра, связи-нейроны, мир в цвет узла ──── */
.vs-map {
  --vs-w: #d9b66e;
  --v2-t1: #F3F0E9; --v2-t2: #ABA69C;
  position: relative; height: 440px; border-radius: 28px; overflow: hidden; isolation: isolate;
  background:
    radial-gradient(120% 90% at 50% 50%, color-mix(in srgb, var(--vs-w) 10%, transparent), transparent 70%),
    linear-gradient(180deg, rgba(255,255,255,.025), rgba(255,255,255,0) 60%), #0A0C0F;
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--vs-w) 22%, rgba(var(--t-text-rgb, 255,255,255), .06)), 0 30px 80px -40px color-mix(in srgb, var(--vs-w) 45%, transparent);
  transition: box-shadow .5s, background .5s;
  color: var(--v2-t1);
}
.vs-map.w-blue { --vs-w: #4da3ff; } .vs-map.w-green { --vs-w: #3ddc97; }
.vs-map.w-gold { --vs-w: #f5c451; } .vs-map.w-violet { --vs-w: #a77bff; }
.vs-net { position: absolute; inset: 0; width: 100%; height: 100%; z-index: -1; }
.vs-core-in { stop-color: var(--vs-w); stop-opacity: .32; transition: stop-color .5s; }
.vs-core-out { stop-color: var(--vs-w); stop-opacity: 0; }
.vs-core-glow { animation: vs-breathe 5s ease-in-out infinite; transform-origin: 300px 220px; }
.vs-ray, .vs-arc { fill: none; stroke: color-mix(in srgb, var(--vs-w) 40%, rgba(var(--t-text-rgb, 255,255,255), .12)); stroke-width: 1.2; vector-effect: non-scaling-stroke; transition: stroke .5s; }
.vs-arc { stroke-dasharray: 3 6; opacity: .55; }
.vs-pulse { fill: none; stroke: var(--vs-w); stroke-width: 2.4; stroke-linecap: round; vector-effect: non-scaling-stroke;
  stroke-dasharray: 16 120; stroke-dashoffset: 116; filter: drop-shadow(0 0 6px var(--vs-w)); animation: vs-flow 3.2s linear infinite; transition: stroke .5s; }
.vs-pulse.p2 { animation-delay: .8s; } .vs-pulse.p3 { animation-delay: 1.6s; } .vs-pulse.p4 { animation-delay: 2.4s; }
.vs-pulse.a1 { animation-duration: 5s; animation-delay: .4s; opacity: .7; } .vs-pulse.a2 { animation-duration: 5s; animation-delay: 2.9s; opacity: .7; }
@keyframes vs-flow { to { stroke-dashoffset: 0; } }
@keyframes vs-breathe { 0%, 100% { transform: scale(1); opacity: .85; } 50% { transform: scale(1.08); opacity: 1; } }

.vs-core { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: min(300px, 46%);
  display: flex; flex-direction: column; align-items: center; gap: 6px; text-align: center; pointer-events: none; }
.vs-core small { font-size: 11px; font-weight: 800; letter-spacing: .2em; color: color-mix(in srgb, var(--vs-w) 75%, #fff); transition: color .5s; }
.vs-core h2 { margin: 0; font-size: clamp(19px, 2.4vw, 28px); line-height: 1.12; font-weight: 800; letter-spacing: -.02em; }
.vs-core p { margin: 0; min-height: 2.9em; font-size: 13px; line-height: 1.45; color: var(--v2-t2); }

.vs-node { --c: #e2b15f; --glow: rgba(226, 177, 95, .4);
  position: absolute; display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 0;
  border: 0; background: none; font: inherit; color: var(--v2-t1); cursor: pointer;
  transform: translate(-50%, -50%); opacity: 0; animation: vs-pop .55s cubic-bezier(.2, .9, .25, 1.2) forwards; }
.vs-node.at-top { left: 50%; top: 17.7%; } .vs-node.at-bottom { left: 50%; top: 82.3%; }
.vs-node.at-left { left: 15.3%; top: 50%; } .vs-node.at-right { left: 84.7%; top: 50%; }
.vs-node.vs-blue { --c: #4da3ff; --glow: rgba(77, 163, 255, .45); }
.vs-node.vs-green { --c: #3ddc97; --glow: rgba(61, 220, 151, .42); }
.vs-node.vs-gold { --c: #f5c451; --glow: rgba(245, 196, 81, .42); }
.vs-node.vs-violet { --c: #a77bff; --glow: rgba(167, 123, 255, .45); }
.vs-node .vs-orb { width: 84px; height: 84px; background-color: var(--t-surface, #0B0D10); }
.vs-node > b { font-size: 14px; font-weight: 800; white-space: nowrap; text-shadow: 0 2px 12px #000; }
.vs-node .vs-orb { animation: vs-orbit 4.5s ease-in-out infinite; }
.vs-node:nth-of-type(2) .vs-orb { animation-delay: -1.1s; } .vs-node:nth-of-type(3) .vs-orb { animation-delay: -2.2s; } .vs-node:nth-of-type(4) .vs-orb { animation-delay: -3.3s; }
.vs-node:hover .vs-orb, .vs-node:focus-visible .vs-orb, .vs-node.on .vs-orb { transform: scale(1.16); box-shadow: inset 0 0 0 2px var(--c), 0 0 46px 10px var(--glow); animation-play-state: paused; }
.vs-node:focus-visible { outline: none; }
@keyframes vs-pop { from { opacity: 0; transform: translate(-50%, -50%) scale(.6); } to { opacity: 1; transform: translate(-50%, -50%) scale(1); } }
@keyframes vs-orbit { 0%, 100% { translate: 0 0; } 50% { translate: 0 -5px; } }
@media (max-width: 560px) {
  .vs-map { height: 400px; border-radius: 22px; }
  .vs-node .vs-orb { width: 66px; height: 66px; }
  .vs-node .vs-orb b { font-size: 15px; }
  .vs-node > b { font-size: 12.5px; }
  .vs-node.at-left { left: 17%; } .vs-node.at-right { left: 83%; }
  .vs-core { width: 30%; gap: 4px; } .vs-core p { display: none; }
  .vs-core h2 { font-size: 15px; } .vs-core small { font-size: 9.5px; letter-spacing: .16em; }
  .vs-node > b { max-width: 9ch; white-space: normal; text-align: center; line-height: 1.2; }
}
@media (prefers-reduced-motion: reduce) { .vs-pulse, .vs-core-glow, .vs-node .vs-orb { animation: none; } .vs-node { animation: none; opacity: 1; } }

/* ── МИР ВЫБРАННОГО ВИДА: весь экран сигналов в цвет узла ──────────────────────────── */
html[data-sig-world="blue"] { --sig-w: #4da3ff; } html[data-sig-world="green"] { --sig-w: #3ddc97; }
html[data-sig-world="gold"] { --sig-w: #f5c451; } html[data-sig-world="violet"] { --sig-w: #a77bff; }
html[data-sig-world] .signal-hub-page { background: radial-gradient(70% 50% at 50% 0%, color-mix(in srgb, var(--sig-w) 13%, transparent), transparent 70%); transition: background .6s; }
html[data-sig-world] .v2-find.vs-enter { box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--sig-w) 38%, transparent), 0 30px 80px -40px color-mix(in srgb, var(--sig-w) 55%, transparent); }
/* Сильнее окраса ступени (.app[data-look][data-tier] … = 0,4,0): выбранный вид важнее мира уровня. */
html[data-sig-world] .app .signal-hub-page :is(.v2-gen, .v2-rs).v2-sig-w, html[data-sig-world] .app .signal-hub-page :is(.v2-gen, .v2-rs):is(.v2-gen, .v2-rs) {
  --v2-accent: var(--sig-w); --v2-accent2: color-mix(in srgb, var(--sig-w) 65%, #fff);
  --v2-accentline: color-mix(in srgb, var(--sig-w) 40%, transparent); --v2-accentsoft: color-mix(in srgb, var(--sig-w) 11%, transparent);
  --v2-accenttop: color-mix(in srgb, var(--sig-w) 75%, #fff); --v2-accentink: #0b0d10; --v2-accentglow: color-mix(in srgb, var(--sig-w) 50%, transparent);
}
html[data-sig-world] .signal-hub-page .v2-btn.gold { background: linear-gradient(180deg, color-mix(in srgb, var(--sig-w) 80%, #fff), var(--sig-w)); color: var(--t-surface, #0B0D10); }

/* ── СЦЕНА СИГНАЛОВ: генератор в центре, лента справа (владелец 06.10) ──────────────── */
.sig-stage { display: grid; gap: 20px; width: 100%; }
.sig-main { min-width: 0; display: flex; flex-direction: column; gap: 18px; }
.sig-main > .v2-find, .sig-main .vs-hub, .sig-main .vs-history { max-width: none; width: 100%; margin-left: 0; margin-right: 0; }
.sig-side { min-width: 0; }
.sig-side .v2-rs { max-width: none; margin: 0; }
@media (min-width: 1180px) {
  .sig-stage { grid-template-columns: minmax(0, 1fr) 320px; align-items: start; }
  .sig-side { position: sticky; top: 84px; }
  .sig-side .v2-rs-list { max-height: calc(100vh - 220px); overflow-y: auto; scrollbar-width: thin; }
}
@media (max-width: 1179px) { .sig-side .v2-rs-list > :nth-child(n+6) { display: none; } }

/* ── ИНСТРУКЦИЯ КАРТИНКАМИ (владелец 06.10) ─────────────────────────────────────────── */
.vs-instr { max-width: 680px; }
.vs-steps.vs-steps-pic { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.vs-steps.vs-steps-pic li { position: relative; flex-direction: column; align-items: flex-start; gap: 6px; padding: 12px 12px 14px; border-radius: 18px;
  background: linear-gradient(180deg, var(--v2-accentsoft), rgba(255,255,255,.015)); box-shadow: inset 0 0 0 1px var(--v2-line);
  opacity: 0; animation: vs-in .45s cubic-bezier(.2, .8, .2, 1) forwards; }
.vs-steps-pic li > i { position: absolute; top: 10px; left: 10px; width: 24px; height: 24px; font-size: 12px; }
.vs-steps-pic li > b { font-size: 14px; line-height: 1.25; }
.vs-steps-pic li > small { font-size: 12.5px; }
.vs-ill { width: 100%; height: 86px; display: block; margin-bottom: 4px; }
.ill-frame { fill: rgba(var(--t-text-rgb, 255,255,255), .03); stroke: var(--v2-accent); stroke-width: 1.5; }
.ill-line { fill: none; stroke: var(--v2-bull); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.ill-chip { fill: var(--v2-accent); } .ill-chip-t { font-size: 7.5px; font-weight: 900; fill: var(--v2-accentink, #111); }
.ill-cap { font-size: 6.5px; font-weight: 800; fill: var(--v2-t2); }
.ill-btn { fill: var(--v2-accent); animation: ill-press 2.4s ease-in-out infinite; transform-origin: 60px 40px; }
.ill-btn-t { font-size: 9px; font-weight: 900; fill: var(--v2-accentink, #111); }
.ill-up { fill: var(--v2-bull); animation: ill-blink 2.4s ease-in-out infinite; }
.ill-down { fill: var(--v2-bear); animation: ill-blink 2.4s 1.2s ease-in-out infinite; }
.ill-ring { fill: none; stroke: rgba(var(--t-text-rgb, 255,255,255), .1); stroke-width: 5; }
.ill-ring-on { fill: none; stroke: var(--v2-accent); stroke-width: 5; stroke-linecap: round; stroke-dasharray: 100; stroke-dashoffset: 100; transform: rotate(-90deg); transform-origin: 60px 40px; animation: ill-timer 3s ease-in-out infinite; }
.ill-check { fill: none; stroke: var(--v2-bull); stroke-width: 3.5; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 30; stroke-dashoffset: 30; animation: ill-tick 3s ease-in-out infinite; }
@keyframes ill-press { 0%, 40%, 100% { transform: scale(1); } 20% { transform: scale(.92); } }
@keyframes ill-blink { 0%, 100% { opacity: .25; } 30%, 60% { opacity: 1; } }
@keyframes ill-timer { 0% { stroke-dashoffset: 100; } 70%, 100% { stroke-dashoffset: 0; } }
@keyframes ill-tick { 0%, 70% { stroke-dashoffset: 30; } 85%, 100% { stroke-dashoffset: 0; } }
.vs-why b { color: var(--v2-t1); }
@media (max-width: 600px) { .vs-steps.vs-steps-pic { grid-template-columns: 1fr; } .vs-steps-pic li { display: grid; grid-template-columns: 96px 1fr; column-gap: 12px; }
  .vs-steps-pic .vs-ill { grid-row: span 2; height: 64px; margin: 0; } .vs-steps-pic li > i { display: none; } }
@media (prefers-reduced-motion: reduce) { .vs-steps-pic li, .ill-btn, .ill-up, .ill-down, .ill-ring-on, .ill-check { animation: none; opacity: 1; stroke-dashoffset: 0; } }
/* Окно инструкции живёт вне страницы (портал) — мир выбранного вида тянем и туда. */
html[data-sig-world] .vs-instr.vs-instr {
  --v2-accent: var(--sig-w); --v2-accent2: color-mix(in srgb, var(--sig-w) 65%, #fff);
  --v2-accentline: color-mix(in srgb, var(--sig-w) 40%, transparent); --v2-accentsoft: color-mix(in srgb, var(--sig-w) 12%, transparent);
  --v2-accentink: #0b0d10; --t-accent: var(--sig-w);
}
.vs-ill { height: 100px; }
/* МИР КАМНЕЙ (утверждён владельцем 06.10). Камни — объём светом: блик, внутренний перелив, тень,
   отражение на полу. Цвет мира — --mk-w, меняется наведением. */
.mk {
  --mk-w: var(--t-accent, #f2c14e);
  container-type: inline-size;
  position: relative; height: 540px; max-width: 100%; border-radius: 32px; overflow: hidden; isolation: isolate;
  color: var(--t-text, #f4f1ea); font-family: "Onest", system-ui, sans-serif;
  background:
    radial-gradient(60% 50% at 50% 46%, color-mix(in srgb, var(--mk-w) 16%, transparent), transparent 70%),
    radial-gradient(120% 60% at 50% 120%, color-mix(in srgb, var(--mk-w) 10%, transparent), transparent 60%),
    linear-gradient(180deg, var(--t-surface-2, #11141b), var(--t-surface, #08090c));
  box-shadow: 0 0 0 1px rgba(var(--t-text-rgb, 255,255,255), .09), 0 60px 120px -60px color-mix(in srgb, var(--mk-w) 60%, transparent);
  transition: background .8s, box-shadow .8s;
}
.mk-net { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 0; }
.mk-floor { position: absolute; left: 10%; right: 10%; bottom: -40%; height: 70%; z-index: 0;
  background: radial-gradient(50% 50% at 50% 0%, color-mix(in srgb, var(--mk-w) 22%, transparent), transparent 70%);
  transform: perspective(600px) rotateX(70deg); filter: blur(8px); transition: background .8s; }
.mk-core { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); z-index: 2; width: min(330px, 44%);
  display: grid; gap: 8px; text-align: center; pointer-events: none; }
.mk-core small { font: 600 11px/1 "Onest", sans-serif; letter-spacing: .22em; text-transform: uppercase; color: color-mix(in srgb, var(--mk-w) 80%, #fff); transition: color .6s; }
.mk-core h2 { margin: 0; font: 700 clamp(18px, 2.2vw, 27px)/1.12 "Unbounded", "Onest", sans-serif; letter-spacing: -.02em; text-wrap: balance; color: var(--t-text, #f4f1ea); }
.mk-core p { margin: 0; min-height: 3em; font-size: 13px; line-height: 1.5; color: var(--t-text-3, #9a9ca6); }
.mk-gem { position: absolute; z-index: 3; transform: translate(-50%, -50%); display: grid; justify-items: center; gap: 12px; padding: 0;
  border: 0; background: none; color: inherit; font: inherit; cursor: pointer; opacity: 0; animation: mk-pop .6s cubic-bezier(.2,.9,.25,1.2) forwards; }
.mk-gem:focus-visible { outline: none; }
.mk-gem:focus-visible .mk-orb { box-shadow: 0 0 0 3px #fff; }
.mk-gem.at-top { left: 50%; top: 18%; } .mk-gem.at-bottom { left: 50%; top: 80%; }
.mk-gem.at-left { left: 16%; top: 50%; } .mk-gem.at-right { left: 84%; top: 50%; }
.mk-orb { --c: #4da3ff; --c2: #0b3a8a; position: relative; width: 108px; height: 108px; border-radius: 50%;
  transition: transform .5s cubic-bezier(.2,.9,.25,1.15);
  background:
    radial-gradient(35% 28% at 32% 24%, rgba(255,255,255,.95), rgba(255,255,255,0) 70%),
    radial-gradient(60% 60% at 70% 78%, var(--c), transparent 70%),
    radial-gradient(100% 100% at 30% 25%, var(--c), var(--c2) 70%, #02040a 100%);
  box-shadow: inset -14px -18px 30px rgba(0,0,0,.55), inset 10px 10px 24px rgba(255,255,255,.18),
    0 30px 50px -18px color-mix(in srgb, var(--c) 70%, transparent), 0 0 0 1px rgba(var(--t-text-rgb, 255,255,255), .12);
  animation: mk-float 6s ease-in-out infinite; }
.mk-orb::before { content: ""; position: absolute; inset: 9%; border-radius: 50%;
  background: conic-gradient(from 210deg, transparent, rgba(255,255,255,.35), transparent 30%, transparent 70%, rgba(255,255,255,.18), transparent);
  mix-blend-mode: screen; filter: blur(1px); animation: mk-spin 9s linear infinite; }
.mk-orb::after { content: ""; position: absolute; left: 12%; right: 12%; bottom: -34%; height: 26%; border-radius: 50%;
  background: radial-gradient(closest-side, color-mix(in srgb, var(--c) 55%, transparent), transparent); filter: blur(6px); }
.mk-orb b { position: absolute; inset: 0; display: grid; place-items: center; font: 800 20px/1 "Unbounded", sans-serif; color: rgba(255,255,255,.96); text-shadow: 0 2px 10px rgba(0,0,0,.45); }
.mk-gem:nth-of-type(2) .mk-orb { animation-delay: -1.5s; } .mk-gem:nth-of-type(3) .mk-orb { animation-delay: -3s; } .mk-gem:nth-of-type(4) .mk-orb { animation-delay: -4.5s; }
.mk-name { font: 700 14px/1.2 "Onest", sans-serif; text-align: center; text-shadow: 0 2px 14px #000; }
.mk-meta { margin-top: -8px; font-size: 12px; color: var(--t-text-3, #9a9ca6); }
.mk-gem:hover .mk-orb, .mk-gem.on .mk-orb { transform: scale(1.14) translateY(-6px); animation-play-state: paused; }
.g-otc .mk-orb { --c: #4aa8ff; --c2: #0a2f7a; } .g-fast .mk-orb { --c: #2fe0a2; --c2: #05523a; }
.g-fx .mk-orb { --c: #ffcf5a; --c2: #7a4a06; } .g-long .mk-orb { --c: #b38cff; --c2: #34127a; }
@keyframes mk-float { 50% { translate: 0 -8px; } }
@keyframes mk-spin { to { transform: rotate(360deg); } }
@keyframes mk-pop { from { opacity: 0; transform: translate(-50%, -50%) scale(.7); } to { opacity: 1; transform: translate(-50%, -50%) scale(1); } }
@media (max-width: 640px) {
  .mk { height: 500px; border-radius: 24px; }
  .mk-orb { width: 76px; height: 76px; } .mk-orb b { font-size: 15px; }
  .mk-name { font-size: 12px; max-width: 10ch; } .mk-meta { display: none; }
  .mk-gem.at-left { left: 18%; } .mk-gem.at-right { left: 82%; }
  .mk-core { width: 34%; } .mk-core p { display: none; } .mk-core h2 { font-size: 15px; }
}
/* Блок уже, чем экран (на компьютере рядом лента сигналов) — камни меньше, центр уже. */
@container (max-width: 720px) {
  .mk-orb { width: 86px; height: 86px; } .mk-orb b { font-size: 17px; }
  .mk-gem.at-left { left: 14%; } .mk-gem.at-right { left: 86%; }
  .mk-core { width: 40%; } .mk-core h2 { font-size: 19px; } .mk-core p { font-size: 12px; }
  .mk-name { max-width: 11ch; } .mk-meta { text-align: center; }
  .mk-gem:is(.at-top, .at-bottom) .mk-meta { white-space: nowrap; } .mk-gem:is(.at-left, .at-right) .mk-meta { max-width: 13ch; }
}
@media (prefers-reduced-motion: reduce) { .mk-orb, .mk-orb::before, .mk-gem { animation: none !important; opacity: 1; } }

/* ── КАБИНА СДЕЛКИ: камень вида — герой экрана; при поиске вокруг крутится луч радара ── */
.mk-hero { position: relative; width: 132px; height: 132px; margin: 6px auto 4px; display: grid; place-items: center; }
.mk-hero .mk-orb { width: 112px; height: 112px; }
.mk-hero::after { content: ""; position: absolute; left: 10%; right: 10%; bottom: -18px; height: 22px; border-radius: 50%;
  background: radial-gradient(closest-side, color-mix(in srgb, var(--mk-w) 45%, transparent), transparent); filter: blur(6px); }
.mk-radar { position: absolute; inset: -18px; border-radius: 50%;
  background: conic-gradient(from 0deg, color-mix(in srgb, var(--mk-w) 55%, transparent), transparent 22%, transparent);
  -webkit-mask: radial-gradient(closest-side, transparent 62%, #000 63%, #000 98%, transparent);
  mask: radial-gradient(closest-side, transparent 62%, #000 63%, #000 98%, transparent);
  animation: mk-spin 1.6s linear infinite; }
.mk-hero.ищет::before { content: ""; position: absolute; inset: -18px; border-radius: 50%; box-shadow: 0 0 0 1px color-mix(in srgb, var(--mk-w) 35%, transparent);
  animation: mk-ping 1.8s ease-out infinite; }
@keyframes mk-ping { from { transform: scale(.85); opacity: 1; } to { transform: scale(1.25); opacity: 0; } }

.pm-cockpit { position: relative; overflow: hidden; padding: 26px 26px 24px !important; border-radius: 28px !important;
  background:
    radial-gradient(70% 45% at 50% 0%, color-mix(in srgb, var(--sig-w, var(--t-accent, #f2c14e)) 16%, transparent), transparent 70%),
    linear-gradient(180deg, var(--t-surface-2, #11141b), var(--t-surface, #08090c)) !important;
  box-shadow: inset 0 1px 0 rgba(var(--t-text-rgb, 255,255,255), .10), 0 0 0 1px color-mix(in srgb, var(--sig-w, var(--t-accent, #f2c14e)) 28%, rgba(var(--t-text-rgb, 255,255,255), .06)),
    0 50px 100px -50px color-mix(in srgb, var(--sig-w, var(--t-accent, #f2c14e)) 55%, transparent) !important; }
.pm-cockpit .v2-find-head h2, .pm-cockpit h2 { font-family: "Unbounded", "Onest", sans-serif !important; letter-spacing: -.02em; }
.pm-cockpit .v2-pairpick { padding: 14px; border-radius: 18px; background: rgba(var(--t-text-rgb, 255,255,255), .03); box-shadow: inset 0 0 0 1px rgba(var(--t-text-rgb, 255,255,255), .07); }
.pm-cockpit .v2-pp { border-radius: 12px !important; padding: 10px 14px !important; font-weight: 700 !important;
  background: linear-gradient(180deg, rgba(var(--t-text-rgb, 255,255,255), .07), rgba(var(--t-text-rgb, 255,255,255), .02)) !important; box-shadow: inset 0 0 0 1px rgba(var(--t-text-rgb, 255,255,255), .1), inset 0 1px 0 rgba(var(--t-text-rgb, 255,255,255), .08) !important;
  transition: transform .2s, box-shadow .2s !important; }
.pm-cockpit .v2-pp:hover { transform: translateY(-1px); }
.pm-cockpit .v2-pp.on { color: #08090c !important; background: linear-gradient(180deg, color-mix(in srgb, var(--sig-w, var(--t-accent, #f2c14e)) 70%, #fff), var(--sig-w, var(--t-accent, #f2c14e))) !important;
  box-shadow: 0 10px 24px -12px var(--sig-w, var(--t-accent, #f2c14e)), inset 0 1px 0 rgba(255,255,255,.6) !important; }
.pm-cockpit .v2-find-go { min-height: 56px; border-radius: 16px !important; font-size: 16px !important; font-weight: 800 !important; letter-spacing: -.005em; }
.pm-cockpit .vs-kind-bar { position: relative; z-index: 1; }
@media (prefers-reduced-motion: reduce) { .mk-radar, .mk-hero.ищет::before { animation: none; } }
/* Очень узкий блок (телефон): заголовок центра мельче, чтобы «?» не уезжал отдельной строкой. */
@container (max-width: 420px) { .mk-core { width: 38%; } .mk-core h2 { font-size: 14px; letter-spacing: -.01em; } }

/* 👑 ПРЕМИУМ — КАРТОЧКА ПОД КАРТОЙ (10.10). Цвет — цвет мира (единое правило product.worldcolor.css). */
.mk-prem { margin: 14px 0 4px; border-radius: 20px; overflow: hidden; color: var(--t-text, #f4f4f6);
  /* фон — поверхность мира (аудит 10.10: в светлом ОТС 250 карточка была чёрной) */
  background: linear-gradient(135deg, color-mix(in srgb, var(--t-accent, #f2c14e) 16%, var(--t-surface, #0c0d10)), var(--t-surface, #0b0c0f) 70%);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--t-accent, #f2c14e) 38%, transparent),
              0 24px 60px -36px color-mix(in srgb, var(--t-accent, #f2c14e) 70%, transparent); }
.mk-prem-main { display: flex; align-items: center; gap: 14px; width: 100%; padding: 16px 18px; background: none;
  border: 0; color: inherit; text-align: left; cursor: pointer; }
.mk-prem-crown { display: grid; place-items: center; flex: none; width: 46px; height: 46px; border-radius: 14px; font-size: 24px;
  color: #0b0c0e; background: linear-gradient(160deg, color-mix(in srgb, var(--t-accent, #f2c14e) 55%, #fff), var(--t-accent, #f2c14e));
  box-shadow: 0 10px 26px -12px var(--t-accent, #f2c14e); }
.mk-prem-tx { display: grid; gap: 3px; min-width: 0; flex: 1; }
.mk-prem-tx b { font: 800 17px/1.15 "Unbounded", "Onest", sans-serif; letter-spacing: -.01em; }
.mk-prem-tx small { font-size: 12.5px; color: var(--t-text-2, #a7a9b2); }
.mk-prem-go { flex: none; font-size: 20px; color: var(--t-accent, #f2c14e); }
.mk-prem.locked .mk-prem-crown { filter: grayscale(.55) brightness(.85); }
.mk-prem-lock { display: grid; gap: 10px; padding: 0 18px 18px; font-size: 13.5px; line-height: 1.5; color: var(--t-text-2, #c9cad1); }
.mk-prem-lock p { margin: 0; }
.mk-prem-lock ul { margin: 0; padding-left: 18px; display: grid; gap: 2px; }
.mk-hero.g-max .mk-orb b, .mk-gem.g-max .mk-orb b { font-size: 1.25em; }

/* 13.10: надпись кнопки переносится, а не режется с обеих сторон; подсказка новичку — строкой под кнопкой. */
.v2-find-go { white-space: normal !important; text-align: center; line-height: 1.2 !important; padding-inline: 16px !important; }
.vs-go-note { display: block; text-align: center; color: var(--t-text-3, rgba(255,255,255,.6)); font-size: 12.5px; margin-top: -4px; }
/* «НАЙТИ СДЕЛКУ» ДО СДЕЛКИ — покой, поиск, закрыто, рынок молчит (04.10, язык v2:
   amir-markets/design/SPEC-v2.md). Общие токены, кнопки и кольцо — из SdelkaShagi.css (.v2-gen),
   здесь только то, чего у шагов сделки нет. Ширина та же, что у шагов: весь путь — одна карточка. */
.v2-gen.v2-find { gap: 16px; }

/* Шапка: подпись акцентом, заголовок тёплым белым, пояснение одной колонкой чтения. */
.v2-find-head { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 6px; }
.v2-find-eyebrow { display: inline-flex; align-items: center; gap: 8px; font-size: 11px; font-weight: 800; letter-spacing: .16em; color: var(--v2-accent2); }
.v2-find-head h2 { margin: 0; font-size: 24px; line-height: 1.2; font-weight: 800; letter-spacing: -.02em; color: var(--v2-t1); text-wrap: balance; }
.v2-find-head p { margin: 2px 0 0; max-width: 40ch; font-size: 13.5px; line-height: 1.55; color: var(--v2-t2); text-wrap: pretty; }

.v2-find-icon { width: 52px; height: 52px; margin: 0 auto -4px; border-radius: 16px; display: grid; place-items: center; color: var(--v2-accent2); background: var(--v2-panel2); box-shadow: inset 0 0 0 1px var(--v2-accentline); }
.v2-find-icon svg { width: 22px; height: 22px; }
.v2-find-icon.quiet { color: var(--v2-t2); box-shadow: inset 0 0 0 1px var(--v2-line2); }

/* Правило картинкой — на стеклянной подложке, без рамок-украшений. */
.v2-rule { margin: 0; padding: 14px 12px 10px; border-radius: 16px; background: var(--v2-panel); box-shadow: inset 0 0 0 1px var(--v2-line); display: flex; flex-direction: column; align-items: center; gap: 4px; }
.v2-rule svg { width: 100%; max-width: 240px; height: auto; display: block; }
.v2-rule figcaption { font-size: 12.5px; color: var(--v2-t2); text-align: center; }
.v2-rule figcaption b { color: var(--v2-bull); font-weight: 800; }
/* «правило Амира — только на рост» (04.10) — второй строкой, тише основной. */
.v2-rule figcaption .v2-rule-only { display: block; margin-top: 2px; font-size: 11.5px; color: var(--v2-t3); }
.v2-rule-line { stroke: var(--v2-accent); stroke-width: 1; stroke-dasharray: 3 4; opacity: .55; }
.v2-rule-c line { stroke-width: 2; }
.v2-rule-c.up line { stroke: var(--v2-bull); } .v2-rule-c.up rect { fill: var(--v2-bull); }
.v2-rule-c.down line { stroke: var(--v2-bear); } .v2-rule-c.down rect { fill: var(--v2-bear); }
.v2-rule-n { font-family: var(--v2-num); font-size: 11px; fill: var(--v2-t3); text-anchor: middle; }
.v2-rule-arrow { fill: none; stroke: var(--v2-bull); stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
.v2-rule.mini { padding: 0; background: none; box-shadow: none; }
.v2-rule.mini svg { max-width: 150px; }

/* Выбор пары — плитками на виду. Выбранная — кромка акцента; пара без цен приглушена и подписана. */
.v2-pairpick { display: flex; flex-direction: column; gap: 10px; }
.v2-pairpick-head { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.v2-pairpick-head small { font-size: 11px; font-weight: 800; letter-spacing: .16em; color: var(--v2-t3); white-space: nowrap; flex: none; }
.v2-pairpick-head span { font-size: 12.5px; color: var(--v2-t2); text-align: right; }
.v2-pairpick-list { display: flex; flex-wrap: wrap; gap: 8px; }
.v2-pp { display: inline-flex; align-items: center; gap: 7px; min-height: 38px; padding: 0 13px; border: 0; border-radius: 12px; font: inherit; font-size: 13px; font-weight: 700; white-space: nowrap; cursor: pointer; color: var(--v2-t1); background: var(--v2-panel2); box-shadow: inset 0 0 0 1px var(--v2-line); transition: box-shadow .15s, background .15s; }
.v2-pp:hover { box-shadow: inset 0 0 0 1px var(--v2-line2); }
.v2-pp.on { color: var(--v2-accent2); background: var(--v2-accentsoft); box-shadow: inset 0 0 0 1px var(--v2-accentline); }
.v2-pp.any { font-weight: 800; }
.v2-pp.more { color: var(--v2-t2); background: transparent; box-shadow: inset 0 0 0 1px var(--v2-line); }
.v2-pp.st-off { color: var(--v2-t3); }
.v2-pp em { font-style: normal; font-size: 11px; font-weight: 700; color: var(--v2-t3); }
.v2-pp i { width: 7px; height: 7px; border-radius: 50%; background: var(--v2-t3); }
.v2-pp.st-watch i { background: var(--v2-bull); }
.v2-pp.st-trade i { background: var(--v2-accent); }
.v2-pp:focus-visible { outline: 2px solid var(--v2-accent2); outline-offset: 2px; }

.v2-find-narrow { margin: 0; font-size: 12.5px; line-height: 1.5; color: var(--v2-t2); }
.v2-find-narrow.off { color: var(--v2-bear); }
.v2-find-narrow button { font: inherit; font-weight: 800; color: var(--v2-accent2); background: none; border: 0; padding: 0; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; text-decoration-color: var(--v2-accentline); }

.v2-find-go { width: 100%; }

/* Поиск: живой отсчёт до свечи слева, что ждём — справа; на телефоне друг под другом. */
.v2-find-pulse { width: 8px; height: 8px; border-radius: 50%; background: var(--v2-accent); animation: v2-find-pulse 1.8s ease-out infinite; }
@keyframes v2-find-pulse { 0% { box-shadow: 0 0 0 0 var(--v2-accentglow); } 100% { box-shadow: 0 0 0 10px transparent; } }
.v2-find-live { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 18px; align-items: center; padding: 16px; border-radius: 18px; background: var(--v2-panel); box-shadow: inset 0 0 0 1px var(--v2-line); }
.v2-gen .v2-find-ring { width: 120px; height: 120px; margin: 0; }
.v2-find-wait { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.v2-find-wait small { font-size: 11px; font-weight: 800; letter-spacing: .16em; color: var(--v2-t3); }
.v2-find-wait p { margin: 0; font-size: 13px; line-height: 1.5; color: var(--v2-t2); }
.v2-find-wait .v2-rule.mini { align-items: flex-start; }

.v2-find-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.v2-find-stats > div { padding: 12px; border-radius: 14px; background: var(--v2-panel); box-shadow: inset 0 0 0 1px var(--v2-line); display: flex; flex-direction: column; gap: 4px; }
.v2-find-stats small { font-size: 11px; font-weight: 700; letter-spacing: .06em; color: var(--v2-t3); }
.v2-find-stats b { font-size: 20px; font-weight: 700; color: var(--v2-t1); }
.v2-find-honest { text-align: center; }
.v2-gen .v2-find-row { flex-direction: row; }
.v2-gen .v2-find-row .v2-btn { flex: 1 1 0; padding: 0 14px; }

.v2-find-proba { display: flex; flex-direction: column; align-items: center; gap: 6px; }
.v2-find-proba span { display: flex; gap: 6px; }
.v2-find-proba i { width: 9px; height: 9px; border-radius: 50%; background: var(--v2-accent); }
.v2-find-proba i.used { background: transparent; box-shadow: inset 0 0 0 1.5px var(--v2-line2); }
.v2-find-proba small { font-size: 12px; color: var(--v2-t2); }

.v2-find-locked .v2-btn, .v2-find-quiet .v2-btn { width: 100%; }

@media (max-width: 480px) {
  .v2-find-live { grid-template-columns: 1fr; justify-items: center; text-align: center; }
  .v2-find-wait { align-items: center; }
  .v2-find-wait .v2-rule.mini { align-items: center; }
  .v2-find-stats b { font-size: 18px; }
}
@media (prefers-reduced-motion: reduce) { .v2-find-pulse { animation: none; } }

/* «Пришли в Telegram, когда найдётся» (10.10). */
.v2-notify { display: grid; gap: 6px; justify-items: center; text-align: center; }
.v2-notify p { margin: 0; font-size: 13.5px; line-height: 1.45; color: var(--v2-t2); }
.v2-notify p button { margin-left: 6px; padding: 0; border: 0; background: none; color: var(--t-accent, #f2c14e);
  font: inherit; font-weight: 700; text-decoration: underline; cursor: pointer; }
/* ПЕРВЫЕ ШАГИ (14.10). Диалог: реплика Амира, одна картинка, одна главная кнопка. Цвет — токены мира;
   карточки реплики и выбора — в семействе поверхностей среды (product.env.css). */
.ps { display: grid; gap: 16px; max-width: 640px; margin: 0 auto; width: 100%; }
.ps-say { display: grid; gap: 12px; animation: ps-in .35s cubic-bezier(.2,.8,.2,1) both; }
@keyframes ps-in { from { opacity: 0; transform: translateY(8px); } }
@media (prefers-reduced-motion: reduce) { .ps-say { animation: none; } }
.ps-who { display: flex; align-items: center; gap: 10px; color: var(--t-text-2, #c9ccd2); font: 600 14px/1 var(--font-ui, inherit); }
.ps-ava { width: 38px; height: 38px; border-radius: 50%; display: grid; place-items: center; font: 700 17px/1 var(--font-display, inherit);
  color: var(--t-on-accent, #0b0c0e); background: linear-gradient(135deg, var(--t-accent, #55f2b2), var(--t-accent-strong, var(--t-accent, #2fd39a)));
  box-shadow: 0 6px 18px -8px rgba(var(--t-accent-rgb, 85, 242, 178), .9); }
.ps-bubble { padding: 16px 18px; border-radius: 6px 20px 20px 20px; background: var(--t-surface, #17191c);
  border: 1px solid rgba(var(--t-accent-rgb, 85, 242, 178), .18); color: var(--t-text, #f2f3f5); }
.ps-bubble p { margin: 0; font: 400 16px/1.55 var(--font-ui, inherit); }
.ps-bubble p + p { margin-top: 6px; }
.ps-bubble b { font-weight: 700; color: var(--t-text, #fff); }
.ps-hi { font: 700 20px/1.3 var(--font-display, inherit) !important; }

.ps-choices { display: grid; gap: 10px; }
.ps-choice { display: grid; grid-template-columns: 44px minmax(0, 1fr) 20px; align-items: center; gap: 12px; width: 100%; min-height: 68px;
  padding: 12px 14px; text-align: left; cursor: pointer; border-radius: 16px; color: var(--t-text, #f2f3f5);
  background: var(--t-surface, #17191c); border: 1px solid rgba(var(--t-border-rgb, 255, 255, 255), .1);
  transition: transform .15s ease, border-color .2s ease; }
.ps-choice:hover { border-color: rgba(var(--t-accent-rgb, 85, 242, 178), .5); }
.ps-choice:active { transform: scale(.985); }
.ps-choice.is-main { border-color: rgba(var(--t-accent-rgb, 85, 242, 178), .55); box-shadow: 0 0 0 1px rgba(var(--t-accent-rgb, 85, 242, 178), .25) inset; }
.ps-ico svg { width: 22px; height: 22px; color: var(--t-accent, #55f2b2); }
.ps-ico { width: 44px; height: 44px; border-radius: 12px; display: grid; place-items: center; font-size: 22px;
  background: rgba(var(--t-accent-rgb, 85, 242, 178), .1); }
.ps-choice b { display: block; font: 700 16px/1.25 var(--font-ui, inherit); }
.ps-choice small { display: block; margin-top: 3px; color: var(--t-text-3, #8a9099); font: 500 13.5px/1.3 var(--font-ui, inherit); }
.ps-choice svg { width: 18px; height: 18px; color: var(--t-accent, #55f2b2); }

.ps-actions { display: grid; gap: 10px; }
.ps-main { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 54px; padding: 0 20px; border: 0; border-radius: 16px;
  cursor: pointer; text-decoration: none; font: 700 17px/1 var(--font-ui, inherit); color: var(--t-on-accent, #0b0c0e);
  background: linear-gradient(135deg, var(--t-accent, #55f2b2), var(--t-accent-strong, var(--t-accent, #2fd39a)));
  box-shadow: 0 12px 28px -14px rgba(var(--t-accent-rgb, 85, 242, 178), .9); }
.ps-main svg, .ps-alt svg { width: 18px; height: 18px; }
.ps-main:active { transform: scale(.985); }
.ps-alt { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; border-radius: 14px; cursor: pointer; font: 600 15px/1 var(--font-ui, inherit); color: var(--t-text, #f2f3f5);
  background: transparent; border: 1px solid rgba(var(--t-border-rgb, 255, 255, 255), .16); }
.app .ps p.ps-fine:not(#am-w) { margin: 0; color: var(--t-text-3, #8a9099); font: 400 12.5px/1.45 var(--font-ui, inherit); }
.ps-after { margin-top: -4px; }

.ps-prog { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 6px; margin: 0; padding: 0; list-style: none; }
.ps-prog li { display: grid; gap: 6px; color: var(--t-text-3, #8a9099); font: 600 11.5px/1.2 var(--font-ui, inherit); }
.ps-prog i { height: 4px; border-radius: 4px; background: rgba(var(--t-border-rgb, 255, 255, 255), .12); }
.ps-prog li.done i { background: rgba(var(--t-accent-rgb, 85, 242, 178), .55); }
.ps-prog li.now { color: var(--t-text, #f2f3f5); }
.ps-prog li.now i { background: var(--t-accent, #55f2b2); }

/* НАСТОЯЩИЕ СКРИНЫ POCKET из бота (/app/start/*.jpg): один — картинка, несколько — лента с прокруткой. */
.ps-fig { margin: 0; display: grid; gap: 8px; min-width: 0; }
.ps-fig figcaption { color: var(--t-text-3, #8a9099); font: 500 13px/1.4 var(--font-ui, inherit); text-align: center; }
.ps-shot { border-radius: 16px; overflow: hidden; background: #0f1420; border: 1px solid rgba(255, 255, 255, .08); }
.ps-shot img { display: block; width: 100%; height: auto; }
.ps-shots { display: flex; gap: 10px; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 4px; -webkit-overflow-scrolling: touch; }
.ps-shots .ps-shot { flex: 0 0 82%; scroll-snap-align: start; }
@media (min-width: 560px) { .ps-shots .ps-shot { flex-basis: 48%; } }

/* КРУЖОК АМИРА — как в Telegram: круглый, играет по нажатию (звук включается нажатием, не сам). */
.ps-say.has-krug { grid-template-columns: 96px minmax(0, 1fr); align-items: start; column-gap: 12px; }
.ps-say.has-krug > .ps-bubble { grid-column: 2; }
.ps-say.has-krug > :not(.ps-krug):not(.ps-bubble) { grid-column: 1 / -1; }
.ps-krug { position: relative; width: 96px; height: 96px; border-radius: 50%; overflow: hidden; padding: 0; border: 0; cursor: pointer;
  background: #0f1420; box-shadow: 0 0 0 2px var(--t-accent, #55f2b2), 0 10px 24px -12px rgba(var(--t-accent-rgb, 85, 242, 178), .9); }
.ps-krug video { width: 100%; height: 100%; object-fit: cover; display: block; }
.ps-play { position: absolute; inset: 0; display: grid; place-items: center; background: rgba(0, 0, 0, .28); }
.ps-play::after { content: ''; width: 0; height: 0; margin-left: 4px; border-style: solid; border-width: 11px 0 11px 19px; border-color: transparent transparent transparent #fff;
  filter: drop-shadow(0 2px 6px rgba(0, 0, 0, .6)); }
.ps-krug.playing { animation: ps-ring 1.6s ease-in-out infinite; }
@keyframes ps-ring { 50% { box-shadow: 0 0 0 5px rgba(var(--t-accent-rgb, 85, 242, 178), .45), 0 10px 24px -12px rgba(var(--t-accent-rgb, 85, 242, 178), .9); } }
@media (prefers-reduced-motion: reduce) { .ps-krug.playing { animation: none; } }

/* РОЛИК «с нуля» и поле ID */
.ps-video { border-radius: 16px; overflow: hidden; background: #000; aspect-ratio: 16 / 9; max-width: 100%; }
.ps-video video { width: 100%; height: 100%; display: block; }
.ps-input { width: 100%; min-height: 54px; padding: 0 16px; border-radius: 16px; font: 600 18px/1 var(--font-ui, inherit); letter-spacing: .04em;
  color: var(--t-text, #f2f3f5); background: var(--t-surface, #17191c); border: 1px solid rgba(var(--t-border-rgb, 255, 255, 255), .16); outline: 0; }
.ps-input:focus { border-color: rgba(var(--t-accent-rgb, 85, 242, 178), .6); }
.app .ps p.ps-fine.ok:not(#am-w) { color: var(--t-accent, #55f2b2); font-weight: 600; }
.app .ps p.ps-fine.warn:not(#am-w) { color: var(--t-warn, #f2b84e); font-weight: 600; }
.ps-bubble code { font: 700 15px/1 ui-monospace, monospace; padding: 2px 6px; border-radius: 6px; background: rgba(var(--t-accent-rgb, 85, 242, 178), .14); }
.ps-link { border: 0; background: none; padding: 0; cursor: pointer; color: inherit; font: inherit; text-decoration: underline; }
.ps-bubble i { color: var(--t-text-3, #8a9099); font-style: normal; }

/* Поиск сделки внутри шага — как у бота: одно дело. Без «← Виды», кнопки «Инструкция» (шаги сами ведут), демо-игры,
   выбора пары/стратегии/времени (ОТС, 5 минут — выставлены шагом) и без подписи «выбери пару и время». */
.ps-gen .vs-back, .ps-gen .vs-instr-btn, .ps-gen .demo, .ps-gen .vs-enter .v2-pairpick, .ps-gen .vs-enter .v2-find-head p { display: none !important; }
/* В карточке сделки новичку на демо не нужны «1% баланса», «от $1240» и правило лесенки — это для своих денег. */
.ps-gen .v2-prep .v2-prow:nth-child(3), .ps-gen .v2-note:not(.v2-stop) { display: none !important; }
.ps-shot.tall img { max-height: 70vh; width: auto; margin: 0 auto; }
.ps-gen .vs-enter .v2-find-go { margin-top: 6px; }

.ps-foot { display: flex; justify-content: space-between; gap: 12px; padding-top: 4px; }
.ps-foot button { border: 0; background: none; cursor: pointer; padding: 8px 0; color: var(--t-text-3, #8a9099); font: 600 14px/1 var(--font-ui, inherit); }
.ps-foot button:hover { color: var(--t-text, #f2f3f5); }
/* «ПРИЗЫ» — ВИД v2 (04.10, `amir-markets/design/SPEC-v2.md`, эталон — раздел «Призы» в
   `amir-markets/design/koncept-gold-2026-10-03.html`).

   Почему отдельный файл, а не правка общих `src/styles/*.css`: язык вводится экран за
   экраном, общие файлы правят параллельные сессии. Всё заперто под `.v2-rew` — ни один
   другой экран не меняется.

   Почему местами двойной класс `.v2-rew.v2-rew`: сверху на экраны кабинета ложатся слои
   тем ступеней (`.app[data-look] …`), они красят заголовки, абзацы и кнопки. Двойной класс
   поднимает вес ровно настолько, чтобы экран рисовал себя сам, без `!important`.

   Без украшений: ни звёзд, ни кубка на полэкрана, ни залитых таблеток цвета ступени, ни
   рамок у каждой строки лестницы. Золото — свет: кромка панели, подписи, одна кнопка. */

.v2-rew {
  --v2-bg: #07080A; --v2-bg2: #0B0D10;
  --v2-panel: rgba(255, 255, 255, .028); --v2-panel2: rgba(255, 255, 255, .045);
  --v2-line: rgba(255, 255, 255, .075); --v2-line2: rgba(255, 255, 255, .12);
  --v2-t1: #F3F0E9; --v2-t2: #ABA69C; --v2-t3: #6F6A61;
  --v2-gold: #D9B66E; --v2-gold2: #F2DCA6; --v2-golddeep: #8E6D2F; --v2-goldline: rgba(217, 182, 110, .32);
  --v2-bull: #2BC59A; --v2-bear: #F0625E;
  --v2-ui: "Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;
  --v2-num: "JetBrains Mono", ui-monospace, Menlo, monospace;
  /* Акцент — через свои переменные: на других ступенях он станет цветом ступени. */
  --v2-accent: var(--v2-gold); --v2-accent2: var(--v2-gold2); --v2-accentline: var(--v2-goldline);
  /* Подложка карточек: глубокий чёрный почти непрозрачным слоем — фон мира ступени иначе
     просвечивает сквозь текст. */
  --v2-base: rgba(11, 13, 16, .9);
  --v2-glass: linear-gradient(var(--v2-panel), var(--v2-panel)), var(--v2-base);

  container: v2r / inline-size;
  display: flex; flex-direction: column; gap: 22px;
  max-width: 920px;
  color: var(--v2-t1); font-family: var(--v2-ui);
  -webkit-font-smoothing: antialiased;
  /* Запас снизу под плавающее окно «Всё ли в порядке?» в правом нижнем углу. */
  padding-bottom: 120px;
}
.v2-rew *, .v2-rew *::before, .v2-rew *::after { box-sizing: border-box; }
.v2-rew .v2-n { font-family: var(--v2-num); font-variant-numeric: tabular-nums; }
.v2-rew svg { flex: none; }

/* ── общие детали языка ── */
.v2-rew.v2-rew .v2-eyebrow {
  margin: 0;
  font-size: 11px; line-height: 1.3; letter-spacing: .16em; text-transform: uppercase; font-weight: 800;
  color: var(--v2-t3);
}
.v2-rew.v2-rew .v2-chip {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 12px; font-weight: 700; line-height: 1;
  padding: 7px 11px; border-radius: 999px;
  color: var(--v2-t2); background: var(--v2-panel2);
  box-shadow: inset 0 0 0 1px var(--v2-line);
  white-space: nowrap;
}
.v2-rew .v2-chip svg { width: 14px; height: 14px; }
.v2-rew.v2-rew .v2-chip.g { color: var(--v2-accent2); box-shadow: inset 0 0 0 1px var(--v2-accentline); }
.v2-rew .v2-chip .v2-n { font-weight: 700; color: var(--v2-t1); }

.v2-rew.v2-rew .v2-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 48px; padding: 0 22px; border-radius: 14px; border: 0; margin: 0;
  font: 800 15px/1.2 var(--v2-ui);
  text-decoration: none; white-space: nowrap; cursor: pointer;
  max-width: 100%; min-width: 0; width: auto;
  align-self: flex-start;
}
.v2-rew .v2-btn .v2-btn-txt { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.v2-rew.v2-rew .v2-btn.gold {
  color: var(--v2-accentink, #1a1408);
  background: linear-gradient(180deg, var(--v2-accenttop, #F4DFA9), var(--v2-accent));
  box-shadow: 0 10px 30px -12px color-mix(in srgb, var(--v2-accent) 55%, transparent), inset 0 1px 0 rgba(255, 255, 255, .55);
}
.v2-rew.v2-rew .v2-btn.ghost {
  color: var(--v2-t1);
  background: var(--v2-panel2);
  box-shadow: inset 0 0 0 1px var(--v2-line2);
  min-height: 44px; font-size: 14px; font-weight: 700;
}
@media (prefers-reduced-motion: no-preference) {
  .v2-rew .v2-btn { transition: transform .15s ease, background-color .15s ease; }
  .v2-rew .v2-btn.gold:hover { transform: translateY(-1px); }
}
.v2-rew .v2-btn:focus-visible { outline: 2px solid var(--v2-accent2); outline-offset: 2px; }

/* ── заголовок экрана: eyebrow + h1 30px + одна строка смысла ── */
.v2-rew .v2r-top { display: flex; flex-direction: column; gap: 8px; }
.v2-rew.v2-rew .v2r-top h1 {
  margin: 0;
  font-family: var(--v2-ui); font-size: 30px; line-height: 1.15; font-weight: 800; letter-spacing: -.025em;
  color: var(--v2-t1);
  background: none; -webkit-text-fill-color: currentColor; text-shadow: none;
}
.v2-rew.v2-rew .v2r-top p { margin: 0; max-width: 64ch; font-size: 14px; line-height: 1.55; color: var(--v2-t2); }

/* ── панель состояния: приз действует · вершина · призов нет ── */
.v2-rew.v2-rew .v2r-hero {
  display: flex; flex-direction: column; align-items: flex-start; gap: 16px;
  margin: 0; padding: 26px;
  border: 0; border-radius: 20px;
  background: linear-gradient(180deg, color-mix(in srgb, var(--v2-accent) 7%, transparent), transparent 70%), var(--v2-glass);
  box-shadow: inset 0 0 0 1px var(--v2-line), inset 0 1px 0 var(--v2-accentline);
}
.v2-rew .v2r-hero-h { display: flex; align-items: center; gap: 16px; min-width: 0; }
.v2-rew .v2r-hero-t { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
/* Знак панели — тихая плитка 52px, как «герб» в эталоне, а не кубок на полэкрана. */
.v2-rew .v2r-mark {
  width: 52px; height: 52px; border-radius: 15px; flex: none;
  display: grid; place-items: center;
  color: var(--v2-accent2);
  background: linear-gradient(150deg, #2a2419, #0d0b08);
  box-shadow: inset 0 0 0 1px var(--v2-accentline);
}
.v2-rew .v2r-mark svg { width: 24px; height: 24px; }
.v2-rew.v2-rew .v2r-hero h2 {
  margin: 0;
  font-family: var(--v2-ui); font-size: 24px; line-height: 1.2; font-weight: 800; letter-spacing: -.02em;
  color: var(--v2-t1);
  background: none; -webkit-text-fill-color: currentColor; text-shadow: none;
  overflow-wrap: break-word; text-wrap: balance;
}
.v2-rew.v2-rew .v2r-hero .v2-eyebrow { color: var(--v2-accent); }
.v2-rew.v2-rew .v2r-hero p {
  margin: 0; max-width: 60ch;
  font-size: 14.5px; line-height: 1.6; color: var(--v2-t2);
}
.v2-rew.v2-rew .v2r-hero p.v2r-why { color: var(--v2-t3); font-size: 14px; }
.v2-rew.v2-rew .v2r-hero.on p.v2r-why { color: var(--v2-t2); }
/* Вершина: ровный свет без «чего-то не хватает» — заголовок крупнее, панель спокойнее. */
.v2-rew.v2-rew .v2r-hero.top { padding: 30px; gap: 14px; }
.v2-rew.v2-rew .v2r-hero.top h2 { font-size: 28px; }

/* срок приза: одно крупное моноширинное число */
.v2-rew .v2r-left { display: flex; align-items: baseline; gap: 10px; }
.v2-rew.v2-rew .v2r-left b { font-size: 44px; line-height: 1; font-weight: 700; letter-spacing: -.02em; color: var(--v2-t1); }
.v2-rew.v2-rew .v2r-left span { font-size: 13px; font-weight: 700; color: var(--v2-t2); white-space: nowrap; }

/* путь к призу: две метки и стрелка */
.v2-rew .v2r-path { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.v2-rew.v2-rew .v2r-path em { font-style: normal; color: var(--v2-t3); font-size: 14px; }

/* ── мои призы ──
   Закончившийся — класс `ended`, а не `locked`: общий слой миров красит любой
   `.page article.locked` своей карточкой с !important, и карточка выпадала из языка. */
.v2-rew .v2r-items { display: flex; flex-direction: column; gap: 12px; }
.v2-rew .v2r-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; }
@container v2r (min-width: 620px) {
  .v2-rew .v2r-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.v2-rew.v2-rew .v2r-item {
  display: flex; flex-direction: column; gap: 8px; min-width: 0;
  margin: 0; padding: 18px; border: 0; border-radius: 18px;
  background: var(--v2-glass);
  box-shadow: inset 0 0 0 1px var(--v2-line);
}
.v2-rew.v2-rew .v2r-item.earned { box-shadow: inset 0 0 0 1px var(--v2-line), inset 0 1px 0 var(--v2-accentline); }
.v2-rew .v2r-item-h { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 4px; }
.v2-rew .v2r-ico {
  width: 34px; height: 34px; border-radius: 10px; display: grid; place-items: center;
  color: var(--v2-t3); background: var(--v2-panel2); box-shadow: inset 0 0 0 1px var(--v2-line);
}
.v2-rew .v2r-item.earned .v2r-ico { color: var(--v2-accent2); box-shadow: inset 0 0 0 1px var(--v2-accentline); }
.v2-rew .v2r-ico svg { width: 17px; height: 17px; }
.v2-rew.v2-rew .v2r-item h4 {
  margin: 0; font-family: var(--v2-ui); font-size: 17px; line-height: 1.3; font-weight: 800; color: var(--v2-t1);
  overflow-wrap: break-word;
}
.v2-rew.v2-rew .v2r-item.ended h4 { color: var(--v2-t2); }
.v2-rew.v2-rew .v2r-item p { margin: 0; font-size: 13.5px; line-height: 1.5; color: var(--v2-t2); }
.v2-rew.v2-rew .v2r-gift {
  display: block; margin-top: 4px; padding: 10px 12px; border-radius: 12px;
  font-size: 13px; line-height: 1.45; color: var(--v2-t1);
  background: rgba(255, 255, 255, .025); box-shadow: inset 0 0 0 1px var(--v2-line);
}

/* ── лестница призов: вертикальная линия, состояние — точкой ── */
.v2-rew.v2-rew .v2r-road {
  display: flex; flex-direction: column; gap: 12px;
  margin: 0; padding: 20px 20px 22px; border: 0; border-radius: 18px;
  background: var(--v2-glass);
  box-shadow: inset 0 0 0 1px var(--v2-line);
}
.v2-rew.v2-rew .v2r-road ol { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.v2-rew.v2-rew .v2r-road li {
  position: relative; display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: 14px;
  margin: 0; padding: 12px 0; max-width: none;
}
.v2-rew.v2-rew .v2r-road li::before { content: none; }
/* Линия между точками: от низа точки до верха следующей. */
.v2-rew .v2r-road li:not(:last-child)::after {
  content: ""; position: absolute; left: 10.5px; top: 38px; bottom: -10px; width: 1px;
  background: var(--v2-line2);
}
.v2-rew .v2r-dot {
  width: 22px; height: 22px; margin-top: 1px; border-radius: 50%;
  display: grid; place-items: center;
  box-shadow: inset 0 0 0 1.5px var(--v2-line2);
}
.v2-rew .v2r-dot svg { width: 13px; height: 13px; }
.v2-rew li[data-state="пройдено"] .v2r-dot { color: #0b1a14; background: var(--v2-bull); box-shadow: none; }
.v2-rew li[data-state="сейчас"] .v2r-dot {
  background: radial-gradient(circle, var(--v2-accent) 0 5px, transparent 5.5px);
  box-shadow: inset 0 0 0 1.5px var(--v2-accentline), 0 0 0 4px color-mix(in srgb, var(--v2-accent) 8%, transparent);
}
.v2-rew .v2r-step { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.v2-rew.v2-rew .v2r-step b { font-size: 15.5px; line-height: 1.35; font-weight: 800; color: var(--v2-t1); overflow-wrap: break-word; }
.v2-rew.v2-rew .v2r-step > span { font-size: 13px; line-height: 1.45; color: var(--v2-t3); }
.v2-rew.v2-rew .v2r-step em {
  font-style: normal; font-size: 12.5px; font-weight: 700; line-height: 1.35; color: var(--v2-t3);
}
.v2-rew li[data-state="пройдено"] .v2r-step b { color: var(--v2-t2); }
.v2-rew.v2-rew li[data-state="пройдено"] .v2r-step em { color: var(--v2-bull); }
.v2-rew.v2-rew li[data-state="сейчас"] .v2r-step em { color: var(--v2-accent2); }
.v2-rew li[data-state="впереди"] .v2r-step b,
.v2-rew li[data-state="позади"] .v2r-step b { color: var(--v2-t2); }
.v2-rew.v2-rew .v2r-note {
  display: block; margin: 2px 0 0; padding-top: 14px; border-top: 1px solid var(--v2-line);
  font-size: 13px; line-height: 1.55; color: var(--v2-t3); max-width: 70ch;
}
.v2-rew .v2r-road .v2-btn { margin-top: 4px; }

/* Телефон: поля поуже, кнопки во всю ширину; длинная подпись кнопки («7 дней испытания →
   сигналы …») переносится по словам, а не обрезается и не ломается по буквам. */
@container v2r (max-width: 520px) {
  .v2-rew.v2-rew .v2r-hero, .v2-rew.v2-rew .v2r-hero.top { padding: 20px 18px; }
  .v2-rew.v2-rew .v2r-hero h2 { font-size: 22px; }
  .v2-rew.v2-rew .v2r-hero.top h2 { font-size: 24px; }
  .v2-rew .v2r-hero-h { gap: 14px; }
  .v2-rew .v2r-mark { width: 46px; height: 46px; border-radius: 13px; }
  .v2-rew.v2-rew .v2-btn { width: 100%; align-self: stretch; padding: 12px 18px; }
  .v2-rew.v2-rew .v2-btn .v2-btn-txt { white-space: normal; text-wrap: balance; text-align: center; }
  .v2-rew.v2-rew .v2r-road { padding: 16px 16px 18px; }
}

/* ПРИЗЫ КАРТОЧКАМИ (владелец 05.10). Цвет — мир уровня, который приз открывает. */
.v2-rew.v2-rew .v2r-road ol.pz-grid { list-style: none; margin: 10px 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
@media (max-width: 860px) { .v2-rew.v2-rew .v2r-road ol.pz-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.v2-rew.v2-rew .v2r-road li.pz-card { grid-template-columns: none; --w: #9fd6ff; --w2: #10283a; position: relative; display: flex; flex-direction: column; gap: 6px; min-height: 170px; padding: 16px; border-radius: 18px; overflow: hidden; color: #f5efe6;
  border: 1px solid color-mix(in srgb, var(--w) 30%, transparent);
  background: radial-gradient(110% 80% at 100% 0%, color-mix(in srgb, var(--w) 30%, transparent), transparent 62%), linear-gradient(165deg, var(--w2), #0b0c0e);
  opacity: 0; animation: pz-in .45s cubic-bezier(.2,.8,.2,1) forwards; transition: transform .25s cubic-bezier(.2,.8,.2,1), box-shadow .25s; }
.v2-rew.v2-rew .v2r-road li.pz-card[data-w="3"] { --w: #3fd1b5; --w2: #0c2c27; }
.v2-rew.v2-rew .v2r-road li.pz-card[data-w="4"] { --w: #ff5b5b; --w2: #3a1013; }
.v2-rew.v2-rew .v2r-road li.pz-card[data-w="5"] { --w: #f4c95d; --w2: #3a2c08; }
.v2-rew.v2-rew .v2r-road li.pz-card:hover { transform: translateY(-3px); box-shadow: 0 16px 40px color-mix(in srgb, var(--w) 22%, transparent); }
.pz-sigil { font-size: 30px; line-height: 1; color: var(--w); text-shadow: 0 0 20px color-mix(in srgb, var(--w) 60%, transparent); }
.v2-rew.v2-rew .v2r-road li.pz-card > b { font-size: 15px; line-height: 1.25; overflow-wrap: normal; hyphens: manual; }  /* 10.10: «Сигналы Эксклюзив|а» — слово не рвётся */
.pz-days { font-size: 22px; font-weight: 900; color: var(--w); }
.v2-rew.v2-rew .v2r-road li.pz-card small { font-size: 12px; line-height: 1.4; opacity: .7; }
.pz-state { margin-top: auto; align-self: flex-start; font-style: normal; font-size: 11.5px; font-weight: 800; padding: 4px 9px; border-radius: 999px; color: var(--w); background: color-mix(in srgb, var(--w) 14%, transparent); display: inline-flex; align-items: center; gap: 4px; }
.pz-state svg { width: 12px; height: 12px; }
.v2-rew.v2-rew .v2r-road li.pz-card[data-state="сейчас"] { border-color: var(--w); box-shadow: 0 0 0 1px var(--w), 0 18px 44px color-mix(in srgb, var(--w) 30%, transparent); }
.v2-rew.v2-rew .v2r-road li.pz-card[data-state="сейчас"] .pz-state { color: #120d06; background: var(--w); animation: pz-pulse 2.2s ease-in-out infinite; }
.v2-rew.v2-rew .v2r-road li.pz-card[data-state="пройдено"], .v2-rew.v2-rew .v2r-road li.pz-card[data-state="позади"] { filter: saturate(.5) brightness(.8); }
@keyframes pz-in { from { opacity: 0; transform: translateY(10px) scale(.97); } to { opacity: 1; transform: none; } }
@keyframes pz-pulse { 0%, 100% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--w) 50%, transparent); } 50% { box-shadow: 0 0 0 6px transparent; } }
@media (prefers-reduced-motion: reduce) { .v2-rew.v2-rew .v2r-road li.pz-card, .pz-state { animation: none !important; opacity: 1; } }

.v2-rew.v2-rew .v2r-road ol.pz-grid { display: grid; flex-direction: initial; }
.v2-rew.v2-rew .v2r-road li.pz-card { display: flex; flex-direction: column; align-items: stretch; padding: 16px; }
.v2-rew.v2-rew .v2r-road li.pz-card::after { content: none; }
/* «ПОСЛЕДНИЕ СИГНАЛЫ» под генератором (04.10, язык v2). Та же ширина и то же стекло, что у
   карточки «Найти сделку»: экран сигналов читается одной колонкой, а не двумя разными мирами.
   Токены — свои копии значений SPEC-v2, потому что блок живёт и вне .v2-gen. */
.v2-rs {
  --v2-t1: #F3F0E9; --v2-t2: #ABA69C; --v2-t3: #6F6A61;
  --v2-line: rgba(255, 255, 255, .075); --v2-panel: rgba(255, 255, 255, .028);
  --v2-bull: #2BC59A; --v2-bear: #F0625E;
  --v2-num: "JetBrains Mono", ui-monospace, Menlo, monospace;
  max-width: 520px; margin: 18px auto 0; padding: 18px; border-radius: 22px;
  background: var(--t-surface, #0B0D10); box-shadow: inset 0 0 0 1px var(--v2-line);
  color: var(--v2-t1); display: flex; flex-direction: column; gap: 12px;
}
.v2-rs-head { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; flex-wrap: wrap; }
.v2-rs-head b { font-size: 11px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; color: var(--v2-t3); }
.v2-rs-head small { font-size: 12px; color: var(--v2-t2); }
.v2-rs-empty { margin: 0; font-size: 13.5px; line-height: 1.5; color: var(--v2-t2); }
.v2-rs-list { display: flex; flex-direction: column; gap: 6px; }
.v2-rs-row { display: grid; grid-template-columns: 34px minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 10px 12px; border-radius: 14px; background: var(--v2-panel); }
.v2-rs-dir { width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; font-style: normal; font-weight: 800; color: var(--v2-t2); background: rgba(255, 255, 255, .05); }
.v2-rs-dir.up { color: var(--v2-bull); background: rgba(43, 197, 154, .12); }
.v2-rs-dir.down { color: var(--v2-bear); background: rgba(240, 98, 94, .12); }
.v2-rs-main { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.v2-rs-main b { font-size: 14.5px; font-weight: 800; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.v2-rs-main small { font-size: 12px; color: var(--v2-t3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-variant-numeric: tabular-nums; }
.v2-rs-out { font-size: 12px; font-weight: 800; white-space: nowrap; padding: 5px 10px; border-radius: 999px; }
.v2-rs-out.win { color: var(--v2-bull); background: rgba(43, 197, 154, .12); }
.v2-rs-out.loss { color: var(--v2-bear); background: rgba(240, 98, 94, .12); }
.v2-rs-out.none { color: var(--v2-t3); background: rgba(255, 255, 255, .04); }
.v2-rs-retry { border: 0; background: none; padding: 0; cursor: pointer; color: var(--t-accent, #55f2b2); font: inherit; font-weight: 700; text-decoration: underline; }
/* «ПОМОЩЬ» — ВИД v2 (язык `amir-markets/design/SPEC-v2.md`, эталон koncept-gold-2026-10-03.html).

   Ощущение — спокойный мессенджер: сверху сказано, кто отвечает; ниже пузыри (свои справа,
   команды слева); внизу одно поле с одной кнопкой отправки, прижатое над нижним меню.

   Почему свой файл: общие src/styles/* правят параллельные сессии. Всё заперто под `.v2-help`.
   Двойной класс `.v2-help.v2-help` — потому что поверх экранов ложатся слои тем ступеней
   (`.app[data-look] …`) и старые правила `.help-compose`/`.help-typing` из product.css (эти два
   класса остались на разметке крючками для scripts/probe/*). Двойной класс перебивает их без
   `!important`.

   Без украшений: ни звёзд, ни завитков, ни золотого градиента на тексте. Золото — свет:
   кромки, подписи, и одна золотая кнопка на экране — «Отправить». */

.v2-help {
  --v2-bg: #07080A; --v2-bg2: #0B0D10;
  --v2-panel: rgba(255, 255, 255, .028); --v2-panel2: rgba(255, 255, 255, .045);
  --v2-line: rgba(255, 255, 255, .075); --v2-line2: rgba(255, 255, 255, .12);
  --v2-t1: #F3F0E9; --v2-t2: #ABA69C; --v2-t3: #6F6A61;
  --v2-gold: #D9B66E; --v2-gold2: #F2DCA6; --v2-golddeep: #8E6D2F; --v2-goldline: rgba(217, 182, 110, .32);
  --v2-bull: #2BC59A; --v2-bear: #F0625E;
  --v2-ui: "Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;
  --v2-num: "JetBrains Mono", ui-monospace, Menlo, monospace;
  /* Акцент — через переменные: на других ступенях подставится цвет ступени. */
  --v2-accent: var(--v2-gold); --v2-accent2: var(--v2-gold2); --v2-accentline: var(--v2-goldline);
  /* Подложка: фон мира ступени иначе просвечивает сквозь стекло и спорит с текстом. */
  --v2-surface: rgba(9, 10, 13, .9);
  --v2-glass: linear-gradient(var(--v2-panel), var(--v2-panel)), var(--v2-surface);

  display: flex; flex-direction: column; gap: 14px;
  width: 100%; max-width: 760px; margin-inline: auto;
  color: var(--v2-t1); font-family: var(--v2-ui);
  -webkit-font-smoothing: antialiased;
}
.v2-help *, .v2-help *::before, .v2-help *::after { box-sizing: border-box; }
.v2-help svg { flex: none; }

/* ── общие детали языка ── */
.v2-help.v2-help .v2-eyebrow {
  display: block; margin: 0;
  font-size: 11px; line-height: 1.3; letter-spacing: .16em; text-transform: uppercase;
  font-weight: 800; color: var(--v2-t3); white-space: nowrap;
}
.v2-help .v2-card {
  margin: 0; min-width: 0;
  background: var(--v2-glass);
  box-shadow: inset 0 0 0 1px var(--v2-line);
  border: 0; border-radius: 18px; padding: 20px;
}
.v2-help.v2-help .v2-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  height: 44px; padding: 0 18px; border-radius: 14px; border: 0; cursor: pointer;
  font: 700 14px/1 var(--v2-ui); white-space: nowrap; max-width: 100%;
}
.v2-help.v2-help .v2-btn.ghost {
  color: var(--v2-t1); background: var(--v2-panel2);
  box-shadow: inset 0 0 0 1px var(--v2-line2);
}
.v2-help.v2-help .v2-btn:disabled { cursor: default; color: var(--v2-t2); }

/* ── шапка: кто отвечает ── */
.v2-help.v2-help .v2h-head {
  display: flex; align-items: center; gap: 14px;
  padding: 16px 18px;
  background: linear-gradient(180deg, color-mix(in srgb, var(--v2-accent) 6%, transparent), transparent 85%), var(--v2-surface);
  box-shadow: inset 0 0 0 1px var(--v2-line), inset 0 1px 0 var(--v2-accentline);
}
.v2-help .v2h-ava {
  flex: none; width: 44px; height: 44px; border-radius: 50%;
  display: grid; place-items: center;
  font: 800 18px/1 var(--v2-ui); color: var(--v2-accent2);
  background: #15130F; box-shadow: inset 0 0 0 1px var(--v2-accentline);
}
.v2-help .v2h-who { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.v2-help.v2-help .v2h-who b { font-size: 17px; line-height: 1.25; font-weight: 800; letter-spacing: -.01em; color: var(--v2-t1); }
.v2-help.v2-help .v2h-who small { font-size: 13px; line-height: 1.45; color: var(--v2-t2); }

/* ── переписка ── */
.v2-help .v2h-feed {
  display: flex; flex-direction: column; gap: 8px;
  min-height: 38vh; padding: 6px 2px 4px;
}
.v2-help.v2-help .v2h-msg {
  max-width: min(82%, 520px); min-width: 0;
  display: grid; gap: 4px;
  padding: 11px 14px 8px; margin: 0;
  border: 0; border-radius: 18px;
}
.v2-help.v2-help .v2h-msg p {
  margin: 0; font-size: 15px; line-height: 1.5;
  white-space: pre-wrap; overflow-wrap: anywhere;
}
.v2-help.v2-help .v2h-msg time {
  justify-self: end; font-family: var(--v2-num); font-variant-numeric: tabular-nums;
  font-size: 11px; line-height: 1; opacity: 1;
}
.v2-help.v2-help .v2h-msg.them {
  align-self: flex-start;
  border-bottom-left-radius: 6px;
  background: linear-gradient(var(--v2-panel2), var(--v2-panel2)), var(--v2-surface);
  box-shadow: inset 0 0 0 1px var(--v2-line);
}
.v2-help.v2-help .v2h-msg.them p { color: var(--v2-t1); }
.v2-help.v2-help .v2h-msg.them time { color: var(--v2-t3); }
/* Свои — тёплым светом, а не золотой заливкой: золото на экране одно, у кнопки отправки. */
.v2-help.v2-help .v2h-msg.me {
  align-self: flex-end;
  border-bottom-right-radius: 6px;
  background: linear-gradient(color-mix(in srgb, var(--v2-accent) 11%, transparent), color-mix(in srgb, var(--v2-accent) 11%, transparent)), var(--v2-surface);
  box-shadow: inset 0 0 0 1px var(--v2-accentline);
}
.v2-help.v2-help .v2h-msg.me p { color: var(--v2-t1); }
.v2-help.v2-help .v2h-msg.me time { color: var(--v2-t2); }

.v2-help.v2-help .v2h-typing {
  display: inline-flex; flex-direction: row; align-items: center; gap: 5px;
  padding: 14px 16px;
}
.v2-help.v2-help .v2h-typing span {
  width: 6px; height: 6px; border-radius: 50%; background: var(--v2-t2);
  animation: v2h-dot 1.1s infinite ease-in-out;
}
.v2-help .v2h-typing span:nth-child(2) { animation-delay: .15s; }
.v2-help .v2h-typing span:nth-child(3) { animation-delay: .3s; }
@keyframes v2h-dot { 0%, 80%, 100% { opacity: .3; transform: none; } 40% { opacity: 1; transform: translateY(-2px); } }
@media (prefers-reduced-motion: reduce) { .v2-help.v2-help .v2h-typing span { animation: none; opacity: .7; } }

.v2-help.v2-help .v2h-note {
  align-self: center; max-width: 100%;
  margin: 6px 0; padding: 8px 14px; border-radius: 12px;
  font-size: 13px; line-height: 1.45; text-align: center; color: var(--v2-t2);
  background: var(--v2-panel); box-shadow: inset 0 0 0 1px var(--v2-line);
}

/* ── пустой разговор: что написать ── */
.v2-help.v2-help .v2h-start { display: flex; flex-direction: column; gap: 10px; margin-top: 6px; padding: 18px; }
.v2-help.v2-help .v2h-start > p { margin: 0; max-width: 60ch; font-size: 14px; line-height: 1.55; color: var(--v2-t2); }
.v2-help .v2h-topics {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-top: 4px;
}
@media (min-width: 900px) { .v2-help .v2h-topics { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.v2-help.v2-help .v2h-topics button {
  all: unset; box-sizing: border-box;
  display: flex; align-items: center; gap: 10px; min-width: 0; min-height: 52px;
  padding: 10px 12px; border-radius: 12px; cursor: pointer;
  font: 700 14px/1.3 var(--v2-ui); color: var(--v2-t1);
  background: var(--v2-panel); box-shadow: inset 0 0 0 1px var(--v2-line);
}
.v2-help.v2-help .v2h-topics button svg { width: 18px; height: 18px; color: var(--v2-accent); }
.v2-help .v2h-topics button span { min-width: 0; overflow-wrap: break-word; }
.v2-help.v2-help .v2h-topics button:hover { background: var(--v2-panel2); box-shadow: inset 0 0 0 1px var(--v2-line2); }

/* ── живой менеджер ── */
.v2-help .v2h-human { display: flex; align-items: center; gap: 8px 12px; flex-wrap: wrap; }
.v2-help.v2-help .v2h-human small { font-size: 13px; line-height: 1.4; color: var(--v2-t3); }
/* Помощник сам предложил менеджера — кнопка подсвечена кромкой, но не золотом:
   главное действие экрана остаётся одно. */
.v2-help.v2-help .v2h-human.on .v2-btn:not(:disabled) {
  color: var(--v2-accent2); box-shadow: inset 0 0 0 1px var(--v2-accentline);
  background: linear-gradient(color-mix(in srgb, var(--v2-accent) 8%, transparent), color-mix(in srgb, var(--v2-accent) 8%, transparent)), var(--v2-panel2);
}

/* ── поле письма: прижато к низу, над нижним меню телефона ── */
.v2-help.v2-help .v2h-compose {
  position: sticky; z-index: 5;
  /* --am-nav-space — одно число для всех поверхностей над меню телефона (product.css). */
  bottom: calc(var(--am-nav-space, 0px) + 12px);
  scroll-margin-bottom: calc(var(--am-nav-space, 0px) + 24px);
  display: flex; align-items: flex-end; gap: 8px;
  margin: 0; padding: 6px 6px 6px 14px;
  border: 0; border-radius: 16px;
  background: color-mix(in srgb, var(--t-surface, var(--t-surface, #0B0D10)) 96%, transparent);
  box-shadow: inset 0 0 0 1px var(--v2-line2), 0 -12px 30px -10px rgba(0, 0, 0, .7);
  -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px);
}
@media (min-width: 761px) { .v2-help.v2-help .v2h-compose { bottom: 16px; } }
.v2-help.v2-help .v2h-compose:focus-within { box-shadow: inset 0 0 0 1px var(--v2-accentline), 0 -12px 30px -10px rgba(0, 0, 0, .7); }
/* Поле растёт по написанному (владелец 26.09), потолок 140px. Кегль ровно 16px —
   иначе Safari на iPhone приближает страницу при вводе. */
.v2-help.v2-help .v2h-compose textarea {
  flex: 1; min-width: 0; min-height: 44px; max-height: 140px; resize: none;
  margin: 0; padding: 11px 0; border: 0; outline: 0; background: transparent; box-shadow: none;
  font: 500 16px/1.4 var(--v2-ui); color: var(--v2-t1);
}
.v2-help.v2-help .v2h-compose textarea::placeholder { color: var(--v2-t3); opacity: 1; }
.v2-help.v2-help .v2h-send {
  flex: none; width: 44px; height: 44px; padding: 0;
  display: grid; place-items: center;
  border: 0; border-radius: 12px; cursor: pointer;
  color: var(--v2-accentink, #1a1408);
  background: linear-gradient(180deg, var(--v2-accenttop, #F4DFA9), var(--v2-accent));
  box-shadow: 0 8px 24px -12px color-mix(in srgb, var(--v2-accent) 60%, transparent), inset 0 1px 0 rgba(255, 255, 255, .5);
}
.v2-help.v2-help .v2h-send svg { width: 20px; height: 20px; }
.v2-help.v2-help .v2h-send:disabled { cursor: default; opacity: .35; box-shadow: none; }

.v2-help .v2-btn:focus-visible,
.v2-help .v2h-send:focus-visible,
.v2-help .v2h-topics button:focus-visible { outline: 2px solid var(--v2-accent2); outline-offset: 2px; }

@media (prefers-reduced-motion: no-preference) {
  .v2-help .v2h-send, .v2-help .v2h-topics button, .v2-help .v2-btn { transition: transform .15s ease, background-color .15s ease, opacity .15s ease; }
  .v2-help .v2h-send:not(:disabled):hover { transform: translateY(-1px); }
}

@media (max-width: 420px) {
  .v2-help.v2-help .v2h-head { padding: 14px; gap: 12px; }
  .v2-help.v2-help .v2h-start { padding: 16px; }
}
/* ГОНКА И ТОП (12.10) — одна игра с ботом сигналов. Цвета — токены мира уровня + золото подиума. */
/* 13.10: «золото подиума» стало цветом мира — в Эксклюзиве и ОТС золото было чужим (Амир: «у каждого свои цвета почему-то»). */
.game-page { --gm-gold: var(--t-accent); --gm-gold2: var(--t-accent); --gm-silver: rgba(var(--t-text-rgb), .6); --gm-bronze: rgba(var(--t-text-rgb), .4); }

.gm-hero { border-color: rgba(var(--t-accent-rgb), .3);
  background: radial-gradient(90% 120% at 50% 0%, rgba(var(--t-accent-rgb), .16), transparent 60%),
              linear-gradient(180deg, rgba(255, 255, 255, .04), rgba(255, 255, 255, .01)); }
.gm-hero-top { display: flex; justify-content: space-between; gap: 14px; flex-wrap: wrap; align-items: flex-start; }
.gm-hero-top > div:first-child { flex: 1 1 240px; min-width: 0; }
.gm-hero h2 { background: linear-gradient(100deg, #ffe7a3, var(--gm-gold2)); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.gm-timer { text-align: right; padding: 10px 14px; border-radius: 14px; background: rgba(0, 0, 0, .25); border: 1px solid rgba(var(--t-accent-rgb), .25); }
.gm-timer small { display: block; color: var(--t-text-3); font-size: 12px; }
.gm-timer b { color: var(--gm-gold); font: 600 20px/1.2 var(--font-display); font-variant-numeric: tabular-nums; }

.gm-podium { display: grid; grid-template-columns: 1fr 1.15fr 1fr; align-items: end; gap: 10px; margin: 22px 0 6px; }
.gm-step { display: flex; flex-direction: column; align-items: center; gap: 4px; position: relative; min-width: 0; animation: gm-pop .5s cubic-bezier(.2, .9, .3, 1.3) both; }
.gm-step.p1 { animation-delay: .12s; } .gm-step.p3 { animation-delay: .2s; }
@keyframes gm-pop { from { opacity: 0; transform: translateY(14px) scale(.96); } }
@media (prefers-reduced-motion: reduce) { .gm-step { animation: none; } }
.gm-crown { position: absolute; top: -26px; font-size: 26px; filter: drop-shadow(0 4px 10px rgba(var(--t-accent-rgb), .6)); animation: gm-float 3s ease-in-out infinite; }
@keyframes gm-float { 50% { transform: translateY(-4px); } }
.gm-ava { width: 52px; height: 52px; border-radius: 50%; display: grid; place-items: center; font-size: 26px;
  background: rgba(255, 255, 255, .06); border: 2px solid rgba(255, 255, 255, .12); }
.gm-step.p1 .gm-ava { width: 62px; height: 62px; font-size: 30px; border-color: var(--gm-gold); box-shadow: 0 0 24px rgba(var(--t-accent-rgb), .45); }
.gm-step.p2 .gm-ava { border-color: var(--gm-silver); } .gm-step.p3 .gm-ava { border-color: var(--gm-bronze); }
.gm-step b { color: var(--t-text); font-size: 13.5px; font-weight: 700; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.gm-step small { color: var(--t-text-3); font-size: 12.5px; }
.gm-step.me b { color: var(--gm-gold); }
.gm-pillar { width: 100%; margin-top: 6px; border-radius: 14px 14px 6px 6px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px;
  background: linear-gradient(180deg, rgba(255, 255, 255, .1), rgba(255, 255, 255, .03)); border: 1px solid rgba(255, 255, 255, .1); }
.gm-step.p1 .gm-pillar { height: 92px; background: linear-gradient(180deg, rgba(var(--t-accent-rgb), .38), rgba(var(--t-accent-rgb), .08)); border-color: rgba(var(--t-accent-rgb), .5); }
.gm-step.p2 .gm-pillar { height: 70px; } .gm-step.p3 .gm-pillar { height: 56px; }
.gm-pillar span { font: 600 22px/1 var(--font-display); color: var(--t-text); }
.gm-step.p1 .gm-pillar span { color: var(--t-text); }
.gm-pillar em { font-style: normal; font: 600 13px/1 var(--font-ui); color: var(--gm-gold); }
.gm-step.p1 .gm-pillar em { color: var(--t-accent); }

.gm-me, .gm-join { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-top: 14px; padding: 12px 14px; border-radius: 16px;
  background: rgba(0, 0, 0, .25); border: 1px solid rgba(var(--t-accent-rgb), .22); }
.gm-me b { color: var(--gm-gold); font: 600 20px/1 var(--font-display); }
.gm-me span { color: var(--t-text-2); font-size: 14px; flex: 1 1 160px; min-width: 0; }
.gm-join { flex-direction: column; align-items: stretch; }
.gm-join p { font-size: 14px !important; }

.gm-strip { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; }
.gm-strip .gl-card { display: flex; flex-direction: column; gap: 4px; padding: 16px; }
.gm-strip b { color: var(--t-text); font: 600 19px/1.2 var(--font-display); }
.gm-strip span { color: var(--t-text-3); font-size: 13.5px; }
.gm-double { border-color: rgba(120, 160, 255, .35); background: linear-gradient(120deg, rgba(120, 160, 255, .14), transparent 70%), rgba(255, 255, 255, .02); }
.gm-herobox { border-color: rgba(var(--t-accent-rgb), .3); }

.gm-table .gl-seg { margin-bottom: 10px; }
.gm-rows { list-style: none; margin: 0; padding: 0; }
.gm-rows li { display: grid; grid-template-columns: 36px 1fr auto auto; gap: 10px; align-items: center; padding: 11px 6px; border-top: 1px solid var(--gl-line); }
.gm-rows li:first-child { border-top: 0; }
.gm-rows li.me { background: rgba(var(--t-accent-rgb), .08); border-radius: 12px; }
.gm-rows li.sep { margin-top: 6px; border-top: 1px dashed var(--gl-line); }
.gm-place { text-align: center; font: 600 15px/1 var(--font-display); color: var(--t-text-2); }
.gm-rows b { color: var(--t-text); font-weight: 650; font-size: 14.5px; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.gm-rows em { font-style: normal; color: var(--t-accent); font-size: 12.5px; }
.gm-score { color: var(--t-text); font: 600 14px/1 var(--font-ui); font-variant-numeric: tabular-nums; }

.gm-last ul { list-style: none; margin: 10px 0 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.gm-last li { display: grid; grid-template-columns: 28px 1fr; gap: 2px 10px; align-items: center; }
.gm-last li span { font-size: 20px; grid-row: span 2; }
.gm-last li b { color: var(--t-text); }
.gm-last li em { font-style: normal; color: var(--t-text-3); font-size: 13px; }
.gm-last li.me b { color: var(--gm-gold); }

.gm-ach-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px; margin-top: 12px; }
.gm-badge { display: flex; flex-direction: column; gap: 5px; padding: 14px; border-radius: 16px; background: rgba(0, 0, 0, .22); border: 1px solid var(--gl-line); min-width: 0; }
.gm-badge.done { border-color: rgba(var(--t-accent-rgb), .5); box-shadow: 0 0 22px -8px rgba(var(--t-accent-rgb), .6); }
.gm-badge.taken { opacity: .75; }
.gm-badge-gem { width: 34px; height: 34px; border-radius: 10px; display: grid; place-items: center; transform: rotate(45deg);
  background: rgba(255, 255, 255, .06); color: var(--t-text-3); font-weight: 600; }
.gm-badge.done .gm-badge-gem { background: var(--t-accent); color: var(--t-on-accent, var(--t-ink)); }
.gm-badge-gem { line-height: 1; }
.gm-badge b { color: var(--t-text); font-size: 14px; margin-top: 6px; }
.gm-badge small { color: var(--t-text-3); font-size: 12.5px; }
.gm-badge i { display: block; height: 5px; border-radius: 99px; background: rgba(255, 255, 255, .08); overflow: hidden; margin-top: 4px; }
.gm-badge i s { display: block; height: 100%; background: var(--gm-gold2); border-radius: inherit; }
.gm-badge em { font-style: normal; color: var(--t-text-3); font-size: 12px; font-variant-numeric: tabular-nums; }
.gm-badge .gl-btn { min-height: 38px; font-size: 13.5px; margin-top: 4px; }

@media (max-width: 560px) {
  .gm-podium { gap: 6px; }
  .gm-ava { width: 44px; height: 44px; font-size: 22px; }
  .gm-step.p1 .gm-ava { width: 52px; height: 52px; font-size: 26px; }
  .gm-timer { text-align: left; }
}

/* ── ранги (12.10) ── */
/* Ранг — тем же цветом мира, ступень видна числом на знаке (13.10: разноцветные ранги давали синий/фиолетовый в чужих мирах). */
.game-page { --rk-novice: var(--t-accent); --rk-intern: var(--t-accent); --rk-trader: var(--t-accent); --rk-pro: var(--t-accent); --rk-master: var(--t-accent); --rk-legend: var(--t-accent); }
.gm-rank { display: flex; gap: 16px; align-items: center; }
.gm-rank > div { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 6px; }
.gm-rank h3 { margin: 0 !important; }
.gm-rank span { color: var(--t-text-3); font-size: 13px; }
.gm-rank-gem { flex: none; width: 50px; height: 50px; display: grid; place-items: center; border-radius: 50%;
  background: rgba(var(--t-accent-rgb), .1); border: 1px solid rgba(var(--t-accent-rgb), .45); }
.gm-rank-gem b { color: var(--t-accent); font: 600 20px/1 var(--font-display); }
.gm-rank-bar { display: block; height: 7px; border-radius: 99px; background: rgba(255, 255, 255, .08); overflow: hidden; }
.gm-rank-bar s { display: block; height: 100%; border-radius: inherit; background: var(--rk); }
.gm-rank { --rk: var(--rk-novice); border-color: color-mix(in srgb, var(--rk) 45%, transparent); }
.rk-intern { --rk: var(--rk-intern); } .rk-trader { --rk: var(--rk-trader); } .rk-pro { --rk: var(--rk-pro); }
.rk-master { --rk: var(--rk-master); } .rk-legend { --rk: var(--rk-legend); } .rk-novice { --rk: var(--rk-novice); }
.gm-rk { display: inline-block; width: 9px; height: 9px; margin-right: 8px; border-radius: 2px; transform: rotate(45deg); background: var(--rk); box-shadow: 0 0 8px -1px var(--rk); vertical-align: 1px; }

/* ── 13.10: моё место, одна кнопка, шаги «как участвовать». */
.gm-hero { padding-top: 34px !important; }
.gm-bonus { color: var(--t-text-3); font-size: 11px; line-height: 1.25; text-align: center; margin-top: 4px; }
.gm-mine { display: grid; gap: 14px; }
.gm-mine-row { display: flex; align-items: center; gap: 14px; }
.gm-mine-place { min-width: 64px; color: var(--t-accent); font: 500 44px/1 var(--font-display); letter-spacing: -.04em; font-variant-numeric: tabular-nums; }
.gm-mine-place sup { font-size: 14px; letter-spacing: 0; color: var(--t-text-3); }
.gm-mine-row b, .gm-mine-call { display: block; color: var(--t-text); font: 600 16px/1.3 var(--font-ui); }
.gm-mine-row small, .gm-mine-need { color: var(--t-text-3); font-size: 13px; }
.gm-mine > [data-slot="button"] { height: 48px !important; width: 100%; font-size: 15px !important; }
.gm-steps > summary { display: flex; justify-content: space-between; align-items: center; cursor: pointer; list-style: none; }
.gm-steps > summary::-webkit-details-marker { display: none; }
.gm-steps > summary em { font-style: normal; color: var(--t-text-3); font-size: 13px; }
.gm-steps > summary em::after { content: " ›"; }
.gm-steps[open] > summary em::after { content: " ⌄"; }
.gm-steps ol { list-style: none; margin: 14px 0 0; padding: 0; display: grid; counter-reset: gs; }
.gm-steps li { display: grid; grid-template-columns: 30px 1fr; gap: 3px 12px; padding: 12px 0; counter-increment: gs; }
.gm-steps li + li { border-top: 1px solid var(--gl-line); }
.gm-steps li::before { content: counter(gs); grid-row: span 2; width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center;
  color: var(--t-accent); font: 600 13px/1 var(--font-ui); border: 1px solid rgba(var(--t-accent-rgb), .5); }
.gm-steps li b { color: var(--t-text); font: 600 14.5px/1.3 var(--font-ui); }
.gm-steps li span { color: var(--t-text-3); font-size: 13px; line-height: 1.4; }

/* ── топ трейдеров (18.10): зелёный — плюс, красный — минус, жёлтый — я и главное ── */
.tt { --tt-up: #2fd39a; --tt-down: #ff6b6b; display: grid; gap: 12px; margin-top: 12px; }
.tt-lead { margin: 0; color: var(--t-text-2); font-size: 14px; }
.tt .up { color: var(--tt-up); }
.tt .down { color: var(--tt-down); }
.tt i.up, .tt i.down { font-style: normal; }
.tt-mine { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; padding: 12px 14px; border-radius: 14px;
  background: rgba(var(--t-accent-rgb), .1); border: 1px solid rgba(var(--t-accent-rgb), .35); }
.tt-mine b { color: var(--gm-gold); font: 600 18px/1.2 var(--font-display); display: inline-flex; align-items: center; gap: 8px; }
.tt-mine span { color: var(--t-text-2); font-size: 14px; flex: 1 1 180px; min-width: 0; }
.tt-rows { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.tt-row { padding: 11px 12px; border-radius: 14px; background: rgba(0, 0, 0, .18); border: 1px solid var(--gl-line); display: grid; gap: 7px; min-width: 0; }
.tt-row.me { border-color: rgba(var(--t-accent-rgb), .6); background: rgba(var(--t-accent-rgb), .08); }
.tt-row.me .tt-nick { color: var(--gm-gold); }
.tt-head { display: grid; grid-template-columns: 30px minmax(0, 1fr) auto auto; gap: 8px; align-items: center; }
.tt-place { text-align: center; font: 600 15px/1 var(--font-display); color: var(--t-text-2); }
.tt-nick { color: var(--t-text); font-weight: 650; font-size: 14.5px; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tt-sum { font: 700 15px/1 var(--font-ui); font-variant-numeric: tabular-nums; color: var(--t-text); }
.tt-move { font-style: normal; font: 700 12.5px/1 var(--font-ui); padding: 3px 6px; border-radius: 999px; background: rgba(255, 255, 255, .05); }
.tt-move.new { color: var(--t-accent); }
.tt-meta { display: flex; flex-wrap: wrap; gap: 4px 14px; padding-left: 38px; color: var(--t-text-3); font-size: 13px; }
.tt-meta b { color: var(--t-text); font-variant-numeric: tabular-nums; }
.tt-deals { list-style: none; margin: 0; padding: 0 0 0 38px; display: grid; gap: 4px; max-width: 560px; }
.tt-deal { display: grid; grid-template-columns: minmax(0, 1fr) auto auto auto; gap: 10px; align-items: center; font-size: 12.5px; color: var(--t-text-3); }
.tt-deal span:first-child { color: var(--t-text-2); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tt-deal span, .tt-deal small { color: var(--t-text-3); font-variant-numeric: tabular-nums; }
.tt-deal b { font-variant-numeric: tabular-nums; color: var(--t-text-2); }
.tt-deal.up b { color: var(--tt-up); }
.tt-deal.down b { color: var(--tt-down); }
@media (max-width: 420px) {
  .tt-meta, .tt-deals { padding-left: 0; }
  .tt-head { grid-template-columns: 22px minmax(0, 1fr) auto auto; gap: 6px; }
  .tt-nick { font-size: 14px; }
}
@media (max-width: 420px) { .gm-table .gl-seg { gap: 6px; } .gm-table .gl-seg button { padding: 9px 12px; } }

/* ТОП ТРЕЙДЕРОВ — премиальная подача (18.10): пьедестал + чистый список, без сделок и формул. */
.tp { --tp-up: #3ee0a6; --tp-down: #ff7a7a; --tp-gold: #f2c14e; --tp-silver: #cfd6e4; --tp-bronze: #d08a55;
  display: grid; gap: 18px; margin-top: 14px; }
.tp .up { color: var(--tp-up); } .tp .down { color: var(--tp-down); }
.tp-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.tp-head small { display: block; font-size: 11.5px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: var(--t-accent); }
.tp-head h3 { margin: 6px 0 0; font-size: clamp(22px, 2.6vw, 30px); font-weight: 800; letter-spacing: -.02em; color: var(--t-text); }
.tp-me { display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px; border-radius: 999px; font-weight: 700; font-size: 14px;
  color: var(--t-text); background: rgba(var(--t-accent-rgb), .12); box-shadow: inset 0 0 0 1px rgba(var(--t-accent-rgb), .45); }
.tp-empty { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; padding: 14px 16px; border-radius: 16px;
  background: rgba(var(--t-text-rgb), .04); box-shadow: inset 0 0 0 1px rgba(var(--t-text-rgb), .1); }
.tp-empty b { color: var(--t-text); font-size: 16px; }

.tp-podium { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; align-items: end; }
.tp-p { --m: var(--tp-silver); position: relative; display: grid; justify-items: center; gap: 6px; text-align: center; min-width: 0;
  padding: 22px 10px 16px; border-radius: 22px; overflow: hidden;
  background: radial-gradient(120% 80% at 50% 0%, color-mix(in srgb, var(--m) 22%, transparent), transparent 70%), rgba(var(--t-text-rgb), .035);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--m) 40%, transparent), 0 24px 50px -30px color-mix(in srgb, var(--m) 70%, transparent); }
.tp-p.p1 { --m: var(--tp-gold); padding-top: 34px; padding-bottom: 22px; }
.tp-p.p3 { --m: var(--tp-bronze); }
.tp-p.me { box-shadow: inset 0 0 0 2px var(--t-accent), 0 24px 50px -30px rgba(var(--t-accent-rgb), .8); }
.tp-medal { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 50%; font-weight: 900; font-size: 18px; color: #120c02;
  background: linear-gradient(180deg, #fff, var(--m) 60%, color-mix(in srgb, var(--m) 70%, #000)); box-shadow: 0 6px 18px -6px var(--m); }
.tp-p.p1 .tp-medal { width: 50px; height: 50px; font-size: 22px; }
.tp-nick { display: inline-flex; align-items: center; gap: 6px; max-width: 100%; font-size: 14px; font-weight: 700; color: var(--t-text);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tp-p .tp-sum { font-size: clamp(20px, 2.4vw, 28px); font-weight: 900; letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.tp-p.p1 .tp-sum { font-size: clamp(24px, 3vw, 34px); }
.tp-p small { font-size: 12.5px; color: var(--t-text-3); }
.tp-p small em { font-style: normal; color: var(--t-text-2); font-weight: 600; }

.tp-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.tp-row { display: grid; grid-template-columns: 34px minmax(0, 1fr) auto auto; gap: 10px; align-items: center; padding: 12px 14px; border-radius: 14px;
  background: rgba(var(--t-text-rgb), .03); box-shadow: inset 0 0 0 1px rgba(var(--t-text-rgb), .07); }
.tp-row.me { background: rgba(var(--t-accent-rgb), .1); box-shadow: inset 0 0 0 1px rgba(var(--t-accent-rgb), .5); }
.tp-n { font-weight: 800; color: var(--t-text-3); font-variant-numeric: tabular-nums; text-align: center; }
.tp-row .tp-sum { font-weight: 800; font-size: 16px; font-variant-numeric: tabular-nums; }
.tp-gap { text-align: center; color: var(--t-text-3); letter-spacing: .3em; }
.tp .tt-move { font-style: normal; font-size: 12px; font-weight: 800; padding: 2px 7px; border-radius: 999px; }
.tp .tt-move.up { color: var(--tp-up); background: rgba(62,224,166,.12); }
.tp .tt-move.down { color: var(--tp-down); background: rgba(255,122,122,.12); }
.tp .tt-move.new { color: var(--t-accent); background: rgba(var(--t-accent-rgb), .12); }
@media (max-width: 420px) {
  .tp-podium { gap: 6px; } .tp-p { padding-inline: 6px; border-radius: 18px; }
  .tp-nick { font-size: 12.5px; } .tp-medal { width: 34px; height: 34px; font-size: 15px; }
}
.tp-p .tp-nick { white-space: normal; text-overflow: clip; justify-content: center; text-align: center; line-height: 1.2; overflow-wrap: anywhere; }
/* ═══════════════════════════════════════════════════════════════════════════
   ПРОДУКТОВЫЙ СЛОЙ. Подключается ТОЛЬКО продуктовой сборкой.

   Зачем отдельный файл. `app.css` — это восстановленный оригинал, и музейная
   копия обязана совпадать с ним до пикселя: иначе доказательство восстановления
   перестаёт быть доказательством. А продукту нужны изменения, которых в
   оригинале не было. Раньше они правились прямо в общем файле — то есть каждое
   улучшение продукта незаметно портило музей. Теперь у них разные файлы.

   ── 1. ПОЛ ЧИТАЕМОСТИ ─────────────────────────────────────────────────────
   Замер: в восстановленной вёрстке 787 объявлений размера текста стояли на
   12px и ниже, из них 148 — на 8px и меньше. Это меньше, чем печатает системный
   шрифт телефона; на солнце такой текст не читается вовсе, а именно так кабинет
   и открывают — с телефона, на ходу. Правится не по экранам, а вся шкала разом:
   мелкий конец поднят (7px→11, 8→12, 9→12.5, 10→13, 11→13.5, 12→14, 13→14.5),
   крупные заголовки не тронуты, поэтому иерархия «заголовок → текст → подпись»
   осталась прежней, изменился только её нижний предел.
   ═══════════════════════════════════════════════════════════════════════════ */
.future-day-preview>header span {
  font-size: 12px;
}
.future-day-preview>header b {
  font-size: 13px;
}
.future-day-preview time {
  font-size: 18px;
}
.future-day-preview small {
  font-size: 11px;
}
.future-day-preview article b {
  font-size: 14.5px;
}
.future-day-preview article em {
  font-size: 12.5px;
}
@media (width<=760px) {
  .navigator-launcher b {
    font-size: 13.5px;
  }
  .navigator-launcher small {
    font-size: 12px;
  }
}
select {
  font: inherit;
}
.strategy-choice-list b {
  font-size: 15.5px;
}
@media (width<=760px) {
  .guest-copy h1 {
    font-size: clamp(48px, 14vw, 66px) !important;
  }
  .guest-copy>p {
    font-size: 17.5px !important;
  }
  .trade-generator-dialog [data-slot=dialog-title] {
    font-size: 24px !important;
  }
  .strategy-choice-list small {
    font-size: 11px;
  }
  .strategy-choice-list b {
    font-size: 15px;
  }
  .strategy-world-preview h2 {
    font-size: 34px !important;
  }
  .strategy-world-preview>strong {
    font-size: 15px;
  }
  .strategy-world-preview>p {
    font-size: 14px;
  }
  .strategy-world-preview>div:last-child span {
    font-size: 12.5px;
  }
}
.community-page .mobile-room-trigger small {
  font-size: 12.5px;
}
.community-page .mobile-room-trigger b {
  font-size: 17.5px;
}
.community-page .mobile-room-trigger em {
  font-size: 13px;
}
.available-list>.challenge-choice h3 {
  font-size: 16.5px;
}
.available-list>.challenge-choice p {
  font-size: 14px;
}
.available-list>.challenge-choice>span {
  font-size: 14px;
}
@media (width<=760px) {
  .available-list>.challenge-choice h3 {
    font-size: 15.5px;
  }
  .available-list>.challenge-choice p {
    font-size: 13.5px;
  }
}
.strategy-choice-list small {
  font-size: 12px;
}
.strategy-choice-list b {
  font-size: 15px;
}
.strategy-world-preview>span {
  font-size: 13px;
}
.strategy-world-preview h2 {
  font-size: clamp(34px, 5vw, 58px);
}
.strategy-world-preview>strong {
  font-size: 16.5px;
}
.strategy-world-preview>p {
  font-size: 14.5px;
}
.strategy-world-preview>div:last-child span {
  font-size: 13.5px;
}
.generator-context-line small {
  font-size: 12.5px;
}
.generator-context-line b {
  font-size: 15px;
}
.generated-deal-card>small {
  font-size: 13.5px;
}
.challenge-actions>button:first-child {
  font-size: 13.5px;
}
.mechanic-dialog [data-slot=dialog-title] {
  font-size: 25px;
}
.pocket-manage-status small {
  font-size: 12.5px;
}
.pocket-manage-status b {
  font-size: 14.5px;
}
.mechanic-note {
  font-size: 13.5px;
}
.reward-grid>button>span {
  font-size: 12.5px;
}
.reward-grid>button>h3 {
  font-size: 18px;
}
.reward-grid>button>p {
  font-size: 14px;
}
.support-faq header span {
  font-size: 12.5px;
}
/* Подпись и заголовок частых вопросов — одна над другим. Общее правило шапок ставит
   детей в ряд (там справа кнопка), и на телефоне «БЫСТРЫЕ ОТВЕТЫ» и «Частые вопросы»
   стояли двумя колонками по две строки. */
.support-faq > header:not(#am-faq) {
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 2px
}
.support-faq header h2 {
  font-size: 20px;
}
.notification-inbox>header button {
  font-size: 13px;
}
.notification-inbox>button small {
  font-size: 13.5px;
}
.notification-inbox>button em {
  font-size: 13px;
}
.notification-test>span {
  font-size: 14px;
}
.ticket-message {
  font-size: 13.5px;
}
.ticket-message textarea {
  font: inherit;
}
.support-hero span {
  font-size: 12.5px;
}
.support-hero h2 {
  font-size: 30px;
}
.support-hero p {
  font-size: 14.5px;
}
.support-categories button small {
  font-size: 13px;
}
.support-status-card small {
  font-size: 12.5px;
}
.support-status-card b {
  font-size: 14px;
}
.support-status-card button {
  font-size: 13.5px;
}
.support-faq>button small {
  font-size: 13.5px;
}
.ticket-success h2 {
  font-size: 32px;
}
.ticket-success p {
  font-size: 14px;
}
.settings-list article small {
  font-size: 13px;
}
@media (width<=760px) {
  .strategy-choice-list small {
    font-size: 11px;
  }
  .strategy-world-preview h2 {
    font-size: 36px;
  }
  .strategy-world-preview>p {
    font-size: 13.5px;
  }
  .support-hero h2 {
    font-size: 26px;
  }
}
.signal-route-map>span>i {
  font-size: 14px;
}
.signal-route-map b {
  font-size: 14.5px;
}
.signal-route-map small {
  font-size: 13.5px;
}
.session-origin-strip>button {
  font-size: 14px;
}
.session-origin-strip small {
  font-size: 12.5px;
}
.session-origin-strip strong {
  font-size: 14.5px;
}
.pocket-bridge-copy>span {
  font-size: 13px;
}
.pocket-bridge-copy h2 {
  font-size: 19px;
}
.pocket-bridge-copy p {
  font-size: 14px;
}
.pocket-bridge-steps i {
  font-size: 13.5px;
}
.pocket-bridge-steps b {
  font-size: 14px;
}
.pocket-bridge-steps small {
  font-size: 13px;
}
@media (width<=760px) {
  .signal-route-map:after {
    font-size: 14px;
  }
  .signal-route-map b {
    font-size: 15.5px;
  }
  .signal-route-map small {
    font-size: 14px;
  }
  .session-origin-strip>button {
    font-size: 0;
  }
  .session-origin-strip small {
    font-size: 13px !important;
  }
  .session-origin-strip b {
    font-size: 15px;
  }
  .session-origin-strip strong {
    font-size: 14px;
  }
  .pocket-bridge-copy h2 {
    font-size: 20px;
  }
  .pocket-bridge-copy p {
    font-size: 15px;
  }
  .pocket-bridge-steps b {
    font-size: 14px;
  }
  .pocket-bridge-steps small {
    font-size: 13.5px;
  }
}
a {
  font: inherit;
}
.logo>span {
  font-size: 15.5px;
}
.plain-label {
  font-size: 12.5px;
}
.guest-head nav a {
  font-size: 13px;
}
.guest-head [data-slot=button] {
  font-size: 13px;
}
.guest-copy h1 {
  font-size: clamp(55px, 6.2vw, 84px);
}
.guest-copy>p {
  font-size: 16.5px;
}
.guest-actions>button:last-child {
  font-size: 13px;
}
.preview-head {
  font-size: 12px;
}
.preview-signal h2 {
  font-size: 27px;
}
.preview-signal strong {
  font-size: 17.5px;
}
.preview-actions span {
  font-size: 12px;
}
.guest-preview>[data-slot=button] {
  font-size: 12.5px;
}
.guest-levels h2 {
  font-size: 40px;
}
.who-grid h3 {
  font-size: 15.5px;
}
.who-grid p {
  font-size: 13px;
}
.guest-levels header p {
  font-size: 13.5px;
}
.free-offer h3 {
  font-size: 15.5px;
}
.free-offer article p {
  font-size: 12.5px;
}
.free-offer article span {
  font-size: 12px;
}
.free-offer>[data-slot=button] {
  font-size: 12.5px;
}
.how article>b {
  font-size: 12.5px;
}
.how article h3 {
  font-size: 15.5px;
}
.how article p {
  font-size: 12.5px;
}
.guest-levels article>span {
  font-size: 12px;
}
.guest-levels article h3 {
  font-size: 16.5px;
}
.guest-levels article p {
  font-size: 12px;
}
.guest-levels article>b {
  font-size: 12px;
}
.guest-levels>[data-slot=button] {
  font-size: 12.5px;
}
.sidebar nav button {
  font-size: 13px;
}
.side-level>b {
  font-size: 16.5px;
}
.side-level button {
  font-size: 11px;
}
.demo-switch>span {
  font-size: 11px;
}
.demo-switch button {
  font-size: 12px;
}
.avatar {
  font-size: 12.5px;
}
.level-current span {
  font-size: 12px;
}
.page-title h1 {
  font-size: 35px;
}
.page-title p {
  font-size: 13px;
}
.balance-card b {
  font-size: 21px;
}
.balance-card button {
  font-size: 11px;
}
.next-signal header {
  font-size: 11px;
}
.next-signal strong {
  font-size: 15.5px;
}
.next-signal [data-slot=button] {
  font-size: 12px;
}
.next-level h2 {
  font-size: 20px;
}
.next-level>small {
  font-size: 11px;
}
.next-level>button {
  font-size: 11px;
}
.all-sections h2 {
  font-size: 18px;
}
.challenge-progress-circle small {
  font-size: 11px;
}
.home-challenge h3 {
  font-size: 14px;
}
.home-challenge p {
  font-size: 11px;
}
.history-tabs button {
  font-size: 12px;
}
.available-list>header {
  font-size: 12px;
}
.signal-list p {
  font-size: 11px;
}
.signal-list article>strong {
  font-size: 13px;
}
.explain-card p {
  font-size: 11px;
}
.learning-summary p {
  font-size: 11px;
}
.learning-summary>span {
  font-size: 11px;
}
.lesson-list button>i {
  font-size: 11px;
}
.lesson-list button b {
  font-size: 12px;
}
.video>small {
  font-size: 11px;
}
.lesson-info>span {
  font-size: 11px;
}
.lesson-info h2 {
  font-size: 23px;
}
.lesson-info>div span {
  font-size: 11px;
}
.lesson-info [data-slot=button] {
  font-size: 11px;
}
.free-strategies h2 {
  font-size: 17.5px;
}
.free-strategies article>b {
  font-size: 11px;
}
.free-strategies h3 {
  font-size: 13px;
}
.free-strategies p {
  font-size: 11px;
}
.history-table>header {
  font-size: 11px;
}
.history-table>article span {
  font-size: 12px;
}
.wallet-hero span {
  font-size: 12px;
}
.wallet-hero h1 {
  font-size: 51px;
}
.wallet-hero p {
  font-size: 12px;
}
.wallet-hero [data-slot=button] {
  font-size: 12px;
}
.wallet-progress h2 {
  font-size: 16.5px;
}
.money-cards b {
  font-size: 12px;
}
.money-cards small {
  font-size: 11px;
}
.challenge-number small {
  font-size: 11px;
}
.active-challenge h2 {
  font-size: 21px;
}
.active-challenge p {
  font-size: 12px;
}
.active-challenge>div:last-child small {
  font-size: 11px;
}
.available-list>header h2 {
  font-size: 14.5px;
}
.available-list h3 {
  font-size: 12.5px;
}
.available-list p {
  font-size: 11px;
}
.available-list article>span small {
  font-size: 11px;
}
.reward-summary h2 {
  font-size: 21px;
}
.reward-summary p {
  font-size: 12px;
}
.reward-grid article>span {
  font-size: 11px;
}
.reward-grid h3 {
  font-size: 14.5px;
}
.reward-grid p {
  font-size: 11px;
}
.level-current h1 {
  font-size: 34px;
}
.level-current p {
  font-size: 12px;
}
.level-list article>span small {
  font-size: 11px;
}
.level-list h2 {
  font-size: 14.5px;
}
.level-list p {
  font-size: 11px;
}
.level-list article>strong {
  font-size: 11px;
}
.level-list article>.level-cta {
  font-size: 11px;
}
.profile-card small {
  font-size: 11px;
}
.profile-card h2 {
  font-size: 19px;
}
.profile-card p {
  font-size: 11px;
}
.profile-links small {
  font-size: 11px;
}
@media (width<=760px) {
  .guest-head [data-slot=button] {
    font-size: 12px;
  }
  .guest-copy h1 {
    font-size: 49px;
  }
  .guest-copy>p {
    font-size: 15px;
  }
  .guest-facts b {
    font-size: 15.5px;
  }
  .guest-levels h2 {
    font-size: 32px;
  }
  .page-title h1 {
    font-size: 28px;
  }
  .page-title>div:first-child>span {
    font-size: 11px;
  }
  .balance-card b {
    font-size: 18px;
  }
  .balance-card button {
    font-size: 0;
  }
  .mobile-nav button {
    font-size: 11px;
  }
  .wallet-hero h1 {
    font-size: 42px;
  }
}
.next-signal h2 {
  font-size: 31px;
}
.next-lesson h2 {
  font-size: 22px;
}
body {
  font-size: 16.5px;
}
.logo>span {
  font-size: 17.5px;
}
.logo b {
  font-size: 15px;
}
.logo small {
  font-size: 13.5px;
}
.plain-label {
  font-size: 14px;
}
.guest-head [data-slot=button] {
  font-size: 15px;
}
.guest-copy>p {
  font-size: 18px;
}
.guest-actions [data-slot=button] {
  font-size: 15.5px;
}
.guest-facts b {
  font-size: 24px;
}
.preview-head {
  font-size: 14px;
}
.preview-signal small {
  font-size: 14px;
}
.preview-signal strong {
  font-size: 22px;
}
.preview-signal p {
  font-size: 14.5px;
}
.preview-actions span {
  font-size: 14px;
}
.guest-preview>[data-slot=button] {
  font-size: 15px;
}
.guest-levels h2 {
  font-size: 48px;
}
.how article h3 {
  font-size: 20px;
}
.guest-levels article p {
  font-size: 15px;
}
.free-offer header p {
  font-size: 16.5px;
}
.guest-levels article>b {
  font-size: 14px;
}
.guest-levels>[data-slot=button] {
  font-size: 15px;
}
.guest-levels article h3 {
  font-size: 21px;
}
.sidebar nav button {
  font-size: 15px;
}
.side-level small {
  font-size: 13.5px;
}
.side-level>b {
  font-size: 21px;
}
.side-level button {
  font-size: 14px;
}
.demo-switch>span {
  font-size: 13.5px;
}
.demo-switch button {
  font-size: 14px;
}
.avatar {
  font-size: 14px;
}
.level-current span {
  font-size: 14px;
}
.page-title h1 {
  font-size: 46px;
}
.page-title p {
  font-size: 16.5px;
}
.balance-card b {
  font-size: 28px;
}
.balance-card button {
  font-size: 14px;
}
[data-slot=button] {
  font-size: 15px;
}
.next-signal header {
  font-size: 14px;
}
.next-signal small {
  font-size: 14px;
}
.next-signal h2 {
  font-size: 42px;
}
.next-signal p {
  font-size: 15px;
}
.next-signal [data-slot=button] {
  font-size: 15px;
}
.next-lesson h2 {
  font-size: 30px;
}
.next-level p {
  font-size: 15px;
}
.next-lesson [data-slot=button] {
  font-size: 14.5px;
}
.next-level>small {
  font-size: 14.5px;
}
.next-level>button {
  font-size: 14.5px;
}
.all-sections h2 {
  font-size: 26px;
}
.all-sections header>small {
  font-size: 14px;
}
.all-sections button small {
  font-size: 14px;
}
.challenge-progress-circle b {
  font-size: 19px;
}
.challenge-progress-circle small {
  font-size: 13px;
}
.home-challenge h3 {
  font-size: 17.5px;
}
.home-challenge p {
  font-size: 14.5px;
}
.home-challenge [data-slot=button] {
  font-size: 14.5px;
}
.history-tabs button {
  font-size: 14.5px;
}
.available-list>header {
  font-size: 14px;
}
.signal-status span {
  font-size: 14.5px;
}
.signal-list article small {
  font-size: 14px;
}
.signal-list h3 {
  font-size: 18px;
}
.signal-list p {
  font-size: 14px;
}
.signal-list article>strong {
  font-size: 15.5px;
}
.explain-card b {
  font-size: 15px;
}
.learning-summary>span {
  font-size: 14px;
}
.lesson-list button>i {
  font-size: 13.5px;
}
.lesson-list button small {
  font-size: 13.5px;
}
.lesson-info>span {
  font-size: 14px;
}
.lesson-info>p {
  font-size: 15px;
}
.lesson-info>div span {
  font-size: 14px;
}
.lesson-info [data-slot=button] {
  font-size: 15px;
}
.free-strategies h2 {
  font-size: 25px;
}
.free-strategies article>b {
  font-size: 13.5px;
}
.free-strategies p {
  font-size: 14px;
}
.profile-links small {
  font-size: 14.5px;
}
.wallet-hero h1 {
  font-size: 56px;
}
.reward-summary h2 {
  font-size: 28px;
}
.active-challenge h2 {
  font-size: 25px;
}
.available-list h3 {
  font-size: 16.5px;
}
.available-list p {
  font-size: 14px;
}
.available-list article>span b {
  font-size: 14.5px;
}
.available-list [data-slot=button] {
  font-size: 14.5px;
}
.reward-grid article>span {
  font-size: 13.5px;
}
.reward-grid h3 {
  font-size: 18px;
}
.level-current h1 {
  font-size: 46px;
}
.level-list article>span small {
  font-size: 13.5px;
}
.level-list article>strong {
  font-size: 14px;
}
.big-avatar {
  font-size: 18px;
}
.profile-card small {
  font-size: 13.5px;
}
.profile-card h2 {
  font-size: 26px;
}
.profile-card [data-slot=button] {
  font-size: 14.5px;
}
.profile-links b {
  font-size: 15.5px;
}
.profile-links small {
  font-size: 14px;
}
.more-grid b {
  font-size: 15.5px;
}
@media (width<=760px) {
  body {
    font-size: 16.5px;
  }
  .guest-head [data-slot=button] {
    font-size: 14.5px;
  }
  .guest-copy h1 {
    font-size: 46px;
  }
  .guest-copy>p {
    font-size: 17.5px;
  }
  .preview-signal small {
    font-size: 13.5px;
  }
  .preview-signal h2 {
    font-size: 32px;
  }
  .preview-actions span {
    font-size: 14px;
  }
  .guest-levels article p {
    font-size: 15px;
  }
  .page-title h1 {
    font-size: 34px;
  }
  .page-title p {
    font-size: 15.5px;
  }
  .page-title>div:first-child>span {
    font-size: 13.5px;
  }
  .balance-card small {
    font-size: 13px;
  }
  .balance-card b {
    font-size: 22px;
  }
  .next-signal h2 {
    font-size: 35px;
  }
  .next-signal strong {
    font-size: 21px;
  }
  .next-lesson h2 {
    font-size: 27px;
  }
  .next-level h2 {
    font-size: 27px;
  }
  .all-sections h2 {
    font-size: 24px;
  }
  .all-sections button b {
    font-size: 15.5px;
  }
  .all-sections button small {
    font-size: 14px;
  }
  .mobile-nav button {
    font-size: 13.5px;
  }
  .lesson-info h2 {
    font-size: 28px;
  }
}
.sidebar:after {
  font: 800 13px/1 ui-monospace, monospace;
}
.page-title h1 strong {
  font: inherit;
}
.next-signal:before {
  font: 900 clamp(72px, 8vw, 124px)/.8 Arial Black, sans-serif;
}
.next-signal header {
  font-size: 14px;
}
.next-signal header b {
  font-size: 13.5px;
}
.signal-main>small {
  font-size: 14px !important;
}
.next-signal h2 {
  font-size: clamp(50px, 5.1vw, 78px);
}
.next-signal strong {
  font-size: 30px;
}
.signal-facts small {
  font-size: 13px !important;
}
.signal-facts b {
  font: 850 15px/1.2 Inter, sans-serif;
}
.next-signal [data-slot=button] {
  font-size: 16.5px;
}
.next-lesson h2 {
  font-size: 28px;
}
.next-lesson p {
  font-size: 14.5px;
}
.next-level h2 {
  font-size: 40px;
}
.all-sections h2 {
  font-size: 30px;
}
.all-sections button b {
  font-size: 16.5px;
}
@media (width<=1200px) {
  .next-signal h2 {
    font-size: 56px;
  }
}
@media (width<=760px) {
  .next-signal:before {
    font-size: 62px;
  }
  .next-signal header b {
    font-size: 12.5px;
  }
  .next-signal h2 {
    font-size: 48px;
  }
  .next-signal strong {
    font-size: 25px;
  }
  .signal-facts b {
    font-size: 14.5px;
  }
  .next-lesson h2 {
    font-size: 27px;
  }
  .next-level h2 {
    font-size: 36px;
  }
  .all-sections h2 {
    font-size: 27px;
  }
}
.page-title.simple h1 {
  font-size: 54px;
}
.page-title.simple p {
  font-size: 15.5px;
}
/* 13.10, Амир: «очень много везде в каждом месте инженерной инфы». Подпись под заголовком раздела
   («Остальные разделы аккаунта», «Сигналы твоих комнат и поиск сделки…») пересказывала то, что видно ниже.
   В продукте её нет; музейная копия (без product.css) остаётся как оригинал. */
.app .page-title.simple > div > p:not(#am-w):not(#am-env) { display: none !important; }
.next-signal:before {
  font-size: 82px;
}
.next-signal h2 {
  font-size: clamp(46px, 4.1vw, 66px);
}
.next-signal strong {
  font-size: 26px;
}
.next-lesson h2 {
  font-size: 27px;
}
.next-level h2 {
  font-size: 38px;
}
.signal-list>header {
  font: 800 14px/1 ui-monospace, monospace;
}
.signal-list>article:first-of-type h3 {
  font: 950 30px/1 Arial Black, Inter, sans-serif;
}
.learning-summary b {
  font: 950 43px/1 Arial Black, Inter, sans-serif;
}
.lesson-info h2 {
  font: 950 38px/1.05 Arial Black, Inter, sans-serif;
}
.history-table>header {
  font: 800 13.5px/1 ui-monospace, monospace;
}
.history-table>article span {
  font-size: 14.5px;
}
.wallet-hero span {
  font: 850 14px/1 ui-monospace, monospace;
}
.wallet-hero h1 {
  font: 950 82px/.95 Arial Black, Inter, sans-serif;
}
.wallet-hero p {
  font-size: 14.5px;
}
.wallet-hero [data-slot=button] {
  font-size: 15px;
}
.wallet-progress h2 {
  font: 900 25px/1.1 Arial Black, Inter, sans-serif;
}
.money-cards b {
  font-size: 15px;
}
.money-cards strong {
  font: 900 22px/1 Arial Black, Inter, sans-serif;
}
.challenge-number b {
  font: 950 42px/1 Arial Black, Inter, sans-serif;
}
.challenge-number small {
  font-size: 13.5px;
}
.active-challenge h2 {
  font: 950 34px/1.05 Arial Black, Inter, sans-serif;
}
.active-challenge>div:last-child b {
  font-size: 14.5px;
}
.available-list>header h2 {
  font: 900 18px/1 Arial Black, Inter, sans-serif;
}
.reward-summary h2 {
  font: 950 43px/1 Arial Black, Inter, sans-serif;
}
.level-current h1 {
  font: 950 62px/.95 Arial Black, Inter, sans-serif;
}
.level-list article.current h2 {
  font-size: 23px;
}
.big-avatar {
  font: 950 25px/1 Arial Black, Inter, sans-serif;
}
.profile-card h2 {
  font: 950 36px/1 Arial Black, Inter, sans-serif;
}
.profile-links b {
  font-size: 17.5px;
}
@media (width<=760px) {
  .page-title.simple h1 {
    font-size: 38px;
  }
  .next-signal h2 {
    font-size: 46px;
  }
  .signal-list>article:first-of-type h3 {
    font-size: 24px;
  }
  .learning-summary b {
    font-size: 38px;
  }
  .lesson-info h2 {
    font-size: 31px;
  }
  .wallet-hero h1 {
    font-size: 62px;
  }
  .challenge-number b {
    font-size: 30px;
  }
  .active-challenge h2 {
    font-size: 27px;
  }
  .reward-summary h2 {
    font-size: 36px;
  }
  .level-current h1 {
    font-size: 48px;
  }
  .profile-card h2 {
    font-size: 28px;
  }
}
.sidebar nav button {
  font-size: 14.5px;
}
.session-steps i {
  font: 750 13.5px/1 var(--font-data);
}
.session-steps b {
  font-size: 14.5px;
}
.war-signal>header {
  font: 750 13.5px/1 var(--font-data);
}
.war-signal>div:nth-child(2)>small {
  font: 720 13.5px/1 var(--font-data);
}
.war-signal h2 {
  font: 760 clamp(50px, 5vw, 78px)/.95 var(--font-display);
}
.war-signal strong {
  font: 760 28px/1 var(--font-display);
}
.risk-strip small {
  font: 700 12.5px/1 var(--font-data);
}
.risk-strip b {
  font-size: 14.5px;
}
.stage-action b {
  font-size: 15px;
}
.stage-action p {
  font-size: 13.5px;
}
.stage-action [data-slot=button] {
  font-size: 14px;
}
.session-room>header span {
  font: 750 13px/1 var(--font-data);
}
.session-room h3 {
  font-size: 18px;
}
.session-room>header>b {
  font-size: 13.5px;
}
.chat-feed p>i {
  font-size: 13px;
}
.chat-feed p>span {
  font-size: 14px;
}
.chat-feed p b {
  font-size: 14px;
}
.chat-feed p small {
  font-size: 13px;
}
.open-community {
  font-size: 14.5px;
}
.room-list>header {
  font: 750 13px/1 var(--font-data);
}
.room-list>button b {
  font-size: 15px;
}
.room-list>button small {
  font-size: 13.5px;
}
.room-list>button em {
  font-size: 12.5px;
}
.guest-pass b {
  font-size: 14.5px;
}
.guest-pass small {
  font-size: 13.5px;
}
.community-chat>header span {
  font: 750 13px/1 var(--font-data);
}
.community-chat h2 {
  font: 740 23px/1.15 var(--font-display);
}
.community-chat>header>b {
  font-size: 13.5px;
}
.pinned b {
  font-size: 14px;
}
.pinned small {
  font-size: 13.5px;
}
.chat-feed p>span {
  font-size: 14.5px;
}
.chat-feed p b em {
  font-size: 12.5px;
}
.chat-compose input {
  font-size: 14.5px;
}
.locked-room h3 {
  font: 750 25px/1.1 var(--font-display);
}
.locked-room p {
  font-size: 14.5px;
}
.signal-rooms>header span {
  font: 750 13px/1 var(--font-data);
}
.signal-rooms h2 {
  font: 740 24px/1 var(--font-display);
}
.signal-rooms button b {
  font-size: 14.5px;
}
.signal-rooms button small {
  font-size: 13px;
}
.access-states>header span {
  font: 750 13px/1 var(--font-data);
}
.access-hero h2 {
  font: 760 44px/1 var(--font-display);
}
.access-hero p {
  font-size: 15px;
}
.subscription-card>header span {
  font: 750 13px/1 var(--font-data);
}
.subscription-card .sub-note {
  font-size: 15px;
}
.subscription-card .sub-price {
  font-size: 15.5px;
}
.subscription-card .sub-error {
  font-size: 14.5px;
}
.subscription-card .sub-line b {
  font: 760 18px/1.2 var(--font-display);
}
.subscription-card .sub-line small {
  font-size: 14.5px;
}
.subscription-card .sub-processing b {
  font: 760 17.5px/1.2 var(--font-display);
}
.subscription-card .sub-processing small {
  font-size: 14.5px;
}
.entitlement-grid article>span {
  font: 750 12.5px/1 var(--font-data);
}
.entitlement-grid h3 {
  font: 750 25px/1 var(--font-display);
}
.entitlement-grid p {
  font-size: 14px;
}
.entitlement-grid article>b {
  font-size: 14px;
}
.access-states h2 {
  font: 740 25px/1 var(--font-display);
}
.access-states article b {
  font-size: 14.5px;
}
.access-states article small {
  font-size: 13px;
}
.quiet-hours b {
  font-size: 15px;
}
.quiet-hours small {
  font-size: 13.5px;
}
.notification-summary span {
  font: 750 13px/1 var(--font-data);
}
.notification-summary h2 {
  font: 750 34px/1 var(--font-display);
}
.notification-summary p {
  font-size: 14.5px;
}
.channel-matrix>header {
  font: 750 13px/1 var(--font-data);
}
.channel-matrix article b {
  font-size: 15px;
}
.channel-matrix article small {
  font-size: 13.5px;
}
.channel-matrix article>em {
  font-size: 13.5px;
}
.admin-workbench header span {
  font: 750 13px/1 var(--font-data);
}
.admin-status h2 {
  font: 740 27px/1 var(--font-display);
}
.admin-status>b {
  font-size: 14px;
}
.admin-grid small {
  font-size: 13px;
}
.admin-workbench h2 {
  font: 750 27px/1 var(--font-display);
}
.admin-fields label {
  font-size: 13px;
}
.admin-fields label b {
  font-size: 14.5px;
}
.admin-check b {
  font-size: 14px;
}
.admin-check small {
  font-size: 13px;
}
.admin-workbench>aside>header b {
  font-size: 26px;
}
.admin-workbench>aside>button {
  font-size: 14px;
}
@media (width<=760px) {
  .war-signal>header {
    font-size: 12.5px;
  }
  .war-signal h2 {
    font-size: 49px;
  }
  .notification-summary h2 {
    font-size: 29px;
  }
}
body {
  font-size: 15.5px;
}
.market-code {
  font: 700 13px/1 var(--font-data);
}
.logo b {
  font: 760 14.5px/1 var(--font-display);
}
.logo small {
  font: 500 12px/1.2 var(--font-ui);
}
.nav-group>small {
  font: 650 12.5px/1 var(--font-data);
}
.sidebar nav button {
  font-size: 14.5px;
}
.side-level small {
  font: 650 12px var(--font-data);
}
.side-level>b {
  font-size: 22px;
}
.side-level button {
  font-size: 13px;
}
.demo-switch>span {
  font-size: 12.5px;
}
.demo-switch button {
  font-size: 13px;
}
.page-title>div:first-child>span {
  font: 650 13px/1 var(--font-data);
}
.page-title.simple h1 {
  font: 690 clamp(42px, 4vw, 66px)/.92 var(--font-display);
}
.page-title p {
  font-size: 15px;
}
.title-market b {
  font: 650 12.5px/1 var(--font-data);
}
.balance-card small {
  font-size: 12.5px;
}
.balance-card b {
  font-size: 30px;
}
.balance-card button {
  font-size: 12.5px;
}
.next-signal:before {
  font: 700 clamp(90px, 11vw, 170px)/.75 var(--font-display);
}
.next-signal h2 {
  font: 690 clamp(60px, 6.3vw, 94px)/.88 var(--font-display);
}
.next-signal strong {
  font-size: 32px;
}
.next-signal>[data-slot=button] {
  font-size: 15.5px;
}
.all-sections h2 {
  font-size: 32px;
}
.all-sections button b {
  font-size: 15.5px;
}
.all-sections button small {
  font-size: 13.5px;
}
.history-tabs button {
  font-size: 13.5px;
}
.signal-list>header {
  font: 600 13px var(--font-data);
}
.signal-list h3 {
  font-size: 22px;
}
.signal-status span {
  font-size: 13px;
}
.signal-list article>strong {
  font-size: 15.5px;
}
.signal-list article>[data-slot=button] {
  font-size: 13px;
}
.explain-card p {
  font-size: 13.5px;
}
.learning-summary b {
  font-size: 32px;
}
.learning-summary>span {
  font-size: 13px;
}
.lesson-list button b {
  font-size: 13.5px;
}
.video:before {
  font: 650 13px var(--font-data);
}
.lesson-info h2 {
  font-size: 40px;
}
.lesson-info>p {
  font-size: 14.5px;
}
.free-strategies h3 {
  font-size: 15px;
}
.wallet-hero h1 {
  font-size: clamp(68px, 8vw, 118px);
}
.money-cards strong {
  font-size: 22px;
}
.level-current h1 {
  font-size: clamp(65px, 8vw, 112px);
}
.level-list h2 {
  font-size: 25px;
}
.challenge-number b {
  font-size: 58px;
}
.reward-summary h2 {
  font-size: 48px;
}
.community-chat h2 {
  font-size: 30px;
}
.access-hero h2 {
  font-size: 62px;
}
.entitlement-grid h3 {
  font-size: 32px;
}
.notification-summary h2 {
  font-size: 52px;
}
.admin-status:after {
  font: 700 clamp(70px, 8vw, 120px)/.8 var(--font-display);
}
.admin-status h2 {
  font-size: 52px;
}
.admin-grid b {
  font-size: 18px;
}
.admin-grid small {
  font-size: 13.5px;
}
.admin-workbench h2 {
  font-size: 42px;
}
.guest-head nav a {
  font-size: 13.5px;
}
.guest-copy h1 {
  font: 680 clamp(68px, 7.4vw, 112px)/.86 var(--font-display);
}
.guest-copy>p {
  font-size: 17.5px;
}
.guest-actions [data-slot=button] {
  font-size: 14.5px;
}
.guest-actions>button:last-child {
  font-size: 14px;
}
.guest-facts b {
  font-size: 32px;
}
.guest-facts small {
  font-size: 13px;
}
.preview-signal h2 {
  font-size: 46px;
}
.preview-signal strong {
  font-size: 24px;
}
.guest-levels h2 {
  font-size: 55px;
}
.how article p {
  font-size: 13.5px;
}
@media (width<=760px) {
  .page-title.simple h1 {
    font-size: 42px;
  }
  .page-title p {
    font-size: 14px;
  }
  .balance-card b {
    font-size: 22px;
  }
  .next-signal h2 {
    font-size: 52px;
  }
  .next-signal strong {
    font-size: 25px;
  }
  .all-sections h2 {
    font-size: 26px;
  }
  .lesson-info h2 {
    font-size: 32px;
  }
  .wallet-hero h1 {
    font-size: 68px;
  }
  .level-current h1 {
    font-size: 62px;
  }
  .admin-status h2 {
    font-size: 37px;
  }
  .admin-status:after {
    font-size: 60px;
  }
  .guest-copy h1 {
    font-size: 57px;
  }
  .guest-levels h2 {
    font-size: 40px;
  }
}
@media (width<=760px) {
  .page-title.simple h1 {
    font-size: 36px;
  }
  .page-title p {
    font-size: 14px;
  }
  .page-title>div:first-child>span {
    font-size: 12px;
  }
  .balance-card b {
    font-size: 21px;
  }
  .next-signal:before {
    font-size: 62px;
  }
  .next-signal header {
    font-size: 12.5px;
  }
  .next-signal h2 {
    font-size: 43px !important;
  }
  .next-signal strong {
    font-size: 23px;
  }
  .signal-facts b {
    font-size: 14px;
  }
  .next-signal>[data-slot=button] {
    font-size: 14.5px;
  }
  .next-lesson h2 {
    font-size: 27px;
  }
  .next-level h2 {
    font-size: 34px;
  }
  .all-sections h2 {
    font-size: 25px;
  }
  .all-sections button b {
    font-size: 15px;
  }
  .all-sections button small {
    font-size: 13px;
  }
  .signal-list h3 {
    font-size: 20px;
  }
  .explain-card p {
    font-size: 13px;
  }
  .learning-summary b {
    font-size: 28px;
  }
  .lesson-info h2 {
    font-size: 29px;
  }
  .lesson-info>p {
    font-size: 14px;
  }
  .wallet-hero h1 {
    font-size: 62px;
  }
  .challenge-number b {
    font-size: 42px;
  }
  .reward-summary h2 {
    font-size: 37px;
  }
  .level-current h1 {
    font-size: 56px;
  }
  .community-chat h2 {
    font-size: 23px;
  }
  .admin-status h2 {
    font-size: 34px;
  }
  .admin-status:after {
    font-size: 50px;
  }
  .admin-workbench h2 {
    font-size: 32px;
  }
  .mobile-nav button span {
    font-size: 13px;
  }
  .guest-head [data-slot=button] {
    font-size: 12.5px;
  }
  .guest-copy h1 {
    font-size: 48px;
  }
  .guest-copy>p {
    font-size: 15px;
  }
  .guest-facts b {
    font-size: 25px;
  }
  .preview-signal h2 {
    font-size: 36px;
  }
  .guest-levels h2 {
    font-size: 34px;
  }
}
.market-hud small {
  font: 600 11px/1 var(--font-data);
}
.market-hud b {
  font: 650 12.5px/1.2 var(--font-data);
}
.market-pulse-strip>header span {
  font: 650 12.5px/1 var(--font-data);
}
.market-pulse-strip>header b {
  font: 700 11px/1 var(--font-data);
}
.market-pulse-strip>div small {
  font: 600 12px/1 var(--font-data);
}
.market-pulse-strip>div strong {
  font: 650 14px/1 var(--font-data);
}
.market-pulse-strip>div.live strong {
  font-size: 13px;
}
.signal-tech {
  font: 600 12px/1 var(--font-data);
}
@media (width<=760px) {
  .market-code {
    font-size: 11px;
  }
  .market-pulse-strip>div small {
    font-size: 11px;
  }
  .market-pulse-strip>div strong {
    font-size: 13.5px;
  }
}
.auth-head>button {
  font-size: 13.5px;
}
.auth-story h1 {
  font: 600 clamp(58px, 6vw, 88px)/.9 var(--font-display);
}
.auth-story>p {
  font-size: 16.5px;
}
.auth-proof b {
  font-size: 14.5px;
}
.auth-proof small {
  font-size: 13px;
}
.auth-tabs button {
  font-size: 13.5px;
}
.auth-card>header small {
  font: 650 12px var(--font-data);
}
.auth-card h2 {
  font-size: 32px;
}
.auth-card>header p {
  font-size: 13.5px;
}
.auth-card [data-slot=button] {
  font-size: 13.5px;
}
.auth-divider {
  font-size: 12.5px;
}
.auth-card label {
  font-size: 12.5px;
}
.auth-card input {
  font: 500 14px var(--font-ui);
}
.auth-terms {
  font-size: 12px;
}
.auth-complete-card>small {
  font: 650 12.5px var(--font-data);
}
.auth-complete-card h1 {
  font-size: 50px;
}
.auth-complete-card>p {
  font-size: 14.5px;
}
.auth-ready-grid b {
  font-size: 13px;
}
.strategy-drop>span {
  font: 650 12px var(--font-data);
}
.daily-route h2 {
  font-size: 29px;
}
.daily-route header>b {
  font: 650 13px var(--font-data);
}
.route-line small {
  font: 600 11px var(--font-data);
}
.route-line b {
  font-size: 14px;
}
.route-line em {
  font-size: 12px;
}
.strategy-drop h2 {
  font-size: 34px;
}
.strategy-drop p {
  font-size: 13px;
}
.strategy-drop>button {
  font-size: 12.5px;
}
.community-pulse header {
  font: 650 12px var(--font-data);
}
.chat-orbit span {
  font-size: 12.5px;
}
.community-pulse h2 {
  font-size: 27px;
}
.community-pulse>p {
  font-size: 13px;
}
.room-tags span {
  font: 600 11px var(--font-data);
}
@media (width<=760px) {
  .auth-story h1 {
    font-size: 46px;
  }
  .auth-story>p {
    font-size: 14.5px;
  }
  .auth-card h2 {
    font-size: 28px;
  }
  .auth-complete-card h1 {
    font-size: 38px;
  }
  .strategy-drop h2 {
    font-size: 36px;
  }
}
.binding-progress>span i {
  font: 650 12.5px var(--font-data);
}
.binding-progress>span b {
  font-size: 13px;
}
.pocket-copy h1 {
  font: 600 clamp(56px, 6vw, 86px)/.9 var(--font-display);
}
.pocket-copy>p {
  font-size: 15.5px;
}
.identity-chain article>span {
  font: 650 12px var(--font-data);
}
.identity-chain b {
  font-size: 14px;
}
.identity-chain small {
  font-size: 12.5px;
}
.pocket-card header small {
  font: 650 12px var(--font-data);
}
.pocket-card h2 {
  font-size: 30px;
}
.pocket-card>label {
  font-size: 12.5px;
}
.pocket-input>span {
  font: 650 12.5px var(--font-data);
}
.pocket-input input {
  font: 600 16.5px var(--font-data);
}
.verification-state b {
  font-size: 13px;
}
.verification-state small {
  font-size: 12px;
}
.no-pocket b {
  font-size: 13px;
}
.no-pocket small {
  font-size: 12px;
}
.no-pocket>button {
  font-size: 12px;
}
.binding-security {
  font-size: 12px;
}
.pocket-identity-card header>div>span {
  font: 650 12px var(--font-data);
}
.pocket-identity-card h2 {
  font-size: 30px;
}
.pocket-identity-card header p {
  font-size: 13px;
}
.identity-evidence article small {
  font: 600 11px var(--font-data);
}
.identity-evidence article b {
  font: 650 15px var(--font-data);
}
.identity-evidence article span {
  font-size: 12px;
}
.identity-details b {
  font-size: 12px;
}
.identity-details small {
  font-size: 12px;
}
.identity-toggle {
  font-size: 12px;
}
@media (width<=760px) {
  .pocket-copy h1 {
    font-size: 47px;
  }
  .pocket-copy>p {
    font-size: 14.5px;
  }
  .pocket-card h2 {
    font-size: 27px;
  }
  .pocket-identity-card h2 {
    font-size: 24px;
  }
  .identity-toggle {
    font-size: 12.5px;
  }
}
.session-account-strip small {
  font: 650 11px/1 var(--font-data);
}
.session-account-strip b {
  font-size: 14px;
}
.session-account-strip>button {
  font-size: 12.5px;
}
.session-stage-nav>span>i {
  font: 650 12.5px var(--font-data);
}
.session-stage-nav b {
  font-size: 13.5px;
}
.session-stage-nav small {
  font-size: 11px;
}
.session-signal-command:before {
  font: 700 clamp(70px, 8vw, 124px)/.8 var(--font-display);
}
.session-signal-head {
  font: 650 12px/1.2 var(--font-data);
}
.session-signal-body small {
  font: 650 12px var(--font-data);
}
.session-signal-body h2 {
  font: 620 clamp(53px, 5.4vw, 82px)/.88 var(--font-display);
}
.session-signal-body strong {
  font-size: 27px;
}
.session-facts small {
  font: 650 11px var(--font-data);
}
.session-facts b {
  font-size: 14px;
}
.session-review-copy>small {
  font: 650 11px var(--font-data);
}
.session-review-copy h3 {
  font-size: 24px;
}
.session-review-copy>p {
  font-size: 13px;
}
.session-review-actions [data-slot=button] {
  font-size: 13px;
}
.session-amount-orb small {
  font: 650 11px var(--font-data);
}
.session-amount-orb strong {
  font: 620 42px var(--font-display);
}
.session-amount-orb span {
  font-size: 12px;
}
.session-outcome-grid b {
  font-size: 14px;
}
.session-outcome-grid small {
  font-size: 11px;
}
.session-discipline-score strong {
  font-size: 47px;
}
.session-discipline-score small {
  font: 650 12px var(--font-data);
}
.session-discipline-score>b {
  font-size: 13px;
}
.session-review-checks span {
  font-size: 11px;
}
.session-review-copy label>span {
  font-size: 12px;
}
.session-review-copy textarea {
  font: 400 13px var(--font-ui);
}
.session-room-v2 header small {
  font: 650 11px var(--font-data);
}
.session-room-v2 h3 {
  font-size: 19px;
}
.session-risk-ladder i {
  font: 650 11px var(--font-data);
}
.session-risk-ladder b {
  font-size: 17.5px;
}
.session-risk-ladder small {
  font-size: 12px;
}
.session-risk-ladder .stop b {
  font-size: 14px;
}
.session-risk-guard>p {
  font-size: 12px;
}
.session-room-v2 header>b {
  font-size: 12px;
}
.session-room-message>i {
  font: 650 11px var(--font-data);
}
.session-room-message p {
  font-size: 12px;
}
.session-room-message p>b {
  font-size: 12.5px;
}
.session-room-message p small {
  font-size: 11px;
}
.session-room-v2>button {
  font-size: 12.5px;
}
.session-truth-note b {
  font-size: 13px;
}
.session-truth-note p {
  font-size: 12px;
}
@media (width<=760px) {
  .session-stage-nav b {
    font-size: 12px;
  }
  .session-signal-command:before {
    font-size: 75px;
  }
  .session-signal-head {
    font-size: 11px;
  }
  .session-signal-body h2 {
    font-size: 47px;
  }
  .session-signal-body strong {
    font-size: 23px;
  }
  .session-review-copy h3 {
    font-size: 21px;
  }
  .session-discipline-score strong {
    font-size: 40px;
  }
}
.signal-hub-summary small {
  font: 650 11px/1 var(--font-data);
}
.signal-hub-summary b {
  font-size: 14px;
}
.signal-hub-tabs button {
  font-size: 12.5px;
}
.signal-stream-list header small {
  font: 650 11px var(--font-data);
}
.signal-stream-list header b {
  font-size: 13px;
}
.signal-stream-list button small {
  font: 650 11px var(--font-data);
}
.signal-stream-list button b {
  font-size: 13.5px;
}
.signal-stream-list button em {
  font-size: 11px;
}
.signal-stream-list button>strong {
  font: 650 12.5px var(--font-data);
}
.signal-command-card:before {
  font: 700 clamp(74px, 9vw, 140px) / .8 var(--font-display);
}
.signal-command-card>header>span {
  font: 650 12px var(--font-data);
}
.signal-command-card>header button {
  font-size: 11px;
}
.signal-command-card>header>div>b {
  font: 650 12px var(--font-data);
}
.signal-command-main small {
  font: 650 12px var(--font-data);
}
.signal-command-main h2 {
  font: 620 clamp(60px, 6.5vw, 102px) / .86 var(--font-display);
}
.signal-command-main strong {
  font-size: 29px;
}
.signal-generator-facts small {
  font: 650 11px var(--font-data);
}
.signal-generated-amount strong {
  font-size: 43px;
}
.signal-generated-amount span {
  font-size: 12px;
}
.signal-generator-facts b {
  font-size: 12.5px;
}
.signal-trade-generator>[data-slot=button] {
  font-size: 13px;
}
.signal-access-gate small {
  font: 650 11px var(--font-data);
}
.signal-access-gate h3 {
  font-size: 23px;
}
.signal-access-gate p {
  font-size: 12.5px;
}
.signal-access-gate>[data-slot=button] {
  font-size: 12.5px;
}
.signal-day-schedule header small {
  font: 650 11px var(--font-data);
}
.signal-day-schedule h2 {
  font-size: 26px;
}
.signal-day-schedule header>span {
  font-size: 12px;
}
.signal-day-schedule button small {
  font: 650 12px var(--font-data);
}
.signal-day-schedule button b {
  font-size: 13px;
}
.signal-day-schedule button span {
  font-size: 11px;
}
.signal-hub-truth b {
  font-size: 13px;
}
.signal-hub-truth p {
  font-size: 12px;
}
.signal-hub-truth [data-slot=button] {
  font-size: 12px;
}
@media (width<=1100px) {
  .signal-command-main h2 {
    font-size: 64px;
  }
}
@media (width<=760px) {
  .signal-command-card:before {
    font-size: 70px;
  }
  .signal-command-card>header button {
    font-size: 0;
  }
  .signal-command-main h2 {
    font-size: 49px;
  }
  .signal-command-main strong {
    font-size: 23px;
  }
  .signal-generated-amount strong {
    font-size: 37px;
  }
  .signal-access-gate h3 {
    font-size: 20px;
  }
  .signal-hub-page .page-title h1 {
    font-size: 37px;
  }
  .signal-hub-page .page-title p {
    font-size: 13px;
  }
  .signal-hub-summary small {
    font-size: 11px;
  }
  .signal-hub-summary b {
    font-size: 13px;
  }
  .signal-command-card>header>span {
    font-size: 11px;
  }
  .signal-command-main small {
    font-size: 11px;
  }
  .signal-command-main h2 {
    font-size: 44px;
  }
  .signal-command-main strong {
    font-size: 20px;
  }
  .signal-generated-amount small {
    font-size: 11px;
  }
  .signal-generated-amount strong {
    font-size: 34px;
  }
  .signal-generated-amount span {
    font-size: 11px;
  }
  .signal-trade-generator>[data-slot=button] {
    font-size: 13.5px;
  }
  .signal-stream-list header small {
    font-size: 0;
  }
  .signal-stream-list header small:after {
    font-size: 11px;
  }
  .signal-stream-list button b {
    font-size: 13px;
  }
}
@media (width>=761px) {
  .app main .page small {
    font-size: max(10px, .625rem) !important;
  }
  .app main .page p {
    font-size: max(12px, .75rem);
  }
  /* ЗДЕСЬ СТОЯЛ ПОЛ, КОТОРЫЙ РАБОТАЛ ПОТОЛКОМ (25.09).

     Амир: «кнопка настолько жёлтая, что текст режет глаза, нужно его сделать крупнее и
     растянуть». Замер на живом объяснил почему: кнопка шириной 946px и высотой 48px несла
     текст кеглем ОДИННАДЦАТЬ. Так выглядели все кнопки кабинета на компьютере, а не одна.

     Правило писалось как НИЖНЯЯ граница — `max(11px, .6875rem)`, «не мельче одиннадцати».
     Но селектор `.app main .page button` сильнее, чем `[data-slot="button"]` с его 15px,
     поэтому выражение выигрывало всегда и превращалось в ВЕРХНЮЮ границу: любая кнопка
     ужималась до одиннадцати. Пол, поставленный сильным селектором, — это потолок.

     Строка убрана целиком: кнопки задают свой размер сами и он заведомо выше любого пола.
     Полы для `p` и `small` рядом остаются — там селектор не спорит с компонентом. */
  .signal-command-card>header>div>b {
    font-size: 13.5px;
  }
  .signal-day-schedule button span {
    font-size: 13px;
  }
  .signal-generator-facts b {
    font-size: 13.5px;
  }
  .signal-command-card>header button {
    font-size: 14px;
  }
}
@media (width<=760px) {
  .page-title>div:first-child>span {
    font-size: 13.5px !important;
  }
  .signal-hub-page .page-title h1 {
    font-size: 36px;
  }
  .signal-hub-page .page-title p {
    font-size: 15.5px !important;
  }
  .app main .page p {
    font-size: 15.5px !important;
  }
  .app main .page small {
    font-size: 14px !important;
  }
  .app main .page [data-slot=button] {
    font-size: 15px;
  }
  .mobile-nav button {
    font-size: 14px;
  }
  .home-page .next-signal header {
    font-size: 14px;
  }
  .home-page .next-signal h2 {
    font-size: 50px;
  }
  .home-page .next-signal strong {
    font-size: 25px;
  }
  .home-page .next-signal [data-slot=button] {
    font-size: 16.5px;
  }
  .home-page .next-lesson h2 {
    font-size: 27px;
  }
  .home-page .next-lesson [data-slot=button] {
    font-size: 15.5px;
  }
  .signal-hub-summary small {
    font-size: 13.5px !important;
  }
  .signal-hub-summary b {
    font-size: 15px;
  }
  .signal-hub-tabs button {
    font-size: 15px !important;
  }
  .signal-command-card>header>span {
    font-size: 13.5px;
  }
  .signal-command-main small {
    font-size: 13.5px !important;
  }
  .signal-command-main h2 {
    font-size: 49px;
  }
  .signal-command-main strong {
    font-size: 24px;
  }
  .signal-generated-amount small {
    font-size: 13.5px !important;
  }
  .signal-generated-amount strong {
    font-size: 38px;
  }
  .signal-generated-amount span {
    font-size: 14.5px;
  }
  .signal-trade-generator>[data-slot=button] {
    font-size: 16.5px;
  }
  .signal-stream-list header small:after {
    font-size: 13.5px;
  }
  .signal-stream-list button small {
    font-size: 13.5px !important;
  }
  .signal-stream-list button b {
    font-size: 15.5px;
  }
  .session-account-identity small {
    font-size: 13.5px !important;
  }
  .session-account-identity b {
    font-size: 15px;
  }
  .session-stage-nav>span.active>span small {
    font-size: 14px !important;
  }
  .session-stage-nav>span.active b {
    font-size: 15.5px;
  }
  .session-signal-head {
    font-size: 13.5px;
  }
  .session-signal-head>b {
    font-size: 13.5px;
  }
  .session-signal-body small {
    font-size: 13.5px !important;
  }
  .session-signal-body h2 {
    font-size: 47px;
  }
  .session-signal-body strong {
    font-size: 24px;
  }
  .session-facts small {
    font-size: 13.5px !important;
  }
  .session-facts b {
    font-size: 15px;
  }
  .session-review-copy>small {
    font-size: 13.5px !important;
  }
  .session-review-copy h3 {
    font-size: 23px;
  }
  .session-review-actions [data-slot=button] {
    font-size: 15.5px;
  }
  .session-outcome-grid button {
    font-size: 15px;
  }
  .session-outcome-grid b {
    font-size: 15.5px;
  }
  .community-chat h2 {
    font-size: 25px;
  }
  .channel-matrix b {
    font-size: 15.5px;
  }
  .lesson-info h2 {
    font-size: 31px;
  }
  .access-hero [data-slot=button] {
    font-size: 15.5px;
  }
}
.signal-mode-switch small {
  font-size: 12.5px;
}
.signal-mode-switch b {
  font-size: 17.5px;
}
.signal-mode-switch em {
  font-size: 13.5px;
}
.strategy-scanner-card>header span {
  font-size: 13px;
}
.strategy-scanner-card>header b {
  font-size: 13px;
}
.strategy-scanner-card>div>small {
  font-size: 12.5px;
}
.strategy-scanner-card h2 {
  font-size: clamp(25px, 2vw, 35px);
}
.strategy-scanner-card p {
  font-size: 14.5px;
}
.signal-machine-line i {
  font-size: 13px;
}
.signal-machine-line b {
  font-size: 13.5px;
}
.signal-machine-line small {
  font-size: 12.5px;
}
.strategy-scanner-card>[data-slot=button] {
  font-size: 15px;
}
.strategy-picker b {
  font-size: 13.5px;
}
.strategy-picker small {
  font-size: 12.5px;
}
.scheduled-session-board>header small {
  font-size: 12.5px;
}
.scheduled-session-board>header h2 {
  font-size: 25px;
}
.scheduled-session-board>header p {
  font-size: 14px;
}
.scheduled-session-board>header>span {
  font-size: 13.5px;
}
.scheduled-session-list time {
  font-size: 18px;
}
.scheduled-session-list article>div small {
  font-size: 12.5px;
}
.scheduled-session-list h3 {
  font-size: 16.5px;
}
.scheduled-session-list p {
  font-size: 13.5px;
}
.scheduled-state {
  font-size: 12.5px;
}
.scheduled-session-list [data-slot=button] {
  font-size: 13.5px;
}
@media (width<=760px) {
  .signal-mode-switch b {
    font-size: 15.5px;
  }
  .signal-mode-switch em {
    font-size: 14px;
  }
  .strategy-scanner-card h2 {
    font-size: 27px;
  }
  .strategy-scanner-card p {
    font-size: 15px;
  }
  .signal-machine-line b {
    font-size: 14px;
  }
  .signal-machine-line small {
    font-size: 13px;
  }
  .strategy-picker b {
    font-size: 15px;
  }
  .strategy-picker small {
    font-size: 14px;
  }
  .strategy-scanner-card>[data-slot=button] {
    font-size: 15.5px;
  }
  .scheduled-session-board>header h2 {
    font-size: 24px;
  }
  .scheduled-session-board>header p {
    font-size: 15px;
  }
  .scheduled-session-list time {
    font-size: 15.5px;
  }
  .scheduled-session-list article>div small {
    font-size: 13px !important;
  }
  .scheduled-session-list h3 {
    font-size: 16.5px;
  }
  .scheduled-session-list p {
    font-size: 14px;
  }
  .scheduled-session-list [data-slot=button] {
    font-size: 14.5px;
  }
}
.next-session-action>span {
  font-size: 13px;
}
.signal-primary-action h2 {
  font-size: clamp(42px, 5vw, 76px);
}
.signal-primary-action p {
  font-size: 15.5px;
}
.signal-primary-action [data-slot=button] {
  font-size: 15.5px;
}
.next-session-action strong {
  font-size: 58px;
}
.next-session-action b {
  font-size: 17.5px;
}
.next-session-action small {
  font-size: 14px;
}
.signal-back-action {
  font-size: 14.5px;
}
.trade-generator-dialog [data-slot=dialog-description] {
  font-size: 14px;
}
.generator-choice-list b {
  font-size: 15.5px;
}
.generator-choice-list small {
  font-size: 14px;
}
.generator-option-grid>button {
  font-size: 15.5px;
}
.generated-deal-card>span {
  font-size: 13px;
}
.generated-deal-card h2 {
  font-size: 48px;
}
.generated-deal-card>strong {
  font-size: 23px;
}
.generated-deal-card>div b {
  font-size: 14.5px;
}
.generator-dialog-actions [data-slot=button] {
  font-size: 15px;
}
.compact-trade-flow>header>button {
  font-size: 14.5px;
}
.compact-trade-flow>header>span {
  font-size: 13px;
}
.compact-deal-card h1 {
  font-size: clamp(54px, 7vw, 88px);
}
.compact-deal-card>strong {
  font-size: 30px;
}
.compact-deal-facts small {
  font-size: 13px;
}
.compact-deal-facts b {
  font-size: 18px;
}
.compact-deal-action [data-slot=button] {
  font-size: 16.5px;
}
.compact-trade-done>button:last-child {
  font-size: 14px;
}
.compact-result-choice h2 {
  font-size: 19px;
}
.compact-trade-done h1 {
  font-size: 38px;
}
.compact-trade-done p {
  font-size: 15px;
}
.pocket-identity-card.compact small {
  font-size: 12.5px;
}
.pocket-identity-card.compact b {
  font-size: 16.5px;
}
.pocket-identity-card.compact>button {
  font-size: 14px;
}
@media (width<=760px) {
  .signal-primary-action h2 {
    font-size: 49px;
  }
  .signal-primary-action p {
    font-size: 15.5px;
  }
  .next-session-action strong {
    font-size: 44px;
  }
  .trade-generator-dialog [data-slot=dialog-title] {
    font-size: 25px;
  }
  .generated-deal-card h2 {
    font-size: 38px;
  }
  .compact-deal-card h1 {
    font-size: 54px;
  }
  .compact-deal-card>strong {
    font-size: 27px;
  }
  .compact-trade-done h1 {
    font-size: 31px;
  }
  .pocket-identity-card.compact b {
    font-size: 15px;
  }
  .pocket-identity-card.compact>button {
    font-size: 0;
  }
}
.compact-auto-result>span {
  font-size: 13.5px;
}
.compact-auto-result h2 {
  font-size: 23px;
}
.compact-auto-result p {
  font-size: 15px;
}
.signal-help-link {
  font-size: 14px;
}
.signal-guide-dialog [data-slot=dialog-title] {
  font-size: 27px;
}
.signal-guide-steps b {
  font-size: 15.5px;
}
.signal-guide-steps small {
  font-size: 14px;
}
.signal-analysis-card h2 {
  font-size: 24px;
}
.signal-analysis-card>p {
  font-size: 14.5px;
}
.analysis-checks>span {
  font-size: 13.5px;
}
.learning-next-card>div>span {
  font-size: 12.5px;
}
.learning-next-card h3 {
  font-size: 20px;
}
.learning-next-card p {
  font-size: 14.5px;
}
.learning-next-card>span {
  font-size: 14px;
}
@media (width<=760px) {
  .signal-guide-dialog [data-slot=dialog-title] {
    font-size: 24px;
  }
  .learning-next-card>span {
    font-size: 0;
  }
}
.mobile-room-list .room-choice b {
  font-size: 15.5px;
}
.mobile-room-list .room-choice small {
  font-size: 13px;
}
@media (width<=760px) {
  .page-title.simple h1 {
    font-size: clamp(30px, 9vw, 42px) !important;
  }
  .auth-page:not(.pocket-onboarding):not(.auth-success) .auth-card h2 {
    font-size: 30px !important;
  }
  .mechanic-dialog [data-slot=dialog-title] {
    font-size: 23px !important;
  }
  .mobile-room-trigger small {
    font-size: 12px;
  }
  .mobile-room-trigger b {
    font-size: 16.5px;
  }
  .mobile-room-trigger em {
    font-size: 12.5px;
  }
  .community-chat>header h2 {
    font-size: 21px !important;
  }
  .available-list>header h2 {
    font-size: 20px !important;
  }
  .available-list article h3 {
    font-size: 15.5px !important;
  }
  .challenge-actions>button:first-child {
    font-size: 0;
  }
  .challenge-actions>button:first-child:after {
    font-size: 25px;
  }
}
@media (width<=760px) {
  .more-grid b {
    font-size: 16.5px !important;
  }
}
.trade-generator-dialog [data-slot=dialog-title] {
  font-size: clamp(22px, 3vw, 34px) !important;
}
@media (width<=760px) {
  .guest-copy h1 {
    font-size: clamp(48px, 14vw, 66px) !important;
  }
  .guest-copy>p {
    font-size: 17.5px !important;
  }
  .trade-generator-dialog [data-slot=dialog-title] {
    font-size: 24px !important;
  }
  .strategy-world-preview h2 {
    font-size: 34px !important;
  }
  .strategy-world-preview>strong {
    font-size: 15px !important;
  }
  .strategy-world-preview>p {
    font-size: 14px !important;
  }
}
.strategy-essence>small {
  font-size: 12px !important;
}
.strategy-essence>p {
  font-size: 14px;
}
.strategy-mechanic>span>i {
  font-size: 12px;
}
.strategy-mechanic>span>b {
  font-size: 12.5px;
}
.strategy-meta>span {
  font-size: 13px;
}
@media (width<=760px) {
  .strategy-essence>p {
    font-size: 13.5px;
  }
  .strategy-mechanic>span>b {
    font-size: 12px;
  }
  .strategy-meta>span {
    font-size: 12px;
  }
}
.amir-navigator:before {
  font-size: clamp(72px, 8.5vw, 136px);
}
.navigator-identity>span {
  font-size: 28px;
}
.navigator-kicker {
  font-size: 13px;
}
.navigator-message h2 {
  font-size: clamp(24px, 2.25vw, 36px);
}
.navigator-message>p {
  font-size: 15px;
}
.navigator-proof>span {
  font-size: 13px;
}
.navigator-decision>small {
  font-size: 12px;
}
.navigator-decision [data-slot=button] {
  font-size: 14.5px;
}
.navigator-decision>span {
  font-size: 12.5px;
}
.context-amir {
  font-size: 17.5px;
}
.amir-context-guide span {
  font-size: 12px;
}
.amir-context-guide p {
  font-size: 14px;
}
.amir-context-guide>button {
  font-size: 22px;
}
@media (width<=760px) {
  .amir-navigator:before {
    font-size: 58px;
  }
  .navigator-identity>span {
    font-size: 20px;
  }
  .navigator-kicker {
    font-size: 12px;
  }
  .navigator-message h2 {
    font-size: 22px;
  }
  .navigator-message>p {
    font-size: 14px;
  }
  .navigator-proof>span {
    font-size: 12.5px;
  }
  .navigator-decision [data-slot=button] {
    font-size: 14.5px;
  }
  .context-amir {
    font-size: 15.5px;
  }
  .amir-context-guide span {
    font-size: 11px;
  }
  .amir-context-guide p {
    font-size: 13.5px;
  }
  .amir-context-guide>button {
    font-size: 19px;
  }
}
.navigator-launcher>i {
  font-size: 16.5px;
}
.navigator-launcher b {
  font-size: 14px;
}
.navigator-launcher small {
  font-size: 12.5px;
}
.guided-amir-tour>header span {
  font-size: 12px;
}
.guided-amir-tour>header button {
  font-size: 20px;
}
.tour-avatar {
  font-size: 19px;
}
.guided-amir-tour>div small {
  font-size: 12px;
}
.guided-amir-tour h3 {
  font-size: 20px;
}
.guided-amir-tour p {
  font-size: 14px;
}
.guided-amir-tour>[data-slot=button] {
  font-size: 14px;
}
.tour-step-4 .next-level-preview-callout:after {
  font-size: 11px;
}
.future-learning-unlock span {
  font-size: 12px;
}
.next-level-preview-callout h2 {
  font-size: 24px;
}
.next-level-preview-callout p {
  font-size: 14px;
}
.future-cabinet-dialog [data-slot=dialog-title] {
  font-size: clamp(28px, 4vw, 44px) !important;
}
.future-level-rail small {
  font-size: 12px;
}
.future-level-rail b {
  font-size: 20px;
}
.future-level-rail em {
  font-size: 13px;
}
.future-cabinet-stage>aside>b {
  font-size: 12px;
}
.future-cabinet-stage>aside>span {
  font-size: 13.5px;
}
.future-cabinet-stage>aside i {
  font-size: 11px;
}
.future-stage-label {
  font-size: 12px;
}
.future-cabinet-stage article small {
  font-size: 11px;
}
.future-cabinet-stage article h3 {
  font-size: 16.5px;
}
.future-cabinet-stage article p {
  font-size: 13px;
}
.future-cabinet-actions>small {
  font-size: 12.5px;
}
.future-preview-bar span {
  font-size: 13.5px;
}
.future-preview-bar small {
  font-size: 12.5px;
}
.future-preview-bar button {
  font-size: 13px;
}
.future-nav-badge {
  font-size: 11px;
}
.scheduled-session-list article.preview-unlock:before {
  font-size: 11px;
}
.future-learning-unlock h3 {
  font-size: 15.5px;
}
.future-learning-unlock p {
  font-size: 13px;
}
.future-learning-unlock button {
  font-size: 13px;
}
@media (width<=760px) {
  .tour-avatar {
    font-size: 16.5px;
  }
  .guided-amir-tour h3 {
    font-size: 17.5px;
  }
  .guided-amir-tour p {
    font-size: 13.5px;
  }
  .next-level-preview-callout h2 {
    font-size: 20px;
  }
  .future-cabinet-dialog [data-slot=dialog-title] {
    font-size: 28px !important;
  }
  .future-level-rail b {
    font-size: 16.5px;
  }
  .future-level-rail em {
    font-size: 12px;
  }
  .future-cabinet-stage>aside>span {
    font-size: 12.5px;
  }
  .future-preview-bar button {
    font-size: 12.5px;
  }
}
.amir-quick-nav .quick-nav-intro h3 {
  font-size: 24px;
}
.amir-quick-nav .quick-nav-intro p {
  font-size: 14.5px;
}
.quick-nav-actions b {
  font-size: 15px;
}
.quick-nav-actions small {
  font-size: 14px;
}
@media (width<=760px) {
  .amir-quick-nav .quick-nav-intro h3 {
    font-size: 20px;
  }
  .amir-quick-nav .quick-nav-intro p {
    font-size: 14px;
  }
  .quick-nav-actions b {
    font-size: 14.5px;
  }
  .quick-nav-actions small {
    font-size: 13.5px;
  }
}
.forgot-password {
  font-size: 15px !important;
}
.recovery-dialog form label {
  font-size: 14.5px;
}
.recovery-dialog form input {
  font-size: 16.5px;
}
@media (width<=760px) {
  .guided-amir-tour p {
    font-size: max(14px, 1em) !important;
  }
}
.account-side>span {
  font-size: 11px;
}
.account-figure h1 {
  font-size: 40px;
}
.account-side p {
  font-size: 12.5px;
}
.account-side h2 {
  font-size: 15.5px;
}
.account-why b {
  font-size: 13.5px;
}
.account-why p {
  font-size: 12.5px;
}
.account-hint {
  font-size: 12.5px;
}
.account-link {
  font-size: 12.5px;
}
/* ДЕЙСТВИЕ ЭКРАНА СЧЁТА. Выглядит кнопкой, а не ссылкой в тексте: это и есть тот самый
   следующий шаг, ради которого человек сюда пришёл с «Уровней». Размеры и радиус — те же
   переменные, что у остальных кнопок кабинета. */
.account-cta {
  display: inline-flex; align-items: center; gap: 8px; margin-top: 12px;
  padding: 10px 16px; border-radius: 12px; text-decoration: none;
  background: var(--t-accent); color: var(--t-ink);
  font-size: 14px; font-weight: 650;
}
.account-cta:hover { filter: brightness(1.06); }
.account-sub header span {
  font-size: 11px;
}
.account-tier b {
  font-size: 20px;
}
.account-sub small {
  font-size: 12.5px;
}
.account-sub-line b {
  font-size: 14.5px;
}
@media (max-width:720px) {
  .account-figure h1 {
    font-size: 32px;
  }
}
.pocket-connect>label {
  font-size: 11px;
}
.pocket-connect-row input {
  font-size: 14.5px;
}
.pocket-answer {
  font-size: 12.5px;
}
.pocket-answer b {
  font-size: 13.5px;
}
.next-signal h2 {
  font-size: clamp(30px, 4.1vw, 66px);
}
.lesson-done {
  font-size: 13.5px;
}
.lesson-error {
  font-size: 12.5px;
}
.rooms-panel>header span {
  font-size: 11px;
}
.room-row b {
  font-size: 14px;
}
.room-row small {
  font-size: 12px;
}
.rooms-note {
  font-size: 12.5px;
}
.prize-summary span {
  font-size: 12.5px;
}
.prize-summary h2 {
  font-size: 21px;
}
.prize-summary p {
  font-size: 14px;
}
.history-list>article b {
  font-size: 15px;
}
.history-list>article small {
  font-size: 14px;
}
.history-list>article>span {
  font-size: 14px;
}
.account-topup {
  font-size: 15px;
}
.account-moves>header span {
  font-size: 12.5px;
}
.account-moves>header b {
  font-size: 15.5px;
}
.account-moves-note {
  font-size: 14px;
}
.profile-pop-face {
  font-size: 14px;
}
.profile-pop>header b {
  font-size: 15.5px;
}
.profile-pop>header span {
  font-size: 13px;
}
.profile-pop-exit {
  font-size: 14.5px;
}

/* — тот же пол для экранов живого сигнала (live.css) — */
.am-live .signal-stream-card > header b {
  font-size: 18px;
}
.am-live .signal-otc {
  font-size: 13px;
}
.am-live .history-summary small {
  font-size: 13px;
}
.am-live .signal-stream-facts b {
  font-size: 15.5px;
}
.am-live .signal-countdown {
  font-size: 15px;
}
.am-live .signal-closed {
  font-size: 15px;
}
.am-live .signal-stream-result {
  font-size: 15px;
}
.am-live .signal-my-mark {
  font-size: 15px;
}
.am-live .room-list button {
  font: inherit;
  font-size: 15px;
}
.am-live .session-choice {
  font: inherit;
  font-size: 15.5px;
}
.am-live .session-choice em {
  font-size: 13.5px;
}
.am-live .history-summary b {
  font-size: 26px;
}
.am-live .history-summary span {
  font-size: 14px;
}
.am-live .history-list b {
  font-size: 15.5px;
}
.am-live .levels-ladder small {
  font-size: 14.5px;
}
.am-live .history-list > article > span {
  font-size: 14.5px;
}
.am-live .history-list > article em {
  font-size: 13.5px;
}
.am-live .learn-progress b {
  font-size: 24px;
}
.am-live .learn-progress span {
  font-size: 14.5px;
}
.am-live .learn-progress p {
  font-size: 15px;
}
.am-live .learn-progress p b {
  font-size: 15px;
}
.am-live .learn-num {
  font-size: 14.5px;
}
.am-live .learn-pick b {
  font-size: 17.5px;
}
.am-live .learn-pick p {
  font-size: 15px;
}
.am-live .learn-pick button {
  font: inherit;
  font-size: 15px;
}
.am-live .notice-list b {
  font-size: 15.5px;
}
.am-live .notice-at {
  font-size: 14px;
}
.am-live .cap-list b {
  font-size: 15.5px;
}
.am-live .levels-ladder em {
  font-size: 13.5px;
}
.am-live .queue-list > article > span {
  font-size: 14px;
}
.am-live .profile-hero h2 {
  font-size: 22px;
}
.am-live .profile-hero p {
  font-size: 15px;
}
.am-live .chat-thread > article p {
  font-size: 15.5px;
}
.am-live .chat-thread > article footer {
  font-size: 13.5px;
}
.am-live .signal-audience {
  font-size: 14.5px;
}
.am-live .settle-row button {
  font: inherit;
  font-size: 14.5px;
}
.am-live .strategy-body > small {
  font-size: 13.5px;
}
.am-live .strategy-links span {
  font-size: 14.5px;
}
.am-live .settle-filters small {
  font-size: 13.5px;
}
.am-live .settle-filters button {
  font: inherit;
}
.am-live .settle-console > header small {
  font-size: 13.5px;
}
.am-live .settle-console > header b {
  font-size: 20px;
}
.am-live .settle-console > header span {
  font-size: 14.5px;
}
.am-live .settle-actions button b {
  font-size: 17.5px;
}
.am-live .settle-actions button small {
  font-size: 13.5px;
}
.am-live .settle-console > footer {
  font-size: 12.5px;
}
.am-live .chat-thread > article .chat-author {
  font-size: 13.5px;
}
/* ПОЛЕ «НАПИШИ МЕНЕДЖЕРУ» — БЛОК, А НЕ ГОЛАЯ СТРОКА БРАУЗЕРА (25.09).

   Амир: «блок "Напишите менеджеру" сейчас строка выглядит неудобно и требует ручного
   увеличения для нормального просмотра. Предлагаю сделать полноценный адаптивный
   блок/строку, которая сразу отображается в нормальном размере без необходимости
   увеличивать её вручную».

   Причина ровно в этом: у поля не было НИ ОДНОГО правила раскладки. Браузер рисовал
   textarea по своим умолчаниям — узкой, в три строки, своим шрифтом, с уголком ручного
   растягивания. Человеку приходилось тянуть угол, чтобы увидеть, что он пишет.

   Теперь поле занимает всю ширину блока, имеет читаемую высоту сразу и растёт только
   вертикально: горизонтальное растягивание ломало бы колонку. */
.chat-composer { display: grid; gap: 10px; }
.chat-composer textarea {
  width: 100%; box-sizing: border-box; min-height: 92px; resize: vertical;
  padding: 12px 14px; border-radius: 14px;
  background: var(--t-surface-2); color: var(--t-text);
  border: 1px solid var(--t-line); font-size: 15px; line-height: 1.45;
}
.chat-composer textarea::placeholder { color: var(--t-text-3); }
.chat-composer textarea:focus-visible { outline: 2px solid var(--t-accent); outline-offset: 1px; }
.chat-composer-row { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.chat-composer-row button {
  min-height: 44px; padding: 0 18px; border: 0; border-radius: 12px; cursor: pointer;
  background: var(--t-accent); color: var(--t-ink); font-size: 15px; font-weight: 650;
}
.chat-composer-row button:disabled { opacity: .5; cursor: default; }
.chat-composer-row small { color: var(--t-text-3); font-size: 12.5px; }

.am-live .chat-composer textarea {
  font: inherit;
}
.am-live .chat-note {
  font-size: 14.5px;
}
.am-live .strategy-completeness > summary {
  font-size: 14.5px;
}

/* — и для экрана разбора сессии (session.css) — */
.session-card > small {
  font-size: 13.5px;
}
.session-card h1 {
  font-size: 26px;
}
.session-actions a {
  font: inherit;
  font-size: 15.5px;
}
.money-withheld {
  font-size: 14.5px;
}
.am-state > small {
  font-size: 13.5px;
  color: var(--t-text-2);
}
.am-state b {
  font-size: 16.5px;
}
.am-state p {
  font-size: 15px;
}
.am-state a {
  font: inherit;
  font-size: 15px;
}
.am-state-reload {
  margin-top: 10px; padding: 9px 14px; border-radius: 12px; cursor: pointer; font: 600 13.5px/1 var(--font-ui, inherit);
  color: var(--t-text, #f2f3f5); background: transparent; border: 1px solid rgba(var(--t-border-rgb, 255, 255, 255), .18);
}

/* ═══ 2. КНОПКА ЧЕЛОВЕКА В УГЛУ ═════════════════════════════════════════════
   Верхняя полоса раскладывает содержимое «по краям», но на широком экране в ней
   остаётся ровно один блок — правый. Единственный блок при таком правиле
   прижимается к ЛЕВОМУ краю, поэтому колокол и кружок стояли слева, будто их
   забыли перенести. Прижимаем явно: логотип на телефоне слева, кнопки — справа. */
.app-head .head-right {
  margin-left: auto
}

.profile-menu {
  position: relative
}

.app .profile-menu>.avatar {
  cursor: pointer;
  border: 1px solid #ffffff26;
  transition: transform .15s, box-shadow .2s
}

.app .profile-menu>.avatar:hover,
.app .profile-menu>.avatar.open {
  box-shadow: 0 0 0 3px var(--tier-soft), 0 10px 30px #0000005e;
  transform: translateY(-1px)
}

.profile-pop {
  z-index: 80;
  background: linear-gradient(160deg, var(--t-surface, #101718), var(--t-bg, #080b0c));
  border: 1px solid #ffffff1c;
  border-radius: 16px;
  width: 268px;
  padding: 8px;
  position: absolute;
  top: calc(100% + 12px);
  right: 0;
  box-shadow: 0 30px 80px #000000a3;
  animation: .16s ease-out profile-pop-in
}

@keyframes profile-pop-in {
  from { opacity: 0; transform: translateY(-6px) }
  to { opacity: 1; transform: none }
}

.profile-pop>header {
  border-bottom: 1px solid #ffffff12;
  align-items: center;
  gap: 11px;
  padding: 10px 10px 14px;
  display: flex
}

.profile-pop-face {
  color: #06100c;
  background: linear-gradient(135deg, var(--tier-color), #ffffff8c);
  border-radius: 12px;
  place-items: center;
  width: 42px;
  height: 42px;
  font-size: 14px;
  font-weight: 850;
  display: grid
}

.profile-pop>header b {
  color: var(--t-text);
  font-size: 15.5px;
  display: block
}

.profile-pop>header span {
  color: var(--tier-color);
  letter-spacing: .06em;
  font-size: 13px;
  font-weight: 700
}

.profile-pop-links {
  flex-direction: column;
  gap: 2px;
  padding: 8px 0 4px;
  display: flex
}

.profile-pop-links button,
.profile-pop-exit {
  color: var(--t-text-2);
  cursor: pointer;
  background: 0 0;
  border: 0;
  border-radius: 10px;
  align-items: center;
  gap: 11px;
  width: 100%;
  padding: 11px 10px;
  font-size: 14.5px;
  font-weight: 600;
  display: flex
}

.profile-pop-links button:hover,
.profile-pop-exit:hover {
  color: #fff;
  background: #ffffff0e
}

.profile-pop-links button svg {
  width: 17px;
  flex: none
}

.profile-pop-links button svg:last-child {
  opacity: .45;
  width: 14px;
  margin-left: auto
}

.profile-pop-exit {
  color: #ff9a92;
  border-top: 1px solid #ffffff12;
  margin-top: 4px
}

.profile-pop-exit svg {
  width: 16px
}

/* ═══ 3. СТУПЕНЬ ВИДНО ══════════════════════════════════════════════════════
   Первая версия палитры красила только надпись со ступенью, и владелец честно
   сказал, что не видит её. Причина: ступень называется в трёх местах, а самая
   заметная из них — карточка уровня в боковом меню — была прибита к золотому
   цвету сразу для ВСЕХ уровней. Теперь она берёт цвет своей ступени, как и
   кнопка человека в углу, и цвет присутствует на каждом экране. */
.app .side-level {
  background: linear-gradient(145deg, var(--tier-soft), #ffffff05);
  border: 1px solid var(--tier-soft);
  box-shadow: inset 0 0 30px var(--tier-glow)
}

.app .side-level small {
  color: var(--tier-color);
  opacity: .72
}

.app .side-level>b,
.app .side-level button,
.app .side-level button svg {
  color: var(--tier-color)
}

.app .profile-menu>.avatar {
  color: #06100c;
  background: linear-gradient(135deg, var(--tier-color), #ffffff96)
}

.app .app-head {
  border-bottom: 1px solid var(--tier-soft);
  box-shadow: 0 1px 0 var(--tier-glow)
}

/* ═══ 4. КОНТРАКТ СРЕДЫ СТУПЕНИ ═════════════════════════════════════════════
   Ступень — это ПРОСТРАНСТВО, а не цвет кнопки. Поэтому здесь не один акцент, а
   девятнадцать ролей: пять глубин поверхности, две силы границы, три степени тишины
   текста и ТРИ собственных тона (акцент, второй, третий).

   Почему три тона, а не один. Оригинал был богат тем, что в нём жили три семейства
   цвета — фирменный зелёный, золото и синее. Схлопнуть их в один hue значит потерять
   глубину интерфейса, каким бы красивым ни был сам цвет. Первая версия темы так и
   сделала, и владелец справедливо назвал результат «синим стандартным кабинетом».

   Значения ролям даёт тема; правила, которые их читают, сгенерированы в
   `product.theme.css` из самой вёрстки. Компоненты продукта продолжают писать
   `--accent` и соседей — это псевдонимы тех же ролей, отдельных значений у них нет.

   Смысловые цвета (BUY/SELL, ошибка, «проверено», непрочитанное) в контракт не входят
   и темой не меняются: цвет там — сообщение, а не оформление.

   Сгенерировано `scripts/make_palettes.py` — руками не править. */

.app {
  --t-bg: #080b0c;
  --t-bg-rgb: 8, 11, 12;
  --t-bg-2: #0a0d0f;
  --t-bg-2-rgb: 10, 13, 15;
  --t-surface: #0f1416;
  --t-surface-rgb: 15, 20, 22;
  --t-surface-2: #111719;
  --t-surface-2-rgb: 17, 23, 25;
  --t-elevated: #141b1d;
  --t-elevated-rgb: 20, 27, 29;
  --t-text: #f2f6f4;
  --t-text-rgb: 242, 246, 244;
  --t-text-2: #cdd6d1;
  --t-text-2-rgb: 205, 214, 209;
  --t-text-3: #a3aea8;
  --t-text-3-rgb: 163, 174, 168;
  --t-accent: #55f2b2;
  --t-accent-rgb: 85, 242, 178;
  --t-accent-soft: #8df8d0;
  --t-accent-soft-rgb: 141, 248, 208;
  --t-accent-strong: #6ef2b6;
  --t-accent-strong-rgb: 110, 242, 182;
  --t-accent-deep: #1e7d59;
  --t-accent-deep-rgb: 30, 125, 89;
  --t-alt: #e3bc78;
  --t-alt-rgb: 227, 188, 120;
  --t-alt-soft: #f2d7a6;
  --t-alt-soft-rgb: 242, 215, 166;
  --t-alt-deep: #9f8b68;
  --t-alt-deep-rgb: 159, 139, 104;
  --t-third: #7da5ff;
  --t-third-rgb: 125, 165, 255;
  --t-third-soft: #b7c6ff;
  --t-third-soft-rgb: 183, 198, 255;
  --t-third-deep: #4f6fd6;
  --t-third-deep-rgb: 79, 111, 214;
  --t-border-rgb: 255, 255, 255;
  --t-border-strong-rgb: 255, 255, 255;
  --t-border-k: 1;
  --t-ink: #06110d;
  --t-aura: .2;
  --t-hero: 0;
  --t-next-rgb: 227, 188, 120;

  --t-amb: radial-gradient(ellipse 70% 45% at 78% -6%, rgba(var(--t-accent-rgb), 0), #0000 60%);

  /* Псевдонимы для компонентов продукта: они писались на этих именах и
     продолжают работать без правок. Один источник значений — роли выше. */
  --accent: var(--t-accent);
  --accent-2: var(--t-accent-soft);
  --accent-rgb: var(--t-accent-rgb);
  --accent-ink: var(--t-ink);
  --accent-soft: rgba(var(--t-accent-rgb), .16);
  --accent-glow: rgba(var(--t-accent-rgb), .09);
  --accent-border: rgba(var(--t-accent-rgb), .34);
  --theme-text-2: var(--t-text-2);
  --theme-text-3: var(--t-text-3);
  --theme-surface-2-rgb: var(--t-surface-2-rgb);
  --theme-bg-rgb: var(--t-bg-rgb);
  --theme-accent-rgb: var(--t-accent-rgb);
  --theme-border-rgb: var(--t-border-rgb);
  --tier-color: var(--t-accent);
  --tier-soft: rgba(var(--t-accent-rgb), .17);
  --tier-glow: rgba(var(--t-accent-rgb), .1);
  --section-accent: var(--t-accent);
  --section-rgb: var(--t-accent-rgb)
}


/* СЕМЬЯ — ТЁПЛАЯ МАТОВАЯ СРЕДА. Теплее Free даже без единого оранжевого пикселя: сама основа уходит в уголь с коричневым, границы мягкие, свет широкий и рассеянный, тени тёплые. Ощущение закрытого круга, а не витрины. */

.app[data-look="level"][data-tier="1"] {
  /* 06.10, владелец: «семья в коричневых — как будто страшно». Тёплый ГРАФИТ вместо коричневой
     глины: основа почти чёрная с тёплым подтоном, карточки нейтрально-тёплые, а тепло мира несёт
     янтарь акцента (ярче и чище) и коралловый второй цвет. Разметка не тронута — только роли. */
  --t-bg: #121010;
  --t-bg-rgb: 18, 16, 16;
  --t-bg-2: #191615;
  --t-bg-2-rgb: 25, 22, 21;
  --t-surface: #201c1a;
  --t-surface-rgb: 32, 28, 26;
  --t-surface-2: #282321;
  --t-surface-2-rgb: 40, 35, 33;
  --t-elevated: #332d2a;
  --t-elevated-rgb: 51, 45, 42;
  --t-text: #f6ede2;
  --t-text-rgb: 246, 237, 226;
  --t-text-2: #e3d3c0;
  --t-text-2-rgb: 227, 211, 192;
  --t-text-3: #c2b09a;
  --t-text-3-rgb: 194, 176, 154;
  --t-accent: #f2a65a;
  --t-accent-rgb: 242, 166, 90;
  --t-accent-soft: #ffcf94;
  --t-accent-soft-rgb: 255, 207, 148;
  --t-accent-strong: #ffb86b;
  --t-accent-strong-rgb: 255, 184, 107;
  --t-accent-deep: #6b3f1e;
  --t-accent-deep-rgb: 107, 63, 30;
  --t-alt: #ff7a59;
  --t-alt-rgb: 255, 122, 89;
  --t-alt-soft: #e09a63;
  --t-alt-soft-rgb: 224, 154, 99;
  --t-alt-deep: #5a2a10;
  --t-alt-deep-rgb: 90, 42, 16;
  --t-third: #c0553a;
  --t-third-rgb: 192, 85, 58;
  --t-third-soft: #de8a72;
  --t-third-soft-rgb: 222, 138, 114;
  --t-third-deep: #4e1f14;
  --t-third-deep-rgb: 78, 31, 20;
  --t-border-rgb: 220, 190, 160;
  --t-border-strong-rgb: 255, 200, 140;
  --t-border-k: 1.2;
  --t-ink: #17100a;
  --t-aura: .18;
  --t-hero: 1;
  --t-next-rgb: 31, 107, 255;

  --t-amb: radial-gradient(ellipse 120% 70% at 15% -12%, rgba(var(--t-accent-rgb), .13), #0000 62%),radial-gradient(ellipse 90% 60% at 90% 110%, rgba(var(--t-alt-deep-rgb), .34), #0000 58%);

  /* Псевдонимы для компонентов продукта: они писались на этих именах и
     продолжают работать без правок. Один источник значений — роли выше. */
  --accent: var(--t-accent);
  --accent-2: var(--t-accent-soft);
  --accent-rgb: var(--t-accent-rgb);
  --accent-ink: var(--t-ink);
  --accent-soft: rgba(var(--t-accent-rgb), .16);
  --accent-glow: rgba(var(--t-accent-rgb), .09);
  --accent-border: rgba(var(--t-accent-rgb), .34);
  --theme-text-2: var(--t-text-2);
  --theme-text-3: var(--t-text-3);
  --theme-surface-2-rgb: var(--t-surface-2-rgb);
  --theme-bg-rgb: var(--t-bg-rgb);
  --theme-accent-rgb: var(--t-accent-rgb);
  --theme-border-rgb: var(--t-border-rgb);
  --tier-color: var(--t-accent);
  --tier-soft: rgba(var(--t-accent-rgb), .17);
  --tier-glow: rgba(var(--t-accent-rgb), .1);
  --section-accent: var(--t-accent);
  --section-rgb: var(--t-accent-rgb)
}


/* ОТС 250 — СВЕТЛАЯ БЕЛО-СИНЯЯ СРЕДА, единственная светлая из шести. Белая бумага и синие чернила: поверхности белые, текст тёмно-синий, цвет несут линии и заливки, а не фон. Дневной торговый стол, а не приборная панель. */

.app[data-look="level"][data-tier="2"] {
  --t-bg: #eef3fb;
  --t-bg-rgb: 238, 243, 251;
  --t-bg-2: #e3ebf8;
  --t-bg-2-rgb: 227, 235, 248;
  --t-surface: #ffffff;
  --t-surface-rgb: 255, 255, 255;
  --t-surface-2: #f6f9ff;
  --t-surface-2-rgb: 246, 249, 255;
  --t-elevated: #ffffff;
  --t-elevated-rgb: 255, 255, 255;
  --t-text: #0b1c35;
  --t-text-rgb: 11, 28, 53;
  --t-text-2: #22406e;
  --t-text-2-rgb: 34, 64, 110;
  --t-text-3: #4a5f80;
  --t-text-3-rgb: 74, 95, 128;
  --t-accent: #1f6bff;
  --t-accent-rgb: 31, 107, 255;
  --t-accent-soft: #3d79e0;
  --t-accent-soft-rgb: 61, 121, 224;
  --t-accent-strong: #0b53e0;
  --t-accent-strong-rgb: 11, 83, 224;
  --t-accent-deep: #062a75;
  --t-accent-deep-rgb: 6, 42, 117;
  --t-alt: #0a6e99;
  --t-alt-rgb: 10, 110, 153;
  --t-alt-soft: #3f9ec2;
  --t-alt-soft-rgb: 63, 158, 194;
  --t-alt-deep: #06506f;
  --t-alt-deep-rgb: 6, 80, 111;
  --t-third: #5646d6;
  --t-third-rgb: 86, 70, 214;
  --t-third-soft: #8f84ea;
  --t-third-soft-rgb: 143, 132, 234;
  --t-third-deep: #2c2380;
  --t-third-deep-rgb: 44, 35, 128;
  --t-border-rgb: 31, 107, 255;
  --t-border-strong-rgb: 10, 42, 128;
  --t-border-k: 1;
  --t-ink: #ffffff;
  --t-aura: .12;
  --t-hero: 1;
  --t-next-rgb: 33, 204, 214;

  --t-amb: linear-gradient(104deg, rgba(var(--t-accent-rgb), .10) 0%, #0000 46%),radial-gradient(ellipse 55% 90% at 104% 30%, rgba(var(--t-accent-rgb), .08), #0000 60%);

  /* Псевдонимы для компонентов продукта: они писались на этих именах и
     продолжают работать без правок. Один источник значений — роли выше. */
  --accent: var(--t-accent);
  --accent-2: var(--t-accent-soft);
  --accent-rgb: var(--t-accent-rgb);
  --accent-ink: var(--t-ink);
  --accent-soft: rgba(var(--t-accent-rgb), .16);
  --accent-glow: rgba(var(--t-accent-rgb), .09);
  --accent-border: rgba(var(--t-accent-rgb), .34);
  --theme-text-2: var(--t-text-2);
  --theme-text-3: var(--t-text-3);
  --theme-surface-2-rgb: var(--t-surface-2-rgb);
  --theme-bg-rgb: var(--t-bg-rgb);
  --theme-accent-rgb: var(--t-accent-rgb);
  --theme-border-rgb: var(--t-border-rgb);
  --tier-color: var(--t-accent);
  --tier-soft: rgba(var(--t-accent-rgb), .17);
  --tier-glow: rgba(var(--t-accent-rgb), .1);
  --section-accent: var(--t-accent);
  --section-rgb: var(--t-accent-rgb)
}


/* ОТС 500 — СТЕКЛЯННАЯ СВЕТЯЩАЯСЯ СРЕДА. Самая глубокая основа и самые СВЕТЛЫЕ приподнятые поверхности: кривая светлоты перевёрнута, карточки будто подсвечены изнутри. Отличается от ОТС 250 даже в сером — там резкая панель, здесь жидкий свет. */

.app[data-look="level"][data-tier="3"] {
  --t-bg: #02171b;
  --t-bg-rgb: 2, 23, 27;
  --t-bg-2: #052227;
  --t-bg-2-rgb: 5, 34, 39;
  --t-surface: #0a2c33;
  --t-surface-rgb: 10, 44, 51;
  --t-surface-2: #0f3b44;
  --t-surface-2-rgb: 15, 59, 68;
  --t-elevated: #185360;
  --t-elevated-rgb: 24, 83, 96;
  --t-text: #e4f6f7;
  --t-text-rgb: 228, 246, 247;
  --t-text-2: #cbe8ea;
  --t-text-2-rgb: 203, 232, 234;
  --t-text-3: #a9ced1;
  --t-text-3-rgb: 169, 206, 209;
  --t-accent: #21ccd6;
  --t-accent-rgb: 33, 204, 214;
  --t-accent-soft: #78e6ec;
  --t-accent-soft-rgb: 120, 230, 236;
  --t-accent-strong: #3fdce4;
  --t-accent-strong-rgb: 63, 220, 228;
  --t-accent-deep: #0c5b62;
  --t-accent-deep-rgb: 12, 91, 98;
  --t-alt: #2fd79c;
  --t-alt-rgb: 47, 215, 156;
  --t-alt-soft: #86eec7;
  --t-alt-soft-rgb: 134, 238, 199;
  --t-alt-deep: #10684a;
  --t-alt-deep-rgb: 16, 104, 74;
  --t-third: #3e86c9;
  --t-third-rgb: 62, 134, 201;
  --t-third-soft: #8cbce4;
  --t-third-soft-rgb: 140, 188, 228;
  --t-third-deep: #1b4a75;
  --t-third-deep-rgb: 27, 74, 117;
  --t-border-rgb: 60, 190, 200;
  --t-border-strong-rgb: 140, 235, 240;
  --t-border-k: 1.3;
  --t-ink: #04161a;
  --t-aura: .3;
  --t-hero: 1;
  --t-next-rgb: 196, 26, 51;

  --t-amb: radial-gradient(ellipse 130% 60% at 50% 118%, rgba(var(--t-accent-rgb), .2), #0000 58%),radial-gradient(ellipse 80% 50% at 20% -8%, rgba(var(--t-third-deep-rgb), .34), #0000 55%);

  /* Псевдонимы для компонентов продукта: они писались на этих именах и
     продолжают работать без правок. Один источник значений — роли выше. */
  --accent: var(--t-accent);
  --accent-2: var(--t-accent-soft);
  --accent-rgb: var(--t-accent-rgb);
  --accent-ink: var(--t-ink);
  --accent-soft: rgba(var(--t-accent-rgb), .16);
  --accent-glow: rgba(var(--t-accent-rgb), .09);
  --accent-border: rgba(var(--t-accent-rgb), .34);
  --theme-text-2: var(--t-text-2);
  --theme-text-3: var(--t-text-3);
  --theme-surface-2-rgb: var(--t-surface-2-rgb);
  --theme-bg-rgb: var(--t-bg-rgb);
  --theme-accent-rgb: var(--t-accent-rgb);
  --theme-border-rgb: var(--t-border-rgb);
  --tier-color: var(--t-accent);
  --tier-soft: rgba(var(--t-accent-rgb), .17);
  --tier-glow: rgba(var(--t-accent-rgb), .1);
  --section-accent: var(--t-accent);
  --section-rgb: var(--t-accent-rgb)
}


/* ЭКСКЛЮЗИВ — СТРОГАЯ СРЕДА С НАПРАВЛЕННЫМ СВЕТОМ. Самая глубокая и самая НЕравномерная: общего свечения почти нет, вместо него один узкий луч сверху. Отделяется не всё подряд, а только то, на что смотрят. Закрытая комната, а не подсвеченный зал. */

.app[data-look="level"][data-tier="4"] {
  --t-bg: #070304;
  --t-bg-rgb: 7, 3, 4;
  --t-bg-2: #0b0506;
  --t-bg-2-rgb: 11, 5, 6;
  --t-surface: #120809;
  --t-surface-rgb: 18, 8, 9;
  --t-surface-2: #190b0d;
  --t-surface-2-rgb: 25, 11, 13;
  --t-elevated: #2a1013;
  --t-elevated-rgb: 42, 16, 19;
  --t-text: #f6eee8;
  --t-text-rgb: 246, 238, 232;
  --t-text-2: #e0d4cb;
  --t-text-2-rgb: 224, 212, 203;
  --t-text-3: #b8a99f;
  --t-text-3-rgb: 184, 169, 159;
  --t-accent: #c41a33;
  --t-accent-rgb: 196, 26, 51;
  --t-accent-soft: #eadbd0;
  --t-accent-soft-rgb: 234, 219, 208;
  --t-accent-strong: #d8243e;
  --t-accent-strong-rgb: 216, 36, 62;
  --t-accent-deep: #4a0a16;
  --t-accent-deep-rgb: 74, 10, 22;
  --t-alt: #8c1d2e;
  --t-alt-rgb: 140, 29, 46;
  --t-alt-soft: #d8bca8;
  --t-alt-soft-rgb: 216, 188, 168;
  --t-alt-deep: #3a0b14;
  --t-alt-deep-rgb: 58, 11, 20;
  --t-third: #b89a72;
  --t-third-rgb: 184, 154, 114;
  --t-third-soft: #e0cdb2;
  --t-third-soft-rgb: 224, 205, 178;
  --t-third-deep: #5e4a34;
  --t-third-deep-rgb: 94, 74, 52;
  --t-border-rgb: 150, 36, 54;
  --t-border-strong-rgb: 214, 92, 106;
  --t-border-k: 1;
  --t-ink: #fff6f2;
  --t-aura: .07;
  --t-hero: 1;
  --t-next-rgb: 242, 193, 78;

  --t-amb: radial-gradient(ellipse 42% 38% at 50% -14%, rgba(var(--t-accent-rgb), .16), #0000 58%);

  /* Псевдонимы для компонентов продукта: они писались на этих именах и
     продолжают работать без правок. Один источник значений — роли выше. */
  --accent: var(--t-accent);
  --accent-2: var(--t-accent-soft);
  --accent-rgb: var(--t-accent-rgb);
  --accent-ink: var(--t-ink);
  --accent-soft: rgba(var(--t-accent-rgb), .16);
  --accent-glow: rgba(var(--t-accent-rgb), .09);
  --accent-border: rgba(var(--t-accent-rgb), .34);
  --theme-text-2: var(--t-text-2);
  --theme-text-3: var(--t-text-3);
  --theme-surface-2-rgb: var(--t-surface-2-rgb);
  --theme-bg-rgb: var(--t-bg-rgb);
  --theme-accent-rgb: var(--t-accent-rgb);
  --theme-border-rgb: var(--t-border-rgb);
  --tier-color: var(--t-accent);
  --tier-soft: rgba(var(--t-accent-rgb), .17);
  --tier-glow: rgba(var(--t-accent-rgb), .1);
  --section-accent: var(--t-accent);
  --section-rgb: var(--t-accent-rgb)
}


/* GOLD — ПОЛИРОВАННАЯ ПРЕМИАЛЬНАЯ СРЕДА. Лестница поверхностей узкая и ровная, как отшлифованная плита, но у каждой поверхности есть светлая металлическая кромка сверху — этого нет ни у одной другой среды. Спокойно и дорого; верхняя ступень читается даже без цвета. */

.app[data-look="level"][data-tier="5"] {
  --t-bg: #070707;
  --t-bg-rgb: 7, 7, 7;
  --t-bg-2: #0b0b0a;
  --t-bg-2-rgb: 11, 11, 10;
  --t-surface: #121110;
  --t-surface-rgb: 18, 17, 16;
  --t-surface-2: #181715;
  --t-surface-2-rgb: 24, 23, 21;
  --t-elevated: #211f1a;
  --t-elevated-rgb: 33, 31, 26;
  --t-text: #fbf6ea;
  --t-text-rgb: 251, 246, 234;
  --t-text-2: #e6dfcf;
  --t-text-2-rgb: 230, 223, 207;
  --t-text-3: #c0b6a2;
  --t-text-3-rgb: 192, 182, 162;
  --t-accent: #f2c14e;
  --t-accent-rgb: 242, 193, 78;
  --t-accent-soft: #ffe6a3;
  --t-accent-soft-rgb: 255, 230, 163;
  --t-accent-strong: #ffd36b;
  --t-accent-strong-rgb: 255, 211, 107;
  --t-accent-deep: #7a5410;
  --t-accent-deep-rgb: 122, 84, 16;
  --t-alt: #c8912a;
  --t-alt-rgb: 200, 145, 42;
  --t-alt-soft: #ecca7c;
  --t-alt-soft-rgb: 236, 202, 124;
  --t-alt-deep: #5a3d0c;
  --t-alt-deep-rgb: 90, 61, 12;
  --t-third: #b3aa9c;
  --t-third-rgb: 179, 170, 156;
  --t-third-soft: #ddd7cd;
  --t-third-soft-rgb: 221, 215, 205;
  --t-third-deep: #5c5750;
  --t-third-deep-rgb: 92, 87, 80;
  --t-border-rgb: 226, 178, 72;
  --t-border-strong-rgb: 255, 222, 140;
  --t-border-k: 1.6;
  --t-ink: #140e02;
  --t-aura: .14;
  --t-hero: 1;
  --t-next-rgb: 242, 193, 78;

  --t-amb: linear-gradient(180deg, rgba(var(--t-accent-deep-rgb), .3) 0%, #0000 30%),linear-gradient(0deg, rgba(var(--t-accent-deep-rgb), .22) 0%, #0000 26%);

  /* Псевдонимы для компонентов продукта: они писались на этих именах и
     продолжают работать без правок. Один источник значений — роли выше. */
  --accent: var(--t-accent);
  --accent-2: var(--t-accent-soft);
  --accent-rgb: var(--t-accent-rgb);
  --accent-ink: var(--t-ink);
  --accent-soft: rgba(var(--t-accent-rgb), .16);
  --accent-glow: rgba(var(--t-accent-rgb), .09);
  --accent-border: rgba(var(--t-accent-rgb), .34);
  --theme-text-2: var(--t-text-2);
  --theme-text-3: var(--t-text-3);
  --theme-surface-2-rgb: var(--t-surface-2-rgb);
  --theme-bg-rgb: var(--t-bg-rgb);
  --theme-accent-rgb: var(--t-accent-rgb);
  --theme-border-rgb: var(--t-border-rgb);
  --tier-color: var(--t-accent);
  --tier-soft: rgba(var(--t-accent-rgb), .17);
  --tier-glow: rgba(var(--t-accent-rgb), .1);
  --section-accent: var(--t-accent);
  --section-rgb: var(--t-accent-rgb)
}

/* ═══ 5. СРЕДА СТУПЕНИ — ручные правила поверх сгенерированного слоя ═══════
   То, чего нет в живом слое как отдельных правил: корень страницы, декоративный
   график (цвета его градиентов заданы атрибутами внутри SVG), карточка перехода на
   следующую ступень и меню человека. */

/* Корень: фон ступени + её свечение сверху и глубокий тон снизу. В стандартном
   режиме --t-hero = 0 — свечения нет, фон прежний. */
.app[data-look] {
  /* АТМОСФЕРА СРЕДЫ. Раньше здесь у всех ступеней стояла ОДНА геометрия света —
     пятно справа сверху и пятно слева снизу, — и менялся только его цвет. Именно
     поэтому шесть сред в оттенках серого совпадали: свет падал одинаково. Теперь
     геометрию задаёт сама среда (`--t-amb`): у Free её нет вовсе, у Семьи широкий
     тёплый разлив, у ОТС 250 узкий луч сбоку, у ОТС 500 свечение снизу, у Эксклюзива
     один узкий луч сверху, у GOLD ровная горизонтная подсветка сверху и снизу. */
  background: var(--t-amb), var(--theme-bg);
  min-height: 100vh
}

/* ═══ 6. «СЕГОДНЯ» — ДНЕВНОЙ ХАБ ════════════════════════════════════════════
   Экран дня — это лестница ответов, а не лента карточек. Поэтому здесь только
   то, что задаёт ИЕРАРХИЮ: одна главная кнопка сильнее прочих, отмеченный день
   выглядит выполненным, а «что изменилось» подаётся тише всего остального.
   Цвета берутся из темы ступени — своих у экрана нет. */

.today-market-text {
  color: var(--t-text-2, #aab5af);
  max-width: 62ch;
  margin: 10px 0 16px;
  font-size: 15px;
  line-height: 1.5
}

/* ОДНО ДЕЙСТВИЕ. Миссия дня — единственный блок с заливкой цвета ступени:
   так «что делать сейчас» видно раньше, чем человек начал читать. */
.today-mission {
  align-items: center;
  gap: 18px
}

.today-mission h3 {
  color: #fff;
  margin: 4px 0 6px;
  font-size: 21px;
  line-height: 1.15
}

.today-mission p {
  color: var(--t-text-2, #b7c2bc);
  max-width: 56ch;
  font-size: 15px;
  line-height: 1.45
}

.today-note {
  color: var(--accent);
  margin-top: 8px;
  font-size: 13.5px;
  font-weight: 700;
  display: block
}

.today-streak {
  color: var(--accent);
  background: var(--accent-soft);
  border: 1px solid var(--accent-border);
  border-radius: 999px;
  margin-top: 10px;
  padding: 5px 12px;
  font-size: 13.5px;
  font-weight: 750;
  font-style: normal;
  display: inline-block
}

/* ДЕНЬ ОТМЕЧЕН — это состояние, а не погашенная кнопка: заливка уходит,
   остаётся спокойная рамка. Человек видит, что своё сегодня он сделал. */
.today-mission.is-done {
  background: #ffffff05;
  border-color: rgba(var(--theme-border-rgb, 255, 255, 255), .14)
}

.today-mission.is-done h3 {
  color: var(--accent)
}

/* ЛЕСТНИЦА. Приз со сроком стоит отдельной тихой строкой под шкалой — он не
   должен читаться как второй способ дойти до ступени. */
.today-ladder h2 {
  align-items: baseline;
  gap: 8px;
  font-size: 30px
}

.today-ladder p {
  color: var(--t-text-2, #b7c2bc);
  margin: 8px 0 12px;
  font-size: 15.5px;
  font-variant-numeric: tabular-nums
}

.today-shortcut {
  color: var(--t-text-3, #8b968f);
  border-left: 2px solid var(--accent-border);
  margin-top: 14px;
  padding-left: 12px;
  font-size: 13.5px;
  line-height: 1.5;
  display: block;
  max-width: 60ch
}

/* ЧТО ИЗМЕНИЛОСЬ — самый тихий блок экрана. */
.today-changes {
  border: 1px solid rgba(var(--theme-border-rgb, 255, 255, 255), .1);
  background: #ffffff04;
  border-radius: 4px 18px 18px 4px;
  padding: 16px 18px 8px
}

.today-changes>header {
  align-items: center;
  justify-content: space-between;
  margin-bottom: 6px;
  display: flex
}

.today-changes>header span {
  letter-spacing: .12em;
  color: var(--t-text-3, #7a837c);
  font-size: 12.5px;
  font-weight: 800
}

.today-changes>header button {
  color: var(--accent);
  background: 0 0;
  border: 0;
  cursor: pointer;
  align-items: center;
  gap: 4px;
  font-size: 13.5px;
  font-weight: 700;
  display: inline-flex
}

.today-change {
  border-top: 1px solid rgba(var(--theme-border-rgb, 255, 255, 255), .07);
  color: inherit;
  cursor: pointer;
  text-align: left;
  background: 0 0;
  grid-template-columns: minmax(0, 1fr) 16px;
  align-items: center;
  gap: 2px 10px;
  width: 100%;
  padding: 12px 0;
  display: grid
}

.today-change:first-of-type {
  border-top: 0
}

.today-change b {
  color: var(--t-text);
  font-size: 15px;
  font-weight: 650
}

.today-change small {
  color: var(--t-text-3, #7f8a84);
  grid-column: 1;
  font-size: 13px
}

.today-change svg {
  opacity: .4;
  grid-row: 1 / span 2;
  grid-column: 2;
  width: 16px
}

.today-change:hover {
  background: rgba(var(--theme-accent-rgb, 85, 242, 178), .05)
}

/* Телефон: миссия дня перестаёт быть строкой и становится карточкой, иначе
   кнопка уезжает за край. */
@media (width<=760px) {
  .today-mission {
    flex-direction: column;
    align-items: stretch;
    gap: 14px
  }

  .today-mission [data-slot=button] {
    width: 100%
  }

  .today-ladder h2 {
    font-size: 24px
  }
}

/* Лестница дня идёт СВЕРХУ ВНИЗ. Прежняя сетка «три карточки в ряд» осталась от
   экрана-витрины: в ряду карточки равны по силе, а у экрана дня равных быть не
   должно — рынок, потом одно действие, потом ступень. */
.today-hub .next-actions {
  /* `!important` здесь осознанно: в вёрстке эту сетку задают ДВЕНАДЦАТЬ правил на
     разных ширинах (наследство экрана-витрины). Победить их специфичностью значило
     бы скопировать все двенадцать — то есть завести тринадцатый источник. */
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template: none !important;
  gap: 16px !important;
  display: grid !important
}

/* Заголовок рынка — это ПРЕДЛОЖЕНИЕ, а не имя пары: 94px здесь читается как крик
   и выталкивает объяснение за экран. */
.today-hub .today-market .signal-main h2 {
  letter-spacing: -.02em;
  font-size: clamp(26px, 3vw, 38px);
  line-height: 1.1
}

.today-hub .today-market .signal-main strong {
  font-size: 20px
}

.today-hub .today-mission {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  display: grid
}

@media (width<=760px) {
  .today-hub .today-mission {
    grid-template-columns: minmax(0, 1fr)
  }
}

/* ГЕОМЕТРИЯ ДНЯ. Карточки рынка и ступени пришли из ряда трёх колонок: у них своя
   минимальная высота (690px и 440px) и «распорка» между детьми — в узкой колонке это
   выглядело нормально, а во всю ширину превращается в полкартинки пустоты. Здесь
   геометрия задаётся заново; цвета остаются темы. */
.today-hub .today-market,
.today-hub .today-ladder {
  min-height: 0 !important;
  justify-content: flex-start !important
}

.today-hub .today-market {
  padding: 22px 26px 26px
}

.today-hub .today-market>[data-slot=button] {
  width: auto;
  min-width: 260px;
  margin-top: 4px
}

.today-hub .today-market:after,
.today-hub .today-market .signal-pulse-mark {
  display: none
}

.today-hub .today-ladder {
  gap: 6px;
  padding: 22px 26px 24px
}

.today-hub .today-ladder [data-slot=progress] {
  margin: 10px 0 4px
}

.today-hub .today-ladder>button {
  justify-self: start;
  margin-top: 14px
}

/* ТЕЛЕФОН НЕ ТЕРЯЕТ ГЛАВНОЕ. Замер на 375px: действие дня, лестница и сумма счёта
   имели вычисленный `display: none` — старый экран прятал их на телефоне, потому что
   там они были украшением. У экрана дня они и есть содержание, а телефон — основное
   устройство, с которого кабинет открывают. Возвращаем их явно. */
@media (width<=760px) {
  .today-hub .today-mission {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 12px
  }

  .today-hub .today-ladder {
    display: flex !important;
    flex-direction: column
  }

  .today-hub .page-title .balance-card {
    display: grid !important;
    width: 100%;
    margin-top: 12px
  }

  .today-hub .today-mission [data-slot=button],
  .today-hub .today-ladder>button {
    width: 100%;
    justify-content: center
  }
}

/* ═══ 7. ИСПЫТАНИЯ — ИГРА БЕЗ КОНФЕТТИ ══════════════════════════════════════
   Ощущение игры делают прогрессия, дневная миссия, серия и момент победы, а не
   мультяшный интерфейс. Поэтому раздел остаётся частью темы ступени: свои цвета
   он не заводит, он берёт их из темы. */

.challenge-page {
  gap: 14px
}

.ch-card {
  background: linear-gradient(150deg, rgba(var(--theme-surface-2-rgb, 17, 23, 25), .95),
              rgba(var(--theme-bg-rgb, 8, 11, 12), .92));
  border: 1px solid rgba(var(--theme-border-rgb, 255, 255, 255), .12);
  border-left: 3px solid var(--accent);
  border-radius: 4px 18px 18px 4px;
  padding: 22px 26px;
  box-shadow: 0 22px 60px #00000038
}

.ch-card h2 {
  color: var(--t-text);
  margin: 0;
  font-size: 27px;
  line-height: 1.1
}

.ch-card>small {
  letter-spacing: .12em;
  color: var(--accent);
  font-size: 12.5px;
  font-weight: 800;
  display: block
}

.ch-lead {
  color: var(--t-text-2, #b7c2bc);
  max-width: 62ch;
  margin: 10px 0 0;
  font-size: 15.5px;
  line-height: 1.5
}

.ch-pick {
  letter-spacing: .12em;
  color: var(--accent);
  margin: 4px 0 0 2px;
  font-size: 12.5px;
  font-weight: 800
}

/* ── ПРЕДЛОЖЕНО: смысл раньше кнопки ─────────────────────────────────────── */
.ch-offer>header {
  align-items: baseline;
  justify-content: space-between;
  gap: 14px;
  display: flex
}

.ch-days {
  color: var(--accent);
  background: var(--accent-soft);
  border: 1px solid var(--accent-border);
  border-radius: 999px;
  padding: 5px 13px;
  font-size: 13.5px;
  font-weight: 750;
  white-space: nowrap
}

.ch-blocks {
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 12px;
  margin: 18px 0 4px;
  display: grid
}

.ch-blocks article {
  border: 1px solid rgba(var(--theme-border-rgb, 255, 255, 255), .09);
  background: #ffffff05;
  border-radius: 12px;
  padding: 14px 16px
}

.ch-blocks small {
  letter-spacing: .11em;
  color: var(--t-text-3, #7f8a84);
  font-size: 12px;
  font-weight: 800;
  display: block
}

.ch-blocks p {
  color: var(--t-text-2, #c2ccc7);
  margin: 7px 0 0;
  font-size: 14.5px;
  line-height: 1.45
}

/* НАГРАДА СИЛЬНЕЕ ОБЫЧНОГО ТЕКСТА — ради неё человек и идёт всю неделю. */
.ch-reward {
  border: 1px solid var(--accent-border);
  background: linear-gradient(120deg, var(--accent-soft), #0000 70%);
  border-radius: 14px;
  align-items: center;
  gap: 14px;
  margin: 16px 0;
  padding: 16px 18px;
  display: flex
}

.ch-reward svg {
  color: var(--accent);
  flex: none;
  width: 26px;
  height: 26px
}

.ch-reward small {
  letter-spacing: .12em;
  color: var(--t-text-3, #7f8a84);
  font-size: 12px;
  font-weight: 800;
  display: block
}

.ch-reward b {
  color: var(--accent);
  font-size: 21px;
  display: block
}

.ch-reward span {
  color: var(--t-text-3, #8b968f);
  font-size: 13.5px
}

.ch-reward.big b {
  font-size: 26px
}

/* ── ВЫБОР СТРАТЕГИИ ─────────────────────────────────────────────────────── */
.ch-strategies {
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 12px;
  margin-top: 16px;
  display: grid
}

.ch-strategies button {
  text-align: left;
  cursor: pointer;
  border: 1px solid rgba(var(--theme-border-rgb, 255, 255, 255), .12);
  background: #ffffff05;
  border-radius: 14px;
  flex-direction: column;
  gap: 5px;
  padding: 16px 18px;
  display: flex;
  transition: border-color .15s, background .15s
}

.ch-strategies button:hover:not(:disabled) {
  border-color: var(--accent-border);
  background: rgba(var(--theme-accent-rgb, 85, 242, 178), .07)
}

.ch-strategies b {
  color: var(--t-text);
  font-size: 16.5px
}

.ch-strategies small {
  color: var(--t-text-3, #8b968f);
  font-size: 13px
}

.ch-strategies em {
  color: var(--t-text-3, #7f8a84);
  align-items: flex-start;
  gap: 6px;
  font-size: 13px;
  font-style: normal;
  line-height: 1.4;
  display: flex
}

.ch-strategies em.yes {
  color: var(--accent)
}

.ch-strategies em.gap svg {
  opacity: .6;
  flex: none;
  width: 13px;
  margin-top: 2px
}

.ch-strategies button>span {
  color: var(--accent);
  margin-top: 6px;
  font-size: 14px;
  font-weight: 750
}

/* ── ИДЁТ: где я, что сегодня, сколько осталось ──────────────────────────── */
.ch-active>header {
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  display: flex
}

.ch-active header small {
  letter-spacing: .1em;
  color: var(--t-text-3, #7f8a84);
  font-size: 12.5px;
  font-weight: 750
}

.ch-active header h2 {
  margin-top: 4px;
  font-size: 32px
}

.ch-badges {
  flex-wrap: wrap;
  gap: 8px;
  display: flex
}

.ch-streak,
.ch-left {
  border-radius: 999px;
  padding: 6px 13px;
  font-size: 13.5px;
  font-weight: 750;
  font-style: normal
}

.ch-streak {
  color: var(--accent);
  background: var(--accent-soft);
  border: 1px solid var(--accent-border)
}

.ch-left {
  color: var(--t-text-2, #b7c2bc);
  background: #ffffff08;
  border: 1px solid rgba(var(--theme-border-rgb, 255, 255, 255), .1)
}

/* СЕМЬ МАЛЕНЬКИХ ДНЕЙ ВМЕСТО ОДНОЙ БОЛЬШОЙ НЕДЕЛИ. */
.ch-days-row {
  flex-wrap: wrap;
  gap: 8px;
  margin: 18px 0 0;
  padding: 0;
  list-style: none;
  display: flex
}

.ch-days-row li {
  color: var(--t-text-3, #6f7a74);
  border: 1px solid rgba(var(--theme-border-rgb, 255, 255, 255), .12);
  border-radius: 11px;
  place-items: center;
  width: 42px;
  height: 42px;
  font-size: 14.5px;
  font-weight: 700;
  display: grid
}

.ch-days-row li.done {
  color: var(--accent-ink, #06110d);
  background: var(--accent);
  border-color: var(--accent)
}

.ch-days-row li.done svg {
  width: 18px
}

.ch-days-row li.today {
  color: var(--accent);
  border-color: var(--accent);
  box-shadow: 0 0 0 4px var(--accent-soft)
}

.ch-strategy {
  color: var(--t-text-2, #b7c2bc);
  margin: 16px 0 0;
  font-size: 14.5px
}

/* ── СЕГОДНЯШНЯЯ МИССИЯ ──────────────────────────────────────────────────── */
.ch-mission h3 {
  color: var(--t-text);
  margin: 8px 0 8px;
  font-size: 20px;
  line-height: 1.25
}

.ch-mission p {
  color: var(--t-text-2, #b7c2bc);
  max-width: 62ch;
  margin: 0 0 14px;
  font-size: 14.5px;
  line-height: 1.5
}

.ch-auto {
  color: var(--accent);
  align-items: flex-start;
  gap: 8px;
  display: flex
}

.ch-auto svg {
  flex: none;
  width: 16px;
  margin-top: 2px
}

/* ДЕНЬ СДЕЛАН — ЭТО НАГРАДА, А НЕ ЗАПРЕТ. Сильной кнопки здесь нет намеренно. */
.ch-done {
  border-left-color: var(--accent);
  background: linear-gradient(120deg, var(--accent-soft), #0000 65%)
}

.ch-done b {
  color: var(--accent);
  align-items: center;
  gap: 9px;
  font-size: 20px;
  display: flex
}

.ch-done b svg {
  width: 20px
}

.ch-done p {
  color: var(--t-text-2, #c2ccc7);
  margin: 8px 0 0;
  font-size: 15px
}

.ch-done small {
  color: var(--t-text-3, #8b968f);
  align-items: center;
  gap: 7px;
  margin-top: 10px;
  font-size: 13.5px;
  display: flex
}

.ch-done small svg {
  width: 14px
}

/* ── ПРАВИЛА: ниже всего, потому что читают их один раз ──────────────────── */
.ch-rules ul {
  margin: 10px 0 0;
  padding-left: 18px
}

.ch-rules li {
  color: var(--t-text-2, #b7c2bc);
  margin-bottom: 6px;
  font-size: 14.5px;
  line-height: 1.45
}

/* ── МОМЕНТ ПОБЕДЫ ───────────────────────────────────────────────────────── */
.ch-win {
  background: radial-gradient(circle at 82% 0%, var(--accent-soft), #0000 45%),
              linear-gradient(150deg, rgba(var(--theme-surface-2-rgb, 17, 23, 25), .96),
              rgba(var(--theme-bg-rgb, 8, 11, 12), .94));
  border-color: var(--accent-border);
  border-left-width: 3px;
  padding: 28px 30px
}

.ch-win-eyebrow {
  letter-spacing: .14em;
  color: var(--accent);
  align-items: center;
  gap: 8px;
  font-size: 12.5px;
  font-weight: 800;
  display: inline-flex
}

.ch-win-eyebrow svg {
  width: 16px
}

.ch-win h2 {
  margin: 10px 0 6px;
  font-size: 38px
}

.ch-win>p {
  color: var(--t-text-2, #b7c2bc);
  font-size: 16px
}

.ch-win-what {
  border-left: 2px solid var(--accent-border);
  margin: 16px 0;
  padding-left: 14px
}

.ch-win-what small {
  letter-spacing: .11em;
  color: var(--t-text-3, #7f8a84);
  font-size: 12px;
  font-weight: 800;
  display: block
}

.ch-win-what p {
  color: var(--t-text-2, #c2ccc7);
  margin: 6px 0 0;
  font-size: 15px;
  line-height: 1.45
}

/* ── НАГРАДА ДЕЙСТВУЕТ / ЗАКОНЧИЛАСЬ ────────────────────────────────────── */
.ch-reward-active {
  border-left-color: var(--accent)
}

.ch-reward-over {
  border-left-color: rgba(var(--theme-border-rgb, 255, 255, 255), .2)
}

.ch-reward-active h2,
.ch-reward-over h2 {
  margin: 6px 0 8px
}

.ch-reward-active p,
.ch-reward-over p,
.ch-empty p {
  color: var(--t-text-2, #b7c2bc);
  max-width: 62ch;
  margin: 0;
  font-size: 15px;
  line-height: 1.5
}

.ch-empty {
  border-left-color: rgba(var(--theme-border-rgb, 255, 255, 255), .2)
}

.ch-empty h2 {
  margin-bottom: 8px;
  font-size: 22px
}

/* ── ОДИН ВОПРОС ПОСЛЕ ФИНАЛА ───────────────────────────────────────────── */
.ch-feedback b {
  color: var(--t-text);
  font-size: 16.5px
}

.ch-feedback>div {
  gap: 8px;
  margin: 12px 0 8px;
  display: flex
}

.ch-feedback button {
  color: var(--t-text-2, #c2ccc7);
  cursor: pointer;
  background: #ffffff08;
  border: 1px solid rgba(var(--theme-border-rgb, 255, 255, 255), .12);
  border-radius: 10px;
  padding: 9px 18px;
  font-size: 14.5px;
  font-weight: 650
}

.ch-feedback button:hover {
  color: var(--accent);
  border-color: var(--accent-border)
}

.ch-feedback small,
.ch-thanks {
  color: var(--t-text-3, #8b968f);
  font-size: 13.5px
}

.ch-thanks {
  margin: 4px 2px
}

.ch-why {
  color: #ff9a92;
  margin: 10px 0 0;
  font-size: 14px
}

/* Красная точка раздела — тот же язык, что у сигналов. */
.app .sidebar nav button>i.attention {
  background: var(--red, #c85151);
  box-shadow: 0 0 10px #c8515180
}

/* ── ТЕЛЕФОН: день, миссия и статус видны без прокрутки ─────────────────── */
@media (width<=760px) {
  .ch-card {
    padding: 18px 16px
  }

  .ch-card h2 {
    font-size: 22px
  }

  .ch-active header h2 {
    font-size: 26px
  }

  .ch-win h2 {
    font-size: 30px
  }

  .ch-days-row li {
    width: 38px;
    height: 38px
  }

  .ch-blocks {
    grid-template-columns: minmax(0, 1fr)
  }

  .ch-mission [data-slot=button],
  .ch-offer [data-slot=button],
  .ch-win [data-slot=button] {
    width: 100%;
    justify-content: center
  }
}

/* ── Продуктовый проход по челленджам (приёмка владельца 10.09) ──────────── */

/* ТВОЯ СТРАТЕГИЯ — часть личности недели, а не мелкая строка внизу карточки. */
.ch-your-strategy {
  border: 1px solid var(--accent-border);
  background: linear-gradient(120deg, var(--accent-soft), #0000 72%);
  border-radius: 12px;
  margin-top: 18px;
  padding: 13px 16px
}

.ch-your-strategy small {
  letter-spacing: .12em;
  color: var(--t-text-3, #7f8a84);
  font-size: 12px;
  font-weight: 800;
  display: block
}

.ch-your-strategy b {
  color: var(--accent);
  margin-top: 3px;
  font-size: 17px;
  display: block
}

.ch-your-strategy span {
  color: var(--t-text-3, #8b968f);
  font-size: 13px
}

/* Непригодные стратегии — не карточки с кнопкой, а честная приписка под выбором. */
.ch-unusable {
  border-top: 1px solid rgba(var(--theme-border-rgb, 255, 255, 255), .09);
  margin-top: 18px;
  padding-top: 14px
}

.ch-unusable small {
  letter-spacing: .12em;
  color: var(--t-text-3, #7f8a84);
  font-size: 12px;
  font-weight: 800;
  display: block
}

.ch-unusable p {
  color: var(--t-text-3, #8b968f);
  margin: 8px 0 0;
  font-size: 13.5px;
  line-height: 1.45
}

.ch-unusable b {
  color: var(--t-text-2, #b7c2bc);
  font-weight: 700
}

/* ЧТО ОТКРЫЛОСЬ — предмет награды, а не слово «награда». */
.ch-opens {
  margin: 14px 0 0;
  padding: 0;
  list-style: none
}

.ch-opens li {
  color: var(--t-text);
  align-items: center;
  gap: 9px;
  margin-bottom: 8px;
  font-size: 16px;
  display: flex
}

/* ЗНАЧКИ НЕ РАСТЯГИВАЮТСЯ ПО ВЫСОТЕ (25.09).

   Амир: «галочки визуально сильно сплюснуты». Замер по всем экранам ступени ОТС 250:
   галочка рисуется 18×24 вместо квадрата, стрелка 16×24, шеврон 14×24 — то есть значки
   вытянуты вверх, а не сплюснуты вбок, но человек видит ровно это искажение.

   Причина одна на все: значок приходит как `<svg width="24" height="24">`, а стиль задаёт
   ему ТОЛЬКО ширину. Высота остаётся из атрибута — 24, и квадрат превращается в
   прямоугольник. Чинить по одному месту бессмысленно: так устроен каждый значок, которому
   где-нибудь поставили ширину.

   `height: auto` возвращает высоту к пропорции: она считается от ширины и viewBox. Там,
   где высота задана стилем осознанно, стиль сильнее атрибута и это правило не мешает. */
.page .lucide { height: auto }

.ch-opens svg {
  color: var(--accent);
  flex: none;
  width: 17px
}

.ch-base {
  color: var(--t-text-2, #b7c2bc);
  margin: 6px 0 0;
  font-size: 14.5px
}

.ch-note {
  color: var(--t-text-3, #8b968f);
  border-left: 2px solid rgba(var(--theme-border-rgb, 255, 255, 255), .16);
  margin: 12px 0 16px;
  padding-left: 11px;
  font-size: 13px;
  line-height: 1.45;
  display: block;
  max-width: 60ch
}

/* Отзыв вторичен: он не может быть главным содержимым награды. */
.ch-feedback {
  border-left-color: rgba(var(--theme-border-rgb, 255, 255, 255), .18);
  opacity: .9
}

.ch-feedback b {
  font-size: 15px
}

/* Приписка про комнаты — тихая. Правило `.ch-card>small` красит ЛЮБОЙ прямой
   small как заголовок-надпись, поэтому честная оговорка выглядела предупреждением. */
.ch-card>small.ch-note {
  letter-spacing: 0;
  color: var(--t-text-3, #8b968f);
  font-weight: 400;
  font-size: 13px
}

/* ═══ 8. «МОЙ ПУТЬ» ═════════════════════════════════════════════════════════
   Сначала ощущение периода числами, потом хронология. Вехи выделены, повторы
   свёрнуты — через месяц страница обязана стать полезнее, а не длиннее. */

.my-path {
  gap: 14px
}

/* ── 1. ГДЕ Я СЕЙЧАС ─────────────────────────────────────────────────────────
   Первый блок страницы и самый крупный текст на ней: ступень — это ответ на
   «где я», и он обязан читаться раньше любых чисел периода. */
.path-now {
  border: 1px solid rgba(var(--theme-border-rgb, 255, 255, 255), .12);
  background: linear-gradient(150deg, var(--accent-soft), #0000 68%);
  border-left: 3px solid var(--accent);
  border-radius: 4px 18px 18px 4px;
  padding: 20px 24px
}

.path-now-eyebrow,
.path-step-eyebrow {
  letter-spacing: .1em;
  color: var(--accent);
  font-size: 12.5px;
  font-weight: 800;
  display: block
}

.path-now-tier {
  color: var(--t-text);
  margin-top: 6px;
  font-size: 28px;
  font-weight: 700;
  line-height: 1.15;
  display: block
}

.path-now-text {
  color: var(--t-text-2, #b7c2bc);
  max-width: 62ch;
  margin: 10px 0 0;
  font-size: 15px;
  font-variant-numeric: tabular-nums;
  line-height: 1.5
}

.path-now-text b {
  color: var(--t-text);
  font-weight: 700
}

/* Полоса рисуется ТОЛЬКО когда сумма известна: пустая шкала соврала бы про деньги. */
.path-bar {
  background: #ffffff0f;
  border-radius: 999px;
  height: 8px;
  margin-top: 14px;
  overflow: hidden
}

.path-bar i {
  background: var(--accent);
  border-radius: 999px;
  height: 100%;
  display: block
}

/* Приз — тихая приписка, а не вторая ступень. */
.path-now-trial {
  color: var(--t-text-3, #8b968f);
  border-left: 2px solid var(--accent-border);
  margin: 14px 0 0;
  padding-left: 11px;
  font-size: 13.5px;
  line-height: 1.45
}

/* ── 3. СЛЕДУЮЩИЙ ШАГ ────────────────────────────────────────────────────────
   Единственная кнопка страницы. Рамка сплошная, а не лёгкая: этот блок человек
   должен заметить, даже проматывая экран глазами. */
.path-step {
  border: 1px solid var(--accent-border);
  background: linear-gradient(120deg, var(--accent-soft), #0000 72%);
  border-radius: 18px;
  padding: 20px 24px
}

.path-step>b {
  color: var(--t-text);
  margin-top: 6px;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  display: block
}

.path-step>p {
  color: var(--t-text-2, #b7c2bc);
  max-width: 62ch;
  margin: 8px 0 16px;
  font-size: 15px;
  line-height: 1.5
}

/* Верхняя ступень — не призыв, а состояние: тот же блок, но без нажима. */
.path-step--top {
  border-color: rgba(var(--theme-border-rgb, 255, 255, 255), .12);
  background: #ffffff05
}

/* Период без действий объясняется словами на месте сетки чисел. */
.path-nothing {
  color: var(--t-text-2, #b7c2bc);
  max-width: 60ch;
  margin: 14px 0 0;
  font-size: 14.5px;
  line-height: 1.5
}

.path-summary {
  border: 1px solid rgba(var(--theme-border-rgb, 255, 255, 255), .12);
  background: linear-gradient(150deg, rgba(var(--theme-surface-2-rgb, 17, 23, 25), .95),
              rgba(var(--theme-bg-rgb, 8, 11, 12), .92));
  border-left: 3px solid var(--accent);
  border-radius: 4px 18px 18px 4px;
  padding: 20px 24px
}

.path-summary>header {
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  display: flex
}

.path-summary>header span {
  letter-spacing: .1em;
  color: var(--accent);
  font-size: 13px;
  font-weight: 800
}

.path-period {
  background: #ffffff08;
  border: 1px solid rgba(var(--theme-border-rgb, 255, 255, 255), .1);
  border-radius: 10px;
  gap: 2px;
  padding: 3px;
  display: flex
}

.path-period button {
  color: var(--t-text-3, #8b968f);
  cursor: pointer;
  background: 0 0;
  border: 0;
  border-radius: 8px;
  padding: 6px 14px;
  font-size: 13.5px;
  font-weight: 650
}

.path-period button.on {
  color: var(--accent-ink, #06110d);
  background: var(--accent)
}

.path-numbers {
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: 10px;
  margin-top: 16px;
  display: grid
}

.path-numbers article {
  border: 1px solid rgba(var(--theme-border-rgb, 255, 255, 255), .08);
  background: #ffffff05;
  border-radius: 12px;
  padding: 13px 15px
}

.path-numbers b {
  color: var(--t-text);
  font-size: 26px;
  font-variant-numeric: tabular-nums;
  display: block;
  line-height: 1.1
}

.path-numbers small {
  color: var(--t-text-3, #8b968f);
  margin-top: 3px;
  font-size: 13px;
  display: block
}

/* ── Хронология ──────────────────────────────────────────────────────────── */
.path-day>header {
  letter-spacing: .1em;
  color: var(--t-text-3, #7f8a84);
  margin: 6px 2px 8px;
  font-size: 12.5px;
  font-weight: 800
}

.path-day article {
  border: 1px solid rgba(var(--theme-border-rgb, 255, 255, 255), .09);
  background: #ffffff04;
  border-left: 2px solid rgba(var(--theme-border-rgb, 255, 255, 255), .14);
  border-radius: 4px 14px 14px 4px;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 4px 12px;
  margin-bottom: 8px;
  padding: 14px 16px;
  display: grid
}

/* ВЕХА выглядит вехой: ради неё человек открывает страницу. */
.path-day article.milestone {
  border-left-color: var(--accent);
  background: linear-gradient(120deg, var(--accent-soft), #0000 62%)
}

.path-day article b {
  color: var(--t-text);
  font-size: 16px;
  font-weight: 650
}

.path-day article.milestone b {
  color: var(--accent)
}

.path-day article p {
  color: var(--t-text-2, #b7c2bc);
  margin: 4px 0 0;
  font-size: 14px;
  line-height: 1.45
}

.path-at {
  color: var(--t-text-3, #7f8a84);
  font-size: 13px;
  font-variant-numeric: tabular-nums;
  white-space: nowrap
}

.path-action {
  color: var(--accent);
  cursor: pointer;
  background: 0 0;
  border: 0;
  grid-column: 1 / -1;
  align-items: center;
  gap: 4px;
  margin-top: 8px;
  padding: 0;
  font-size: 13.5px;
  font-weight: 700;
  display: inline-flex;
  justify-self: start
}

.path-action svg {
  width: 15px
}

/* ── Пусто — это начало, а не отсутствие ────────────────────────────────── */
.path-empty {
  border: 1px solid rgba(var(--theme-border-rgb, 255, 255, 255), .12);
  border-left: 3px solid var(--accent);
  background: linear-gradient(150deg, var(--accent-soft), #0000 70%);
  border-radius: 4px 18px 18px 4px;
  padding: 26px 28px
}

.path-empty h2 {
  color: var(--t-text);
  margin: 0 0 8px;
  font-size: 24px
}

.path-empty p {
  color: var(--t-text-2, #b7c2bc);
  max-width: 60ch;
  margin: 0 0 16px;
  font-size: 15.5px;
  line-height: 1.5
}

@media (width<=760px) {
  .path-now,
  .path-step {
    padding: 16px
  }

  .path-now-tier {
    font-size: 23px
  }

  .path-step>b {
    font-size: 18px
  }

  .path-summary {
    padding: 16px
  }

  .path-numbers {
    grid-template-columns: repeat(2, minmax(0, 1fr))
  }

  .path-numbers b {
    font-size: 22px
  }

  .path-day article {
    padding: 12px 14px
  }
}

/* ═══ 9. СЧЁТ → ДОСТУП, УРОВНИ → ПРОГРЕССИЯ ════════════════════════════════ */

/* Что сумма значит для доступа — прямо под суммой, а не на другом экране. */
.account-progress {
  border-top: 1px solid rgba(var(--theme-border-rgb, 255, 255, 255), .1);
  margin-top: 16px;
  padding-top: 14px
}

.account-progress b {
  color: var(--t-text-2, #b7c2bc);
  font-size: 15px;
  font-weight: 650
}

.account-progress b strong {
  color: var(--accent)
}

.account-progress p {
  color: var(--t-text-2, #b7c2bc);
  margin: 6px 0 10px;
  font-size: 14.5px;
  font-variant-numeric: tabular-nums
}

.account-progress p strong {
  color: var(--t-text)
}

.account-progress small {
  color: var(--t-text-3, #8b968f);
  border-left: 2px solid var(--accent-border);
  margin-top: 12px;
  padding-left: 11px;
  font-size: 13px;
  line-height: 1.45;
  display: block
}

/* ── УРОВНИ ─────────────────────────────────────────────────────────────── */
.levels-live {
  gap: 14px
}

.lv-current,
.lv-next,
.lv-list {
  border: 1px solid rgba(var(--theme-border-rgb, 255, 255, 255), .12);
  background: linear-gradient(150deg, rgba(var(--theme-surface-2-rgb, 17, 23, 25), .95),
              rgba(var(--theme-bg-rgb, 8, 11, 12), .92));
  border-radius: 4px 18px 18px 4px;
  padding: 22px 26px
}

/* Текущая ступень — самая заметная. */
.lv-current {
  border-left: 3px solid var(--accent);
  background: radial-gradient(circle at 88% 0%, var(--accent-soft), #0000 46%),
              linear-gradient(150deg, rgba(var(--theme-surface-2-rgb, 17, 23, 25), .96),
              rgba(var(--theme-bg-rgb, 8, 11, 12), .93))
}

.lv-current>span {
  letter-spacing: .13em;
  color: var(--accent);
  align-items: center;
  gap: 8px;
  font-size: 12.5px;
  font-weight: 800;
  display: inline-flex
}

.lv-current>span svg {
  width: 16px
}

.lv-current h2 {
  color: var(--t-text);
  margin: 8px 0 14px;
  font-size: 34px;
  line-height: 1.05
}

.lv-next {
  border-left: 2px solid rgba(var(--theme-border-rgb, 255, 255, 255), .18)
}

.lv-next>span {
  letter-spacing: .12em;
  color: var(--t-text-3, #7f8a84);
  font-size: 12.5px;
  font-weight: 800
}

.lv-next h2 {
  color: var(--t-text);
  margin: 6px 0 12px;
  font-size: 24px
}

.lv-current ul,
.lv-next ul {
  margin: 0;
  padding: 0;
  list-style: none
}

.lv-current li,
.lv-next li {
  color: var(--t-text-2, #c2ccc7);
  align-items: flex-start;
  gap: 9px;
  margin-bottom: 7px;
  font-size: 15px;
  line-height: 1.4;
  display: flex
}

.lv-current li svg,
.lv-next li svg {
  color: var(--accent);
  flex: none;
  width: 15px;
  margin-top: 3px
}

.lv-trial {
  color: var(--accent);
  border: 1px solid var(--accent-border);
  background: var(--accent-soft);
  border-radius: 12px;
  align-items: flex-start;
  gap: 9px;
  margin: 14px 0 0;
  padding: 12px 14px;
  font-size: 14px;
  line-height: 1.45;
  display: flex
}

.lv-trial svg {
  flex: none;
  width: 16px;
  margin-top: 2px
}

.lv-how {
  border-left: 2px solid var(--accent-border);
  margin: 14px 0 0;
  padding-left: 13px
}

.lv-how.soft {
  border-left-color: rgba(var(--theme-border-rgb, 255, 255, 255), .16)
}

.lv-how b {
  color: var(--accent);
  font-size: 14px
}

.lv-how.soft b {
  color: var(--t-text-3, #8b968f)
}

.lv-how p {
  color: var(--t-text-2, #b7c2bc);
  margin: 4px 0 0;
  font-size: 14.5px;
  line-height: 1.45
}

.lv-actions {
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
  display: flex
}

/* Лестница: каждая ступень со своим отличием, а не одинаковые коробки. */
.lv-list>header {
  letter-spacing: .12em;
  color: var(--t-text-3, #7f8a84);
  margin-bottom: 12px;
  font-size: 12.5px;
  font-weight: 800
}

.lv-list article {
  border-top: 1px solid rgba(var(--theme-border-rgb, 255, 255, 255), .08);
  padding: 13px 0
}

.lv-list article:first-of-type {
  border-top: 0
}

.lv-row-head {
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  display: flex
}

.lv-list b {
  color: var(--t-text);
  font-size: 16.5px
}

.lv-list article.current b {
  color: var(--accent)
}

.lv-list article.locked b {
  color: var(--t-text-2, #a7b2ac)
}

.lv-list em {
  color: var(--t-text-3, #8b968f);
  font-size: 13px;
  font-style: normal;
  white-space: nowrap
}

.lv-list article.current em {
  color: var(--accent);
  font-weight: 700
}

.lv-list p {
  color: var(--t-text-3, #8b968f);
  margin: 5px 0 0;
  font-size: 14px;
  line-height: 1.4
}

.lv-list small {
  color: var(--t-text-3, #7f8a84);
  align-items: flex-start;
  gap: 7px;
  margin-top: 6px;
  font-size: 13px;
  line-height: 1.4;
  display: flex
}

.lv-list small svg {
  flex: none;
  width: 13px;
  margin-top: 2px
}

.lv-note {
  color: var(--t-text-3, #7f8a84);
  margin: 4px 2px;
  font-size: 13.5px
}

@media (width<=760px) {
  .lv-current,
  .lv-next,
  .lv-list {
    padding: 18px 16px
  }

  .lv-current h2 {
    font-size: 27px
  }

  .lv-actions [data-slot=button] {
    width: 100%;
    justify-content: center
  }
}

/* ═══ 10. ВХОДЯЩИЕ · МЕНЕДЖЕР · КОМНАТЫ ════════════════════════════════════ */

/* Входящие: группы по смыслу, а не по времени. */
.notifications-live { gap: 12px }

.nf-head {
  border: 1px solid rgba(var(--theme-border-rgb, 255, 255, 255), .12);
  background: #ffffff05;
  border-left: 3px solid var(--accent);
  border-radius: 4px 16px 16px 4px;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 16px 20px;
  display: flex
}

.nf-head>div { align-items: center; gap: 10px; display: flex; flex-wrap: wrap }
.nf-head svg { color: var(--accent); width: 18px }
.nf-head b { color: var(--t-text); font-size: 16px }
.nf-head small { color: var(--t-text-3, #8b968f); font-size: 13px; width: 100% }

.nf-head>button {
  color: var(--accent);
  cursor: pointer;
  background: 0 0;
  border: 1px solid var(--accent-border);
  border-radius: 10px;
  padding: 8px 14px;
  font-size: 13.5px;
  font-weight: 650
}

.nf-group>header {
  letter-spacing: .12em;
  color: var(--t-text-3, #7f8a84);
  margin: 10px 2px 8px;
  font-size: 12.5px;
  font-weight: 800
}

/* «Требует действия» выделено — остальное тише. */
.nf-action>header { color: var(--accent) }

.nf-group article {
  border: 1px solid rgba(var(--theme-border-rgb, 255, 255, 255), .1);
  background: #ffffff05;
  border-left: 2px solid rgba(var(--theme-border-rgb, 255, 255, 255), .14);
  border-radius: 4px 14px 14px 4px;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 10px;
  margin-bottom: 8px;
  padding: 14px 16px;
  display: grid
}

.nf-action article { border-left-color: var(--accent) }
.nf-group article.read { opacity: .55 }
.nf-group article b { color: var(--t-text); font-size: 15.5px; display: block }
.nf-group article p {
  color: var(--t-text-2, #b7c2bc);
  margin: 4px 0 0;
  font-size: 14px;
  line-height: 1.4
}

.nf-go {
  color: var(--accent-ink, #06110d);
  cursor: pointer;
  background: var(--accent);
  border: 0;
  border-radius: 10px;
  align-items: center;
  gap: 6px;
  padding: 9px 14px;
  font-size: 13.5px;
  font-weight: 750;
  display: inline-flex;
  white-space: nowrap
}

.nf-go svg { width: 14px }

.nf-read {
  color: var(--t-text-3, #8b968f);
  cursor: pointer;
  background: 0 0;
  border: 1px solid rgba(var(--theme-border-rgb, 255, 255, 255), .14);
  border-radius: 9px;
  place-items: center;
  width: 34px;
  height: 34px;
  display: grid
}

.nf-read svg { width: 15px }

/* ── Написать менеджеру ─────────────────────────────────────────────────── */
.sp-manager {
  border: 1px solid var(--accent-border);
  background: linear-gradient(150deg, var(--accent-soft), #0000 68%);
  border-left: 3px solid var(--accent);
  border-radius: 4px 18px 18px 4px;
  padding: 22px 26px
}

.sp-manager>span {
  letter-spacing: .12em;
  color: var(--accent);
  font-size: 12.5px;
  font-weight: 800
}

.sp-manager h2 { color: var(--t-text); margin: 8px 0 6px; font-size: 24px }
.sp-manager>p {
  color: var(--t-text-2, #b7c2bc);
  max-width: 62ch;
  margin: 0 0 14px;
  font-size: 15px;
  line-height: 1.5
}

.sp-manager textarea {
  color: var(--t-text);
  background: rgba(var(--theme-bg-rgb, 8, 11, 12), .6);
  border: 1px solid rgba(var(--theme-border-rgb, 255, 255, 255), .16);
  border-radius: 12px;
  width: 100%;
  padding: 13px 15px;
  font: inherit;
  font-size: 15px;
  resize: vertical
}

.sp-manager textarea:focus {
  border-color: var(--accent);
  outline: 0
}

.strategy-live, .strategy-text-only, .strategy-shadow {
  border-radius: 99px;
  align-self: flex-start;
  margin-top: 6px;
  padding: 2px 9px;
  font-size: 12px;
  font-style: normal;
  font-weight: 700;
  display: inline-block
}

.strategy-live { color: #5fe0a0; background: rgba(95, 224, 160, .13) }
/* Третье состояние: правило работает, но людям не публикуется. Не зелёное (это не «даём»)
   и не серое (это не «только текст») — своё, янтарное: работа идёт. */
.strategy-shadow { color: #e0b05f; background: rgba(224, 176, 95, .13) }
.strategy-text-only { color: var(--t-text-3, #8b968f); background: rgba(255, 255, 255, .07) }

.sp-topics {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 12px
}

.sp-topics button {
  color: var(--t-text-2, #b7c2bc);
  background: rgba(var(--theme-border-rgb, 255, 255, 255), .06);
  border: 1px solid rgba(var(--theme-border-rgb, 255, 255, 255), .16);
  border-radius: 99px;
  padding: 7px 13px;
  font: inherit;
  font-size: 13.5px;
  font-weight: 600;
  cursor: pointer
}

.sp-topics button.on {
  color: var(--accent);
  background: var(--accent-soft);
  border-color: var(--accent-border)
}

.sp-manager-row {
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  margin-top: 12px;
  display: flex
}

.sp-manager-row small { color: var(--t-text-3, #8b968f); font-size: 13px }
.sp-ok { color: var(--accent); margin: 12px 0 0; font-size: 14.5px }
.sp-err { color: #ff9a92; margin: 12px 0 0; font-size: 14px }

/* ── Комнаты как хаб сообщества ─────────────────────────────────────────── */
.rooms-panel>header { display: block }
.rooms-panel>header small {
  color: var(--t-text-3, #8b968f);
  margin-top: 4px;
  font-size: 13.5px;
  display: block
}

.room-row em {
  color: var(--accent);
  font-size: 13.5px;
  font-style: normal;
  font-weight: 700;
  white-space: nowrap
}

.rooms-locked {
  border-top: 1px solid rgba(var(--theme-border-rgb, 255, 255, 255), .09);
  margin-top: 12px;
  padding-top: 12px
}

.rooms-locked small {
  letter-spacing: .12em;
  color: var(--t-text-3, #7f8a84);
  font-size: 12px;
  font-weight: 800;
  display: block
}

.rooms-locked p {
  color: var(--t-text-3, #8b968f);
  align-items: center;
  gap: 8px;
  margin: 8px 0 0;
  font-size: 14px;
  display: flex
}

.rooms-locked b { color: var(--t-text-2, #b7c2bc); font-weight: 650 }
.rooms-locked svg { opacity: .6; width: 14px }

.rooms-trial {
  color: var(--t-text-3, #8b968f);
  border-left: 2px solid var(--accent-border);
  margin: 12px 0 0;
  padding-left: 11px;
  font-size: 13px;
  line-height: 1.45
}

@media (width<=760px) {
  .nf-group article {
    grid-template-columns: minmax(0, 1fr) auto
  }

  .nf-go { grid-column: 1 / -1; justify-content: center; width: 100% }
  .sp-manager { padding: 18px 16px }
}

/* ═══ 11. ЦИКЛ СИГНАЛА · КОНЕЦ УРОКА · ЗНАКОМСТВО ══════════════════════════ */

.sf-block {
  border: 1px solid rgba(var(--theme-border-rgb, 255, 255, 255), .12);
  background: #ffffff05;
  border-left: 3px solid var(--accent);
  border-radius: 4px 16px 16px 4px;
  margin-bottom: 14px;
  padding: 16px 20px
}

.sf-block>header {
  letter-spacing: .12em;
  color: var(--accent);
  margin-bottom: 10px;
  font-size: 12.5px;
  font-weight: 800
}

.sf-ask {
  border-top: 1px solid rgba(var(--theme-border-rgb, 255, 255, 255), .08);
  padding: 12px 0
}

.sf-ask:first-of-type { border-top: 0 }
.sf-ask b { color: var(--t-text); font-size: 15.5px; display: block }
.sf-ask p { color: var(--t-text-2, #b7c2bc); margin: 6px 0 10px; font-size: 14px }

.sf-row { flex-wrap: wrap; gap: 8px; display: flex }

.sf-row button {
  color: var(--t-text-2, #c2ccc7);
  cursor: pointer;
  background: #ffffff08;
  border: 1px solid rgba(var(--theme-border-rgb, 255, 255, 255), .14);
  border-radius: 10px;
  min-width: 78px;
  padding: 9px 16px;
  font-size: 14.5px;
  font-weight: 650
}

.sf-row button:hover { color: var(--accent); border-color: var(--accent-border) }

.sf-ask.done span {
  color: var(--accent);
  align-items: center;
  gap: 7px;
  margin-top: 6px;
  font-size: 14px;
  display: inline-flex
}

.sf-ask.done svg { width: 15px }

.sf-stats {
  border-top: 1px solid rgba(var(--theme-border-rgb, 255, 255, 255), .08);
  margin-top: 10px;
  padding-top: 12px
}

.sf-stats b { color: var(--t-text); font-size: 15px }
.sf-stats>div { flex-wrap: wrap; gap: 16px; margin: 8px 0 6px; display: flex }
.sf-stats span { color: var(--t-text-3, #8b968f); font-size: 13.5px }

.sf-stats em {
  color: var(--accent);
  font-size: 18px;
  font-style: normal;
  font-weight: 750;
  font-variant-numeric: tabular-nums
}

.sf-stats small { color: var(--t-text-3, #7f8a84); font-size: 12.5px; display: block }

/* ── Конец урока — не тупик ─────────────────────────────────────────────── */
.lesson-done {
  border: 1px solid var(--accent-border);
  background: linear-gradient(150deg, var(--accent-soft), #0000 70%);
  border-left: 3px solid var(--accent);
  border-radius: 4px 16px 16px 4px;
  margin-bottom: 12px;
  padding: 16px 20px
}

.lesson-done>b { color: var(--accent); font-size: 17px }
.lesson-ask { flex-wrap: wrap; align-items: center; gap: 9px; margin: 10px 0; display: flex }
.lesson-ask span { color: var(--t-text-2, #b7c2bc); font-size: 14.5px }

.lesson-ask button {
  color: var(--t-text-2, #c2ccc7);
  cursor: pointer;
  background: #ffffff08;
  border: 1px solid rgba(var(--theme-border-rgb, 255, 255, 255), .14);
  border-radius: 9px;
  padding: 7px 16px;
  font-size: 14px;
  font-weight: 650
}

.lesson-done p { color: var(--t-text-2, #b7c2bc); margin: 8px 0 0; font-size: 14.5px }
.lesson-next { color: var(--t-text-3, #8b968f) !important }

.lesson-close {
  color: var(--accent);
  cursor: pointer;
  background: 0 0;
  border: 0;
  margin-top: 10px;
  padding: 0;
  font-size: 14px;
  font-weight: 700
}

/* ── Знакомство при первом входе ────────────────────────────────────────── */
/* ВЫСОТА ПОСТОЯННОГО НИЖНЕГО МЕНЮ — ОДНИМ ЧИСЛОМ НА ВЕСЬ ПРОДУКТ.
   Всплывающие поверхности обязаны стоять ВЫШЕ меню, а не на нём: меню — это единственный
   способ уйти с экрана, и перекрытая полоса читается человеком как «приложение зависло».
   До 18.09 каждая такая поверхность носила своё число (82px, 78px) — четвёртая забыла его
   вовсе и легла на меню. Теперь число одно: 74px полосы + 10px её отступа от края. */
:root { --am-nav-space: 0px }

@media (width<=760px) {
  :root { --am-nav-space: calc(84px + env(safe-area-inset-bottom)) }
}

.firstrun-layer {
  z-index: 90;                 /* ниже .mobile-nav (100): меню рисуется поверх знакомства */
  pointer-events: none;        /* и принимает касание первым — подложки здесь нет вовсе */
  justify-content: center;
  align-items: flex-end;
  padding: 12px 12px calc(12px + var(--am-nav-space));
  display: flex;
  position: fixed;
  inset: 0
}

.firstrun-layer:before {
  content: "";
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  background: #020605a6;
  position: absolute;
  inset: 0 0 var(--am-nav-space) 0
}

@media (width>=761px) { .firstrun-layer { align-items: center } }

/* ЕДИНСТВЕННОЕ ОСТАВШЕЕСЯ НЕЗАПРОШЕННОЕ ОКНО — «уровень открыт». Оно задаёт человеку
   настоящий вопрос (применить новый вид сейчас или позже), поэтому остаётся модальным;
   но прятать под собой нижнее меню ему незачем — стоит над ним, как знакомство. */
@media (width<=760px) {
  .levelup-dialog:not(#am-nav) {
    bottom: calc(8px + var(--am-nav-space)) !important;
    max-height: calc(100dvh - 24px - var(--am-nav-space)) !important;
    overflow-y: auto
  }
}

.firstrun {
  pointer-events: auto;
  max-height: calc(100dvh - 24px - var(--am-nav-space));
  width: min(520px, 100%);
  overflow-y: auto;
  border-radius: 20px;
  padding: 22px;
  position: relative
}

.firstrun h2 { color: var(--t-text); margin: 0 26px 0 0; font-size: 26px; line-height: 1.2 }

.firstrun .firstrun-lead {
  color: var(--t-text-2, #b7c2bc);
  margin: 8px 0 0;
  font-size: 15.5px;
  line-height: 1.5
}

.firstrun-close {
  color: var(--t-text-3, #8b968f);
  cursor: pointer;
  background: 0 0;
  border: 0;
  padding: 4px;
  position: absolute;
  top: 14px;
  right: 14px
}

.firstrun-close svg { width: 16px }

.firstrun {
  /* Фон — из мира ступени. Был зашит тёмным (#10171a), а текст брался из мира: в светлом
     ОТС 250 окно знакомства при первом входе было тёмно-синим по тёмному. */
  background: radial-gradient(circle at 82% 0%, var(--accent-soft), #0000 46%),
              linear-gradient(160deg, var(--t-surface, #10171a), var(--t-bg, #080b0c)) !important;
  border: 1px solid var(--accent-border) !important
}

.firstrun-facts {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 16px 0 0;
  display: grid
}

.firstrun-facts article {
  border: 1px solid rgba(var(--theme-border-rgb, 255, 255, 255), .1);
  background: #ffffff05;
  border-radius: 12px;
  padding: 12px 14px
}

.firstrun-facts small {
  letter-spacing: .1em;
  color: var(--t-text-3, #7f8a84);
  font-size: 11.5px;
  font-weight: 800;
  display: block
}

.firstrun-facts b { color: var(--t-text); margin-top: 4px; font-size: 17px; display: block }

.firstrun-step {
  border: 1px solid var(--accent-border);
  background: var(--accent-soft);
  border-radius: 12px;
  margin-top: 12px;
  padding: 14px 16px
}

.firstrun-step small {
  letter-spacing: .11em;
  color: var(--accent);
  font-size: 11.5px;
  font-weight: 800;
  display: block
}

.firstrun-step b { color: var(--t-text); margin-top: 4px; font-size: 17px; display: block }
.firstrun-step p { color: var(--t-text-2, #b7c2bc); margin: 5px 0 0; font-size: 14px }

.firstrun-actions { flex-direction: column; gap: 8px; margin-top: 16px; display: flex }

.firstrun-go {
  color: var(--accent-ink, #06110d);
  cursor: pointer;
  background: linear-gradient(180deg, var(--accent-2), var(--accent));
  border: 0;
  border-radius: 12px;
  justify-content: center;
  align-items: center;
  gap: 8px;
  height: 48px;
  font-size: 15.5px;
  font-weight: 750;
  display: inline-flex
}

.firstrun-skip {
  color: var(--t-text-3, #8b968f);
  cursor: pointer;
  background: 0 0;
  border: 0;
  justify-content: center;
  align-items: center;
  gap: 7px;
  font-size: 14px;
  display: inline-flex
}

.firstrun-skip svg { width: 14px }

.sf-fail {
  color: var(--t-text-3, #8b968f);
  margin: 0;
  font-size: 14px;
  line-height: 1.45
}

/* ═══════════════════════════════════════════════════════════════════════════
   УЗКИЙ ЭКРАН: КАРТОЧКА СЧЁТА ПЕРЕСТАЁТ ОБРЕЗАТЬСЯ

   Найдено на живом проде на 375px. Заголовок страницы — это флекс-строка с
   `space-between`: приветствие слева, карточка счёта справа. На телефоне они не
   помещаются, карточка сжимается до 172px, а её объяснение («Владение счётом пока
   не подтверждено») выходит за правый край и режется, потому что у родителя
   `overflow: hidden`. Человек видит обрывок «Влад… счёт… не подт…» ровно на том
   месте, где написано, почему ему не показывают деньги.

   Чиню не карточку и не текст, а РАСКЛАДКУ: на узком экране строка переносится, и
   карточка встаёт под приветствием во всю ширину. Обрезать здесь нечего по
   построению — а подбор ширины или размера шрифта только отложил бы ту же обрезку
   до следующей фразы.
   ═══════════════════════════════════════════════════════════════════════════ */
@media (width <= 520px) {
  .page-title {
    flex-wrap: wrap;
    align-items: flex-start;
    row-gap: 12px;
  }

  .page-title > div:first-child {
    flex: 1 1 100%;
    min-width: 0;
  }

  .balance-card {
    flex: 1 1 100%;
    min-width: 0;
    width: 100%;
  }

  /* Объяснение рядом с суммой — в строку под ней, а не во второй столбец:
     двум столбцам на 375px места нет, и второй всегда оказывается за краем. */
  .money-withheld {
    width: 100%;
    min-width: 0;
    white-space: normal;
  }
}


/* ═══ 12. СТАТИСТИКА ОТС — ПРОЗРАЧНОСТЬ КАНАЛОВ ═══════════════════════════════
   Базовая раскладка экрана. Миры каналов (лёд, сияние, рубин) надевает
   сгенерированный слой `product.worlds.css`; здесь только сетка и читаемость.
   Телефон — первый: всё в одну колонку, цели нажатия от 44px, текст от 13px. */
.ots-stats-page { display: flex; flex-direction: column; gap: 0; }
.os-fresh { display: inline-flex; align-items: center; gap: 8px; margin: -6px 0 8px; font-size: 14px; color: var(--t-text-3, #8792a6); }
.os-fresh i { width: 8px; height: 8px; border-radius: 50%; background: #22c99c; box-shadow: 0 0 0 4px rgba(34, 201, 156, .15); }
.os-block { margin-top: 30px; }
.os-head h2 { margin: 0; font-size: 20px; font-weight: 750; letter-spacing: -.02em; color: var(--t-text, #f2f6f4); }
.os-head p { margin: 6px 0 0; font-size: 14px; line-height: 1.5; color: var(--t-text-3, #8792a6); max-width: 720px; }
.os-seg { margin-top: 14px; display: inline-flex; flex-wrap: wrap; gap: 4px; padding: 4px; border-radius: 14px;
  background: rgba(255, 255, 255, .04); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .07); }
.os-seg button { min-height: 40px; padding: 0 14px; border: 0; border-radius: 10px; background: transparent; cursor: pointer;
  font: 650 14px/1 var(--font-ui); color: var(--t-text-2, #b7c2bc); }
.os-seg button.on { color: var(--t-ink, #06110d); background: var(--t-accent, #55f2b2); }
.os-cards { margin-top: 14px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.os-card { position: relative; overflow: hidden; padding: 20px 20px 18px; border-radius: 18px;
  background: rgba(255, 255, 255, .03); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .08); }
.os-card h3 { margin: 0; padding-top: 6px; font-size: 17px; font-weight: 750; color: var(--t-text, #f2f6f4); }
.os-rate { margin-top: 14px; display: flex; align-items: baseline; gap: 10px; }
.os-rate b { font-size: 44px; line-height: 1; font-weight: 800; letter-spacing: -.04em; color: #fff; }
.os-rate span { font-size: 13px; line-height: 1.3; color: var(--t-text-3, #8792a6); }
.os-bar { margin-top: 12px; display: flex; height: 10px; border-radius: 6px; overflow: hidden; background: rgba(255, 255, 255, .06); }
.os-bar s { display: block; height: 100%; text-decoration: none; }
.os-bar .p { background: #22c99c; } .os-bar .m { background: #ff5b60; } .os-bar .n { background: rgba(255, 255, 255, .25); }
.os-legend { margin-top: 10px; display: flex; flex-wrap: wrap; gap: 4px 14px; font-size: 14px; font-weight: 700; }
.os-legend .p { color: #7be7c0; } .os-legend .m { color: #ffa3a6; } .os-legend .n { color: var(--t-text-2, #b7c2bc); }
.os-kv { margin: 14px 0 0; padding-top: 12px; display: grid; grid-template-columns: 1fr 1fr; gap: 10px 12px; box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08); }
.os-kv div { margin: 0; } .os-kv dt { font-size: 13px; color: var(--t-text-3, #8792a6); } .os-kv dd { margin: 2px 0 0; font-size: 15px; font-weight: 700; color: var(--t-text, #f2f6f4); }
.os-empty { margin: 14px 0 0; font-size: 14px; color: var(--t-text-3, #8792a6); }
.os-calrow { margin-top: 16px; }
.os-calrow h4 { margin: 0; font-size: 14px; font-weight: 700; color: var(--t-text-2, #b7c2bc); }
.os-days { margin-top: 8px; display: grid; grid-template-columns: repeat(auto-fill, minmax(28px, 1fr)); gap: 5px; }
.os-day { aspect-ratio: 1; min-height: 28px; padding: 0; border: 0; border-radius: 7px; cursor: pointer; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .06); }
/* Слабый удачный день был почти прозрачным и не отличался от «без итога» (правка 111). */
.os-day.win, .os-calkey i.win { background: rgba(34, 201, 156, calc(.55 + var(--k, .6) * .4)); }
.os-day.loss, .os-calkey i.loss { background: rgba(255, 91, 96, .6); }
.os-day.even, .os-calkey i.even { background: rgba(255, 196, 80, .5); }
.os-day.none, .os-calkey i.none { background: rgba(255, 255, 255, .08); }
.os-day.on { outline: 2px solid #fff; outline-offset: 1px; }
.os-daynote { margin: 10px 0 0; padding: 10px 12px; border-radius: 12px; font-size: 14px; line-height: 1.5; color: var(--t-text-2, #b7c2bc); background: rgba(255, 255, 255, .05); }
.os-daynote b { color: var(--t-text, #f2f6f4); }
.os-calkey, .os-vkey { margin-top: 12px; display: flex; flex-wrap: wrap; gap: 6px 16px; font-size: 13px; color: var(--t-text-3, #8792a6); }
.os-calkey span, .os-vkey span { display: inline-flex; align-items: center; gap: 6px; }
.os-calkey i { width: 14px; height: 14px; border-radius: 4px; }
.os-vkey i { width: 14px; height: 8px; border-radius: 3px; }
.os-filters { margin-top: 14px; display: flex; flex-wrap: wrap; gap: 8px; }
.os-filters select { min-height: 44px; padding: 0 14px; border-radius: 12px; border: 0; font: 650 14px/1 var(--font-ui);
  color: var(--t-text, #f2f6f4); background: rgba(255, 255, 255, .06); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .1); }
.os-filters select option { background: var(--t-surface, #10131c); color: var(--t-text, #f2f6f4); }
.os-count { margin: 10px 0 0; font-size: 14px; color: var(--t-text-2, #b7c2bc); }
.os-log { margin-top: 12px; display: flex; flex-direction: column; gap: 8px; }
.os-row { display: grid; grid-template-columns: 76px minmax(0, 1.2fr) auto minmax(0, 1.4fr); gap: 12px; align-items: center;
  padding: 14px 16px; border-radius: 14px; background: rgba(255, 255, 255, .03); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .07); }
.os-row.minus { box-shadow: inset 0 0 0 1px rgba(255, 91, 96, .35); }
.os-when b { display: block; font: 700 15px/1.2 var(--font-data); color: var(--t-text, #f2f6f4); }
.os-when span { font-size: 13px; color: var(--t-text-3, #8792a6); }
.os-what b { display: block; font-size: 15px; font-weight: 750; color: var(--t-text, #f2f6f4); }
.os-what span { display: block; margin-top: 2px; font-size: 13px; color: var(--t-text-3, #8792a6); }
.os-what em { font-style: normal; font-weight: 700; }
.os-row[data-ch="ОТС 250"] .os-ch { color: #8cc0ff; } .os-row[data-ch="ОТС 500"] .os-ch { color: #6ff0e6; } .os-row[data-ch="Эксклюзив"] .os-ch { color: #ff8a9a; }
.os-res { justify-self: start; padding: 7px 11px; border-radius: 9px; font-size: 13px; font-weight: 750; white-space: nowrap; }
.os-res.plus { color: #7be7c0; background: rgba(34, 201, 156, .13); box-shadow: inset 0 0 0 1px rgba(34, 201, 156, .3); }
.os-res.minus { color: #ffa3a6; background: rgba(255, 91, 96, .12); box-shadow: inset 0 0 0 1px rgba(255, 91, 96, .3); }
.os-res.none { color: var(--t-text-2, #b7c2bc); background: rgba(255, 255, 255, .06); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .1); }
.os-votes > span { font-size: 13px; line-height: 1.4; color: var(--t-text-3, #8792a6); }
.os-vbar { margin-top: 6px; display: flex; height: 7px; border-radius: 4px; overflow: hidden; background: rgba(255, 255, 255, .06); }
.os-vbar s { display: block; height: 100%; text-decoration: none; }
/* 12.10 (правка 111): три оттенка одного бирюзового не различались — у попыток разные цвета. */
.os-vbar .v1, .os-vkey .v1 { background: #22c99c; } .os-vbar .v2, .os-vkey .v2 { background: #4f9dff; } .os-vbar .v3, .os-vkey .v3 { background: #b38cff; }
.os-vbar .vx, .os-vkey .vx { background: #ffc450; } .os-vbar .vm, .os-vkey .vm { background: #ff5b60; }
.os-flags { margin-top: 6px; display: flex; flex-wrap: wrap; gap: 6px; }
.os-flags em { padding: 3px 7px; border-radius: 6px; font-style: normal; font-size: 13px; font-weight: 700; }
.os-flags .lim { color: #ffd28a; background: rgba(255, 196, 80, .12); } .os-flags .neg { color: #ffa3a6; background: rgba(255, 91, 96, .12); }
.os-more { margin-top: 12px; min-height: 48px; width: 100%; border: 0; border-radius: 14px; cursor: pointer; font: 700 14px/1 var(--font-ui);
  color: var(--t-text, #f2f6f4); background: rgba(255, 255, 255, .06); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .1); }
.os-rules { margin-top: 14px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.os-rule { padding: 18px; border-radius: 16px; background: rgba(255, 255, 255, .03); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .07); }
.os-rule h3 { margin: 0; font-size: 16px; font-weight: 750; color: var(--t-text, #f2f6f4); }
.os-rule p { margin: 8px 0 0; font-size: 14px; line-height: 1.55; color: var(--t-text-2, #b7c2bc); }
.os-rule time { display: inline-block; margin-top: 10px; font: 700 13px/1 var(--font-data); color: var(--t-accent, #55f2b2); }
@media (max-width: 980px) { .os-cards { grid-template-columns: 1fr; } .os-rules { grid-template-columns: 1fr; } }
@media (max-width: 640px) {
  .os-row { grid-template-columns: 1fr auto; gap: 6px 10px; }
  .os-when { grid-column: 1; } .os-res { grid-column: 2; grid-row: 1; justify-self: end; }
  .os-what, .os-votes { grid-column: 1 / -1; }
  .os-rate b { font-size: 40px; }
}

/* ── КОМНАТА ТЕСТИРОВЩИКА ────────────────────────────────────────────────────
   Полоса и кнопка живут НАД содержимым, но не над нижним меню: то же правило
   --am-nav-space, что у знакомства. Тестировщику меню нужнее всех — он ходит по
   экранам весь день. */
/* ОДНА СТРОКА ФИКСИРОВАННОЙ ВЫСОТЫ. Полоса сдвигает шапку ровно на свою высоту, поэтому
   высота обязана быть известна заранее: перенос текста на вторую строку на узком экране
   уводил шапку под полосу — видно на первом же снимке с телефона. */
.tester-strip {
  --tester-strip-h: 32px;
  z-index: 95;
  color: #0c0f0e;
  background: linear-gradient(90deg, #ffd166, #ffb703);
  align-items: center;
  gap: 8px;
  height: var(--tester-strip-h);
  padding: 0 12px;
  font-size: 12px;
  white-space: nowrap;
  display: flex;
  position: fixed;
  top: 0;
  left: 0;
  right: 0
}

.tester-strip b { letter-spacing: .08em; font-size: 11px; font-weight: 850 }

.tester-strip span {
  text-overflow: ellipsis;
  min-width: 0;
  overflow: hidden;
  font-weight: 700
}

.tester-strip small { color: #0c0f0eb3; margin-left: auto; font-size: 11px }

@media (width<=620px) { .tester-strip small { display: none } }

/* Полоса занимает верх — сдвигаем шапку, иначе она перекроет уведомления и аватар. */
.app:has(.tester-strip) .app-head { margin-top: 32px }

.tester-call {
  margin-left: auto;
  color: #0c0f0e;
  cursor: pointer;
  background: #0c0f0e14;
  border: 1px solid #0c0f0e3d;
  border-radius: 999px;
  padding: 5px 12px;
  font-size: 13px;
  font-weight: 700;
  flex: none
}

.tester-form {
  z-index: 97;
  background: var(--t-surface, #0e1413);
  color: var(--t-text, #f2f6f4);
  border: 1px solid #ffb70359;
  border-radius: 16px;
  flex-direction: column;
  gap: 8px;
  width: min(420px, calc(100vw - 24px));
  padding: 14px;
  display: flex;
  position: fixed;
  right: 12px;
  bottom: calc(12px + var(--am-nav-space));
  box-shadow: 0 18px 50px #000000a6
}

.tester-form header { justify-content: space-between; align-items: center; display: flex }
.tester-form header b { color: var(--t-text); font-size: 16px }

.tester-form header button {
  color: var(--t-text-3, #8b968f);
  cursor: pointer;
  background: 0 0;
  border: 0;
  padding: 0 4px;
  font-size: 22px
}

.tester-form textarea {
  color: var(--t-text);
  resize: vertical;
  background: #ffffff0a;
  border: 1px solid #ffffff1f;
  border-radius: 10px;
  padding: 10px;
  font: inherit;
  font-size: 14px
}

.tester-form small { color: var(--t-text-3, #7f8a84); font-size: 11.5px }
.tester-err { color: #ff8f7a; margin: 0; font-size: 13px }
.tester-done { color: #7ce7b6; margin: 0; font-size: 14px }

.tester-send {
  color: #0c0f0e;
  cursor: pointer;
  background: linear-gradient(180deg, #ffd166, #ffb703);
  border: 0;
  border-radius: 10px;
  height: 42px;
  font-size: 14.5px;
  font-weight: 800
}

.tester-send:disabled { opacity: .5; cursor: default }

/* ── РАЗБОР ПО СТРАТЕГИИ: КРУЖОК ОСТАЁТСЯ КРУЖКОМ ───────────────────────────
   «Галочки очень сплюснуты, текст бы выровнять и в белый» — находка тестировщика 19.09.
   Кружок стоял в строке flex без запрета на сжатие: чем длиннее текст пункта, тем сильнее
   он сплющивался в овал. Плюс кружок центрировался по всей высоте четырёх строк, из-за
   чего висел посередине абзаца, а не у его начала. И цвет непройденного пункта был темнее
   фона настолько, что читался как выключенный. */
.analysis-checks > span:not(#am-check) {
  align-items: flex-start;
  color: var(--t-text-3)
}

.analysis-checks > span.done:not(#am-check) { color: var(--t-text) }

.analysis-checks > span > i:not(#am-check) {
  flex: 0 0 19px;
  margin-top: 1px
}

/* ПЕРЕКЛЮЧАТЕЛИ ОФОРМЛЕНИЯ — сегменты одной дорожки: выбранный заметен сразу.
   Второй ряд («Светлая / Тёмная») есть только у мира с двумя вариантами. */
:is(.profile-pop-look, .profile-look) .look-switch:not(#am-look) {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4px;
  padding: 4px;
  margin-top: 8px;
  border-radius: 12px;
  background: rgba(var(--t-border-rgb, 255, 255, 255), .07);
  border: 1px solid rgba(var(--t-border-rgb, 255, 255, 255), .1)
}

:is(.profile-pop-look, .profile-look) .look-switch > button:not(#am-look) {
  min-height: 36px;
  padding: 6px 8px;
  border-radius: 9px;
  border: 0;
  background: transparent;
  color: var(--t-text-2, #cdd6d1);
  font-size: 13px;
  font-weight: 600;
  cursor: pointer
}

:is(.profile-pop-look, .profile-look) .look-switch > button.on:not(#am-look) {
  background: var(--t-accent, #55f2b2);
  color: var(--t-ink, #06110d)
}

:is(.profile-pop-look, .profile-look) .look-switch > button:focus-visible:not(#am-look) {
  outline: 2px solid var(--t-accent, #55f2b2);
  outline-offset: 2px
}

/* Подпись под переключателем оформления: человек должен узнавать свой же выбор. */
.profile-pop-look .look-why:not(#am-look) {
  color: var(--t-text-3, #8b968f);
  margin: 8px 0 0;
  font-size: 12.5px;
  line-height: 1.4
}

/* ── «БЫЛО ПОНЯТНО?» ПОСЛЕ УРОКА ────────────────────────────────────────────
   Тестировщики искали, где поставить реакцию, и не находили: вопрос жил на сервере,
   но экран его не задавал. */
.lesson-rate:not(#am-rate) {
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin: 10px 0 14px;
  display: flex
}

.lesson-rate > span:not(#am-rate) { color: var(--t-text-2, #b7c2bc); font-size: 14px }

.lesson-rate > button:not(#am-rate) {
  color: var(--t-text);
  cursor: pointer;
  background: #ffffff0f;
  border: 1px solid #ffffff24;
  border-radius: 999px;
  padding: 7px 15px;
  font-size: 14px
}

.lesson-rate > button:not(#am-rate):hover { background: #ffffff1c }

.lesson-thanks:not(#am-rate) {
  color: var(--t-text-3, #8b968f);
  margin: 10px 0 14px;
  font-size: 13.5px
}

/* ── ВОПРОСЫ ПОД УРОКОМ ──────────────────────────────────────────────────────
   Вопрос, заданный здесь, отвечает всем следующим — поэтому блок стоит на самом уроке,
   а не в общем чате, где урока уже не видно. */
.lesson-talk:not(#am-talk) {
  border-top: 1px solid #ffffff14;
  margin-top: 26px;
  padding-top: 18px
}

.lesson-talk > h3:not(#am-talk) { color: var(--t-text); margin: 0 0 12px; font-size: 17px }

.lesson-talk-empty:not(#am-talk) {
  color: var(--t-text-3, #8b968f);
  margin: 0 0 14px;
  font-size: 14px;
  line-height: 1.45
}

.lesson-talk-list:not(#am-talk) {
  flex-direction: column;
  gap: 10px;
  margin: 0 0 14px;
  padding: 0;
  list-style: none;
  display: flex
}

.lesson-talk-list > li:not(#am-talk) {
  background: #ffffff08;
  border: 1px solid #ffffff14;
  border-radius: 12px;
  padding: 11px 13px
}

.lesson-talk-list > li.team:not(#am-talk) {
  background: var(--accent-soft, #55e6b214);
  border-color: var(--accent-border, #55e6b23d)
}

.lesson-talk-list b:not(#am-talk) { color: var(--t-text); font-size: 14px }
.lesson-talk-list small:not(#am-talk) { color: var(--t-text-3, #7f8a84); margin-left: 8px; font-size: 12px }
.lesson-talk-list p:not(#am-talk) { color: var(--t-text-2, #b7c2bc); margin: 5px 0 0; font-size: 14.5px; line-height: 1.5 }

.lesson-talk-reply:not(#am-talk) {
  color: var(--accent, #55e6b2);
  cursor: pointer;
  background: 0 0;
  border: 0;
  margin-top: 6px;
  padding: 0;
  font-size: 13.5px
}

.lesson-talk-form:not(#am-talk) { flex-direction: column; gap: 8px; display: flex }

/* ПОЛЕ ДОЛЖНО ВЫГЛЯДЕТЬ ПОЛЕМ. На мире ступени (зима ОТС) прозрачная заливка сливалась с
   узором фона, и набранный текст висел в воздухе — на снимке владельца 19.09 это первое,
   что бросается в глаза. Заливка теперь плотная и своя, а не «чуть светлее фона». */
.lesson-talk-form textarea:not(#am-talk) {
  color: var(--t-text);
  resize: vertical;
  background: var(--t-bg);
  border: 1px solid rgba(var(--t-text-rgb), .22);
  border-radius: 12px;
  min-height: 74px;
  padding: 12px;
  font: inherit;
  font-size: 15px;
  line-height: 1.45
}

.lesson-talk-form textarea:not(#am-talk)::placeholder { color: var(--t-text-3) }

.lesson-talk-form textarea:not(#am-talk):focus {
  border-color: #ffffff5c;
  outline: none
}

.lesson-talk-form > button:not(#am-talk) {
  color: var(--accent-ink, #06110d);
  cursor: pointer;
  background: linear-gradient(180deg, var(--accent-2, #7cf0c6), var(--accent, #55e6b2));
  border: 0;
  border-radius: 10px;
  align-self: flex-start;
  padding: 10px 18px;
  font-size: 14.5px;
  font-weight: 700
}

.lesson-talk-form > button:disabled:not(#am-talk) { opacity: .5; cursor: default }

.lesson-talk-to:not(#am-talk) { color: var(--t-text-3, #8b968f); margin: 0; font-size: 13px }

.lesson-talk-to > button:not(#am-talk) {
  color: var(--accent, #55e6b2);
  cursor: pointer;
  background: 0 0;
  border: 0;
  padding: 0;
  font-size: 13px
}

/* ОТКАЗ — СТРОКА, А НЕ ПЛАКАТ. Крупный оранжевый абзац посреди формы читался как авария;
   это обычное правило публикации, и говорить его надо спокойно. */
.lesson-talk-err:not(#am-talk) {
  color: #ffc9a8;
  background: #ff8f7a1f;
  border-left: 2px solid #ff8f7a80;
  border-radius: 0 8px 8px 0;
  margin: 0;
  padding: 8px 10px;
  font-size: 13px;
  line-height: 1.4
}


/* ── НИЖНЕЕ МЕНЮ ЧИТАЕТСЯ В ЛЮБОМ МИРЕ ──────────────────────────────────────
   У зимних ступеней панель меню сделана из материала мира: по ней идут белые линии
   узора. На снимке владельца 19.09 они пересекали подписи «Сегодня», «Сигналы»,
   «Обучение» — подписи было не прочитать. Узор остаётся, но под каждой подписью теперь
   своя тёмная подложка: мир виден, а прочитать меню можно. */
.app[data-look="level"] .mobile-nav button:not(#am-nav) {
  position: relative;
  isolation: isolate
}

.app[data-look="level"] .mobile-nav button:not(#am-nav) > span {
  z-index: 1;
  background: var(--e-navlabel-scrim, #070b0fbf);
  border-radius: 6px;
  padding: 1px 5px;
  position: relative
}

.app[data-look="level"] .mobile-nav button:not(#am-nav) > svg {
  z-index: 1;
  position: relative
}

/* Кнопка находки висит над правым нижним углом и на узких экранах накрывала то, что там
   оказалось — на снимке она легла прямо на строку отказа. Страница получает под неё
   запас высоты, и любой элемент можно докрутить выше кнопки. */
/* Запас высоты под плавающую кнопку больше не нужен: кнопка уехала в полосу и ничего
   не закрывает. Оставлять его значило бы держать на телефоне дыру в полэкрана снизу. */

/* Кнопка «Продолжить: <урок>»: глагол и стрелка не сжимаются, длинное название урока
   уходит в многоточие. Раньше надпись обрезалась краем кнопки на полуслове. */
.learn-head [data-slot="button"]:not(#am-learn) { max-width: 100%; overflow: hidden }
.learn-head .learn-next-word:not(#am-learn) { flex: none }

.learn-head .learn-next-title:not(#am-learn) {
  text-overflow: ellipsis;
  min-width: 0;
  overflow: hidden;
  white-space: nowrap
}

/* ═══ УРОК КАК РАЗБОР ОДНОЙ МЫСЛИ (владелец 20.09) ═══════════════════════════
   Раньше все блоки урока были одинаковыми абзацами — и «зачем мне это», и главная
   мысль, и шаги. Одинаковый вес = нет иерархии = человек читает всё подряд или ничего.
   Здесь у каждой роли своя форма: зачем — тише основного текста, главная мысль — крупно
   и с цветной кромкой, шаги — нумерованный список, «запомни» — одна выделенная строка.
   Ничего не уменьшаем ради вместимости: лишний текст ушёл под «Полный разбор». */
.lesson-why:not(#am-l) {
  color: var(--t-text-3);
  font-size: 15px;
  margin: 0 0 14px;
}
.lesson-main:not(#am-l) {
  margin: 0 0 18px;
  padding: 14px 16px;
  border-left: 3px solid var(--t-accent);
  border-radius: 0 12px 12px 0;
  background: rgba(var(--t-accent-rgb), .07);
  font-size: 19px;
  line-height: 1.4;
}
.lesson-main b:not(#am-l) { font-weight: 650 }

.lesson-show:not(#am-l) {
  list-style: none;
  margin: 0 0 18px;
  padding: 0;
  display: grid;
  gap: 10px;
  counter-reset: ls;
}
.lesson-show > li:not(#am-l) {
  counter-increment: ls;
  position: relative;
  padding: 12px 14px 12px 46px;
  border: 1px solid rgba(var(--t-text-rgb), .12);
  border-radius: 14px;
}
.lesson-show > li:not(#am-l)::before {
  content: counter(ls);
  position: absolute;
  left: 14px;
  top: 12px;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  font: 700 12px/1 var(--font-ui);
  color: var(--t-ink);
  background: var(--t-accent);
}
.lesson-show > li > b:not(#am-l) { display: block; font-size: 16px; margin-bottom: 4px }
.lesson-show > li > span:not(#am-l) { color: var(--t-text-2); font-size: 15px; line-height: 1.5 }

.lesson-steps:not(#am-l) { margin: 0 0 18px }
/* Заголовок шага — обычными буквами: капсом он кричит там, где должен просто называть. */
.lesson-steps > h2:not(#am-l) {
  font-size: 17px;
  margin: 0 0 10px;
  text-transform: none;
  letter-spacing: 0;
  color: var(--t-text);
}
/* Нумерация рисуется своя: в кабинете у списков сброшен маркер, и шаги шли без чисел —
   «1 · 2 · 3» на экране не было, хотя порядок и есть весь смысл шага. */
.lesson-steps ol:not(#am-l) {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 10px;
  counter-reset: lst;
}
.lesson-steps li:not(#am-l) {
  counter-increment: lst;
  position: relative;
  padding-left: 34px;
  font-size: 16px;
  line-height: 1.45;
}
.lesson-steps li:not(#am-l)::before {
  content: counter(lst);
  position: absolute;
  left: 0;
  top: 1px;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  font: 700 12px/1 var(--font-ui);
  color: var(--t-ink);
  background: var(--t-accent);
}
.lesson-rule:not(#am-l) {
  margin: 12px 0 0;
  font-size: 15px;
  color: var(--t-text-2);
}
.lesson-remember:not(#am-l) {
  margin: 0 0 18px;
  padding: 12px 14px;
  border-radius: 12px;
  background: rgba(var(--t-text-rgb), .06);
  font-size: 16px;
}
.lesson-full:not(#am-l) { margin: 0 0 8px }
.lesson-full > summary:not(#am-l) {
  list-style: none;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 10px 0;
  font: 600 15px/1 var(--font-ui);
  color: var(--t-accent);
}
.lesson-full > summary::-webkit-details-marker { display: none }
.lesson-full > summary:not(#am-l)::after { content: "▾"; font-size: 12px }
.lesson-full[open] > summary:not(#am-l)::after { content: "▴" }

/* ═══ СТРАТЕГИЯ — ПОСЛЕДОВАТЕЛЬНОСТЬ, А НЕ ТРИ КОЛОНКИ ══════════════════════
   Три ячейки по 102 px на телефоне, и в каждой — целое предложение автора: 27 слов в
   столбик, обрезанных по краю. Колонки рисовались под короткие чипы («Сканирует рынок»),
   а живые данные принесли туда правила целиком. Здесь у каждого шага своя строка во всю
   ширину, триггер назван один раз, направления — две плашки цветом. */
.strategy-steps:not(#am-s) {
  list-style: none;
  margin: 14px 0 0;
  padding: 0;
  display: grid;
  gap: 10px;
  counter-reset: st;
}
.strategy-steps > li:not(#am-s) {
  counter-increment: st;
  position: relative;
  padding: 12px 14px 12px 44px;
  border: 1px solid rgba(var(--t-text-rgb), .12);
  border-radius: 14px;
  text-align: left;
}
.strategy-steps > li:not(#am-s)::before {
  content: counter(st);
  position: absolute;
  left: 13px;
  top: 12px;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  font: 700 12px/1 var(--font-ui);
  color: var(--t-ink);
  background: var(--t-accent);
}
.strategy-steps > li.skip:not(#am-s)::before { content: "×"; background: rgba(var(--t-text-rgb), .25) }
.strategy-steps small:not(#am-s) {
  display: block;
  font-size: 11px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--t-text-3);
  margin-bottom: 4px;
}
.strategy-steps b:not(#am-s) { font-weight: 500; font-size: 15px; line-height: 1.45 }
.strategy-dirs:not(#am-s) { display: grid; gap: 8px }
.strategy-dirs em:not(#am-s) {
  font-style: normal;
  font-weight: 650;
  font-size: 15px;
  padding: 9px 12px;
  border-radius: 10px;
}
.strategy-dirs em.up:not(#am-s) { background: rgba(47, 200, 130, .14); color: #2fc882 }
.strategy-dirs em.down:not(#am-s) { background: rgba(230, 80, 90, .14); color: #e6505a }
.strategy-unmeasured:not(#am-s) {
  margin: 12px 0 0;
  font-size: 13px;
  line-height: 1.45;
  color: var(--t-text-3);
}
.generator-hint:not(#am-s) {
  grid-column: 1 / -1;
  margin: 0 0 4px;
  font-size: 14px;
  color: var(--t-text-3);
}

/* Тихая строка доверия под кнопкой испытания: объяснение не должно стоять на пути
   действия, ради которого человек открыл экран. */
.ch-trust:not(#am-ch) {
  display: block;
  margin-top: 10px;
  font-size: 13px;
  color: var(--t-text-3);
}

/* Исход закрывшегося сигнала: цвет — сообщение, а его СВЕТЛОТА зависит от того, на чём
   он лежит. На тёмном экране мята читается, на белой бумаге даёт контраст 1.5. Поэтому
   значения живут здесь, а светлый мир их опускает (product.worlds.css). */
.rs-outcome:not(#am-rs) {
  color: var(--am-win, #37e29a);
  border: 1px solid color-mix(in srgb, var(--am-win, #37e29a) 34%, transparent);
}
.rs-outcome.loss:not(#am-rs) {
  color: var(--am-loss, #ff6b6b);
  border-color: color-mix(in srgb, var(--am-loss, #ff6b6b) 34%, transparent);
}
.rs-outcome.none:not(#am-rs) {
  color: var(--t-text-3);
  border-color: rgba(var(--t-text-rgb), .22);
}

/* ═══ ПРОХОЖДЕНИЕ УРОКА: ОДИН ЭКРАН — ОДНА МЫСЛЬ ════════════════════════════
   Владелец 20.09: «мы взяли хорошие посты из Telegram и положили их на сайт». Здесь
   намеренно МЕНЬШЕ информации одновременно и КРУПНЕЕ текст: экран не пытается вместить
   определение, объяснение, пример и вопрос сразу. Одна яркая кнопка внизу — следующий
   шаг; ничего, что спорило бы с ней за внимание. */
.lesson-flow:not(#am-lf) { display: grid; gap: 16px; padding-bottom: 8px }
.lf-progress:not(#am-lf) {
  height: 4px;
  border-radius: 999px;
  background: rgba(var(--t-text-rgb), .12);
  overflow: hidden;
}
.lf-progress > span:not(#am-lf) {
  display: block;
  height: 100%;
  border-radius: 999px;
  background: var(--t-accent);
  transition: width .3s ease;
}
.lf-step:not(#am-lf) {
  margin: 0;
  font-size: 13px;
  letter-spacing: .04em;
  color: var(--t-text-3);
}
.lf-title:not(#am-lf) { margin: 0; font-size: 24px; line-height: 1.2; font-weight: 700 }
.lf-main:not(#am-lf) { margin: 0; font-size: 18px; line-height: 1.45 }
.lf-sub:not(#am-lf) { margin: 0; font-size: 16px; line-height: 1.5; color: var(--t-text-2) }

/* Схема — не украшение: она занимает заметную часть экрана, иначе на неё не смотрят. */
.lesson-visual:not(#am-lf) { margin: 0; display: grid; gap: 6px }
.lesson-visual svg:not(#am-lf) {
  /* РИСУНОК НЕ РАСТЯГИВАЕТСЯ ДО ШИРИНЫ КОЛОНКИ (25.09).

     Амир, снимок термина «Сопротивление»: «мне не нравится вот такое большое отображение,
     вот текст маленький например, открываешь какую-то из этих штук и она вылетает на весь
     экран… нужно как-то компактно сделать».

     Схема нарисована в системе 200×92 единиц — три пары свечей и зона. При `width: 100%`
     она разворачивалась на всю ширину страницы, то есть свеча толщиной в палец и подпись
     кеглем 11 рядом. Больше пикселей не добавляет схеме ни одной детали: она ровно та же,
     только крупнее. Предел 520px — та ширина, на которой её элементы читаются, а страница
     не превращается в плакат. */
  width: 100%;
  max-width: 520px;
  margin-inline: auto;
  height: auto;
  aspect-ratio: 200 / 92;
  border-radius: 14px;
  background: rgba(var(--t-text-rgb), .05);
  border: 1px solid rgba(var(--t-text-rgb), .10);
}
.lesson-visual figcaption:not(#am-lf) {
  font-size: 11px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--t-text-3);
}
.lv-price:not(#am-lf) { fill: none; stroke: var(--t-text); stroke-width: 1.8; stroke-linejoin: round; stroke-linecap: round }
.lv-zone:not(#am-lf) { fill: rgba(34, 192, 122, .22) }
.lv-zone.down:not(#am-lf) { fill: rgba(226, 84, 79, .22) }
.lv-thin:not(#am-lf) { stroke: rgba(var(--t-text-rgb), .45); stroke-width: .8; stroke-dasharray: 3 3 }
.lv-arrow:not(#am-lf) { stroke: #22c07a; stroke-width: 1.4 }
.lv-arrow.down:not(#am-lf) { stroke: #e2544f }
.lv-label:not(#am-lf) { font: 700 7px/1 var(--font-ui); fill: var(--t-text-2); letter-spacing: .06em }
.lv-label.up:not(#am-lf) { fill: #1c9c62 }
.lv-label.down:not(#am-lf) { fill: #c4423d }
.lv-dot:not(#am-lf) { fill: #22c07a }
.lv-dot-n:not(#am-lf) { font: 700 5px/1 var(--font-ui); fill: #04160d; text-anchor: middle }

/* Проверка себя: вопрос по тому, что ТОЛЬКО ЧТО показали, а не по формулировке. */
.lf-check:not(#am-lf) { display: grid; gap: 10px }
.lf-check > button:not(#am-lf) {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  width: 100%;
  padding: 14px 16px;
  border-radius: 14px;
  border: 1px solid rgba(var(--t-text-rgb), .16);
  background: transparent;
  color: inherit;
  font: 600 16px/1.3 var(--font-ui);
  text-align: left;
  cursor: pointer;
}
.lf-check > button.ok:not(#am-lf) { border-color: #22c07a; background: rgba(34, 192, 122, .12) }
.lf-check > button.no:not(#am-lf) { border-color: #e2544f; background: rgba(226, 84, 79, .10) }
.lf-check > button.dim:not(#am-lf) { opacity: .45 }
.lf-check > button svg:not(#am-lf) { width: 18px; height: 18px; flex: none; color: #22c07a }
.lf-why:not(#am-lf) { margin: 0; font-size: 15px; color: var(--t-text-2) }

/* ГЛАВНАЯ КНОПКА ШАГА ВСЕГДА ПОД РУКОЙ. На снимке шестого шага «Далее» оказалась ниже
   экрана: ответ на вопрос дописывает объяснение, и кнопка уезжала под нижнее меню —
   человек, ответивший правильно, упирался в тупик и должен был догадаться прокрутить.
   Кнопка липнет над меню, а содержимому добавлен запас снизу, чтобы она ничего не
   закрывала. Это не украшение: в пошаговом уроке следующий шаг — единственное действие. */
.lesson-flow:not(#am-lf) { padding-bottom: calc(var(--am-nav-space, 0px) + 12px) }
/* Кнопка шага стоит В КОНЦЕ ШАГА, как точка в конце предложения. Плавающая полоса,
   которую я пробовал дважды, решала «действие всегда видно» ценой «текст не дочитать»:
   независимый проверяющий трижды читал обрывки фраз и не понимал, кончился экран или нет.
   Шаг короткий, кнопка идёт сразу за содержимым, а запас под нижним меню у страницы есть. */
.lesson-flow > [data-slot="button"]:not(#am-lf) { width: 100%; margin-top: 4px }

.lesson-body:has(.lesson-flow[data-step]:not([data-step="1"])) > h1:not(#am-lf) {
  font-size: 17px;
  line-height: 1.25;
  margin-bottom: 2px;
}
.lesson-body:has(.lesson-flow[data-step]:not([data-step="1"])) > .lesson-meta:not(#am-lf) {
  display: none;
}

@media (min-width: 761px) {
  .lesson-flow:not(#am-lf) { padding-bottom: 8px }
  .lesson-flow > [data-slot="button"]:not(#am-lf) { width: auto }
}
.lv-split:not(#am-lf) { stroke: rgba(var(--t-text-rgb), .18); stroke-width: 1 }
.lv-note:not(#am-lf) { font: 500 5.4px/1 var(--font-ui); fill: var(--t-text-3) }
/* Подпись, привязанная к месту на рисунке: размер в единицах схемы (ширина 200), пол шрифта её не трогает. */
.lv-tag:not(#am-lf) { font: 600 6.4px/1 var(--font-ui); fill: var(--t-text-2) }
/* Подписи под схемой — обычный текст: колонки под половинами рисунка, перенос вместо наезда (12.10). */
.lesson-visual .lv-legend { display: grid; gap: 4px 12px; margin: 6px 4px 0; font: 500 13px/1.35 var(--font-ui);
  color: var(--t-text-2); }
.lesson-visual .lv-legend > span { min-width: 0; overflow-wrap: anywhere; }
.lv-candle line:not(#am-lf) { stroke-width: 1 }
.lv-price.second:not(#am-lf) { stroke: var(--t-accent); stroke-dasharray: 4 3 }
.lv-candle.up line:not(#am-lf), .lv-candle.up rect:not(#am-lf) { stroke: #22c07a; fill: #22c07a }
.lv-candle.down line:not(#am-lf), .lv-candle.down rect:not(#am-lf) { stroke: #e2544f; fill: #e2544f }

/* ОКНА ВЫШЕ НИЖНЕГО МЕНЮ. С 21.09 окна живут внутри кабинета (так их красит мир
   ступени), и нижнее меню (z-index 100) легло поверх окна, закрыв кнопку «Понятно».
   В корне страницы окно было выше всего само собой; внутри кабинета — объявлено явно. */
.app [data-slot="dialog-overlay"]:not(#am-dlg),
.app [data-slot="dialog-content"]:not(#am-dlg) { z-index: 200 !important; }

/* ПОЛЯ ВВОДА НА ТЕЛЕФОНЕ — НЕ МЕЛЬЧЕ 16px. iPhone приближает страницу, как только
   курсор встаёт в поле с шрифтом мельче 16px, и сам обратно не отдаляет: текст уходит за
   край экрана («сайт как будто зумит»). Поля «Помощи» (15px), «Чатов» (15.5px) и «Нашёл
   баг» (14px) делали это; «Помощь» ставит курсор в поле сама при выборе раздела — зум
   случался без единого нажатия на поле. Правило одно на все поля, а не на три найденных. */
@media (pointer: coarse), (max-width: 760px) {
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
  textarea,
  select { font-size: 16px !important; }
}

/* ── ГЕНЕРАТОР СДЕЛКИ (21.09) ─────────────────────────────────────────────────
   Картинка вместо текста: правило рисунком, стрелка направления, таймер входа, три
   настоящие свечи. Цвета — из мира ступени; вверх/вниз — смысловые, вне темы. */
.app, .gen:not(#am-gen) {
  --gen-up: var(--am-win, #1fbf7a);
  --gen-down: var(--am-loss, #e0485a);
}
.gen:not(#am-gen) {
  display: grid;
  gap: 16px;
  justify-items: center;
  text-align: center;
  padding: 22px 18px;
  border-radius: 22px;
  background: var(--t-surface, #10171a);
  border: 1px solid rgba(var(--t-border-rgb, 255, 255, 255), calc(.1 * var(--t-border-k, 1)));
  color: var(--t-text, #f2f6f4);
}
.gen-head:not(#am-gen) { display: grid; gap: 4px; }
.gen-head small:not(#am-gen) { color: var(--t-text-3); font-size: 12.5px; letter-spacing: .08em; text-transform: uppercase; }
.gen:not(#am-gen) h2 { margin: 0; font-size: 26px; line-height: 1.15; color: var(--t-text); text-wrap: balance; }
.gen:not(#am-gen) > p { margin: 0; color: var(--t-text-2); font-size: 15px; line-height: 1.45; max-width: 34ch; }

.gen-rule:not(#am-gen) { margin: 0; display: grid; gap: 6px; justify-items: center; width: 100%; max-width: 300px; }
.gen-rule:not(#am-gen) svg { width: 100%; height: auto; }
.gen-rule:not(#am-gen) figcaption, .gen-real:not(#am-gen) figcaption { color: var(--t-text-3); font-size: 13px; }
.gen-rule-line { stroke: var(--t-text-3); stroke-dasharray: 4 4; stroke-width: 1.2; }
.gen-rule-n { fill: var(--t-text-3); font-size: 11px; text-anchor: middle; font-weight: 700; }
.gen-rule-arrow { fill: none; stroke: var(--gen-up); stroke-width: 4; stroke-linecap: round; stroke-linejoin: round; }
.gen-rule-go { fill: var(--gen-up); font-size: 13px; font-weight: 800; text-anchor: middle; }
.gen-c line { stroke-width: 2; }
.gen-c.up line { stroke: var(--gen-up); } .gen-c.up rect { fill: var(--gen-up); }
.gen-c.down line { stroke: var(--gen-down); } .gen-c.down rect { fill: var(--gen-down); }

.gen-pairs:not(#am-gen) { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; }
/* ВЫБОР ПАРЫ — СВЁРНУТОЙ СТРОКОЙ ПОД ГЛАВНОЙ КНОПКОЙ (29.09). Строка похожа на тихую
   ссылку, а не на вторую кнопку: главное действие экрана одно, «Найти сделку». */
.gen-pairs-box:not(#am-gen) { width: 100%; }
.gen-pairs-box > summary:not(#am-gen) {
  list-style: none; cursor: pointer; text-align: center; padding: 10px 12px; min-height: 44px;
  display: flex; align-items: center; justify-content: center; gap: 6px;
  font-size: 14px; color: var(--t-text-2);
}
.gen-pairs-box > summary::-webkit-details-marker { display: none; }
.gen-pairs-box > summary > b:not(#am-gen) { color: var(--t-text); font-weight: 650; }
.gen-pairs-box > summary > small:not(#am-gen) {
  color: var(--t-accent); font-size: 13px; text-decoration: underline; text-underline-offset: 3px;
}
.gen-pairs-box[open] > summary > small:not(#am-gen) { visibility: hidden; }
.gen-pairs-box[open] > .gen-pairs:not(#am-gen) { margin-top: 4px; }
.gen-pairs > button:not(#am-gen) {
  min-height: 40px; padding: 8px 14px; border-radius: 999px; font-size: 14px; font-weight: 650;
  display: inline-flex; align-items: center; gap: 7px;
  color: var(--t-text-2); background: transparent; cursor: pointer;
  border: 1px solid rgba(var(--t-border-rgb, 255, 255, 255), calc(.16 * var(--t-border-k, 1)));
}
.gen-pairs > button.on:not(#am-gen) { background: var(--t-accent); color: var(--t-ink, #fff); border-color: transparent; }
.gen-pairs > button:disabled:not(#am-gen) { cursor: default; }
.gen-pairs > button > i { width: 8px; height: 8px; border-radius: 50%; background: var(--t-text-3); }
.gen-pairs > button.st-watch > i { background: var(--t-accent); animation: gen-pulse 1.6s ease-in-out infinite; }
.gen-pairs > button.st-off > i { background: transparent; border: 1px solid var(--t-text-3); }

.gen-go:not(#am-gen) { width: 100%; min-height: 56px; font-size: 18px !important; border-radius: 16px; }
.gen-wait:not(#am-gen) { color: var(--t-text-3) !important; font-size: 14px !important; }

.gen-radar:not(#am-gen) { position: relative; width: 120px; height: 120px; }
.gen-radar > i {
  position: absolute; inset: 0; border-radius: 50%;
  border: 2px solid var(--t-accent); opacity: 0;
  animation: gen-ring 2.4s ease-out infinite;
}
.gen-radar > i:nth-child(2) { animation-delay: .8s; }
.gen-radar > i:nth-child(3) { animation-delay: 1.6s; }
@keyframes gen-ring { 0% { transform: scale(.2); opacity: .9; } 100% { transform: scale(1); opacity: 0; } }
@keyframes gen-pulse { 50% { opacity: .35; } }

.gen-trade-top:not(#am-gen) { display: flex; gap: 10px; align-items: center; justify-content: center; flex-wrap: wrap; }
.gen-pair:not(#am-gen) { font-size: 30px; letter-spacing: .01em; color: var(--t-text); }
.gen-chip:not(#am-gen) {
  padding: 6px 12px; border-radius: 999px; font-size: 13.5px; font-weight: 650; color: var(--t-text-2);
  border: 1px solid rgba(var(--t-border-rgb, 255, 255, 255), calc(.16 * var(--t-border-k, 1)));
}
.gen-arrow:not(#am-gen) { display: grid; justify-items: center; gap: 2px; }
.gen-arrow > span { font-size: 92px; line-height: .9; font-weight: 800; }
.gen-arrow > b { font-size: 26px; letter-spacing: .12em; }
.gen-trade.up .gen-arrow { color: var(--gen-up); }
.gen-trade.down .gen-arrow { color: var(--gen-down); }
.gen-trade.up:not(#am-gen) { box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--gen-up) 45%, transparent); }
.gen-trade.down:not(#am-gen) { box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--gen-down) 45%, transparent); }

.gen-timer:not(#am-gen) {
  width: 108px; height: 108px; border-radius: 50%; display: grid; place-content: center; gap: 0;
  background: conic-gradient(var(--t-accent) calc(var(--p, 100) * 1%), rgba(var(--t-border-rgb, 255, 255, 255), .12) 0);
  position: relative;
}
.gen-timer:not(#am-gen)::before { content: ""; position: absolute; inset: 7px; border-radius: 50%; background: var(--t-surface, #10171a); }
.gen-timer > * { position: relative; }
.gen-timer > b { font-size: 36px; line-height: 1; color: var(--t-text); font-variant-numeric: tabular-nums; }
.gen-timer > small { font-size: 12px; color: var(--t-text-3); }
.gen-late:not(#am-gen) { color: var(--gen-down) !important; font-weight: 650; }

.gen-real:not(#am-gen) { margin: 0; display: grid; gap: 4px; justify-items: center; }
.gen-real svg { width: 160px; height: auto; }
.gen-actions:not(#am-gen) { display: grid; gap: 10px; width: 100%; }
.gen-broker:not(#am-gen) {
  min-height: 54px; border-radius: 16px; display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  background: var(--t-accent); color: var(--t-ink, #fff); font-weight: 750; font-size: 17px; text-decoration: none;
}
.gen-locked .gen-lock-icon, .gen-quiet .gen-quiet-icon {
  width: 64px; height: 64px; border-radius: 20px; display: grid; place-items: center; font-size: 30px;
  background: rgba(var(--t-accent-rgb, 85, 242, 178), .14); color: var(--t-accent);
}
.gen-locked .gen-lock-icon svg { width: 28px; height: 28px; }
.gen-locked > button:not(#am-gen) { width: 100%; min-height: 52px; }
@media (prefers-reduced-motion: reduce) { .gen-radar > i, .gen-pairs > button > i { animation: none !important; opacity: .6; } }

/* ── «СЕГОДНЯ» КАРТИНКОЙ (21.09) ──────────────────────────────────────────────
   Одна мысль — одна плитка. Кольца, стрелки и полосы вместо абзацев. */
.today-hub .tv-deal:not(#am-tv),
.today-hub .tv-ladder:not(#am-tv),
.today-hub .tv-learn:not(#am-tv),
.today-hub .tv-mission:not(#am-tv) {
  width: 100%;
  text-align: left;
  border-radius: 20px;
  padding: 16px;
  background: var(--t-surface, #10171a);
  border: 1px solid rgba(var(--t-border-rgb, 255, 255, 255), calc(.1 * var(--t-border-k, 1)));
  color: var(--t-text);
  font: inherit;
}
.today-hub .tv-deal:not(#am-tv) {
  display: grid; grid-template-columns: 64px 1fr 22px; align-items: center; gap: 14px; cursor: pointer;
  background: linear-gradient(135deg, rgba(var(--t-accent-rgb, 85, 242, 178), .16), var(--t-surface, #10171a) 70%);
  border-color: rgba(var(--t-accent-rgb, 85, 242, 178), .35);
  min-height: 92px;
}
.tv-deal-pic { width: 64px; height: 48px; }
.tv-deal-text { display: grid; gap: 3px; }
.tv-deal-text b { font-size: 22px; line-height: 1.1; color: var(--t-text); }
.tv-deal-text small { font-size: 13.5px; color: var(--t-text-3); }
.today-hub .tv-deal > svg:last-child { width: 22px; height: 22px; color: var(--t-accent); }

.today-hub .tv-mission:not(#am-tv) { display: grid; grid-template-columns: 56px 1fr; gap: 6px 14px; align-items: center; }
.tv-mission > div { display: grid; gap: 2px; min-width: 0; }
.tv-mission > div small { font-size: 12.5px; color: var(--t-text-3); }
.tv-mission > div b { font-size: 18px; line-height: 1.2; }
.tv-mission > div em { font-style: normal; font-size: 13px; color: var(--t-text-2); }
.today-hub .tv-mission > button:not(#am-tv) { grid-column: 1 / -1; width: 100%; min-height: 48px; margin-top: 8px; }
.tv-mission-dot { width: 56px; height: 56px; border-radius: 50%; display: grid; place-items: center; font-size: 26px;
  background: rgba(var(--t-accent-rgb, 85, 242, 178), .14); color: var(--t-accent); }

.tv-ring { position: relative; width: 56px; height: 56px; display: grid; place-items: center; }
.tv-ring svg { position: absolute; inset: 0; width: 56px; height: 56px; }
.tv-ring circle { fill: none; stroke-width: 6; }
.tv-ring .bg { stroke: rgba(var(--t-border-rgb, 255, 255, 255), .12); }
.tv-ring .fg { stroke: var(--t-accent); stroke-linecap: round; transition: stroke-dasharray .6s ease; }
.tv-ring.done .fg { stroke: var(--am-win, #1fbf7a); }
.tv-ring b { position: relative; font-size: 17px; line-height: 1; color: var(--t-text); font-variant-numeric: tabular-nums; }
.tv-ring b small { font-size: 11px; color: var(--t-text-3); }

.today-hub .tv-ladder:not(#am-tv) { display: grid; gap: 10px; cursor: pointer; }
.tv-steps { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.tv-steps i { font-style: normal; font-weight: 750; font-size: 14px; padding: 6px 12px; border-radius: 999px;
  border: 1px solid rgba(var(--t-border-rgb, 255, 255, 255), calc(.16 * var(--t-border-k, 1))); color: var(--t-text-2); }
.tv-steps i.now { background: var(--t-accent); color: var(--t-ink, #fff); border-color: transparent; }
.tv-steps em { font-style: normal; color: var(--t-text-3); font-size: 18px; }
.tv-ladder-sum { font-size: 14px; color: var(--t-text-3); }
.tv-ladder-sum b { font-size: 20px; color: var(--t-text); }

.today-hub .tv-learn:not(#am-tv) { display: grid; grid-template-columns: 56px 1fr 22px; gap: 14px; align-items: center; cursor: pointer; }
.tv-learn > span:nth-child(2) { display: grid; gap: 2px; min-width: 0; }
.tv-learn small { font-size: 12.5px; color: var(--t-text-3); }
.tv-learn b { font-size: 16.5px; line-height: 1.25; }
.today-hub .tv-learn > svg { width: 20px; height: 20px; color: var(--t-accent); }
.today-hub .page-title h1:not(#am-tv) { font-size: 30px; }

/* ── «УРОВНИ» ЛЕСТНИЦЕЙ (21.09) ───────────────────────────────────────────────── */
.lvx .lv-list > article[data-rung]::after { display: none !important; content: none !important; }
.lvx .lvx-emblem { width: 44px; height: 44px; flex: 0 0 44px; display: grid; place-items: center; border-radius: 50%;
  background: var(--w-rung, none) center / 70% no-repeat, rgba(var(--t-accent-rgb, 85, 242, 178), .12);
  font-style: normal; color: var(--t-text-3); font-size: 22px; }
.lvx .lvx-emblem.big { width: 88px; height: 88px; background-size: 72%; }
.lvx-here:not(#am-lvx) { display: grid; justify-items: center; text-align: center; gap: 6px; padding: 22px 16px;
  border-radius: 22px; background: var(--t-surface); border: 1px solid rgba(var(--t-accent-rgb, 85, 242, 178), .35); }
.lvx-emblem-host:not(#am-lvx) { background: none !important; border: 0 !important; padding: 0 !important; margin: 0 !important; box-shadow: none !important; }
.lvx-emblem-host > article:not(#am-lvx) { padding: 0 !important; margin: 0 !important; background: none !important; border: 0 !important; box-shadow: none !important; }
.lvx-here small { color: var(--t-text-3); font-size: 13px; }
/* ИМЯ СТУПЕНИ И ЗАГОЛОВОК РАЗДЕЛА — В ЦВЕТЕ САМОЙ СТУПЕНИ (владелец 26.09).
   Цвет берётся из палитры ступени (`--tier-color`, задаётся атрибутом `data-tier` на
   корне кабинета), а не из своей таблицы: своя таблица однажды разойдётся с цветом
   полосы, мира и значка, и один уровень окажется двух цветов на одном экране.
   `-webkit-text-fill-color` — потому что у части миров заголовок залит градиентом
   через обрезку текста, и обычного `color` там не видно. */
.lvx-here h2:not(#am-lvx) { margin: 0; font-size: 34px; color: var(--tier-color, var(--t-text)); }
/* GOLD (ступень 5) исключён намеренно: его заголовок уже залит золотым переливом мира —
   это и есть цвет ступени, только живой. Плоская заливка поверх него была бы не
   исполнением просьбы, а потерей. */
.app:not([data-tier="5"]) .page.levels-live .page-title h1:not(#am-lvx):not(#am-w),
.app .page.levels-live .lvx-here h2:not(#am-lvx):not(#am-w) {
  color: var(--tier-color, var(--t-text)) !important;
  background: none !important;
  -webkit-text-fill-color: var(--tier-color, var(--t-text)) !important;
}

/* ВТОРАЯ ДОРОГА НА СТУПЕНЬ — ИСПЫТАНИЕ. Стоит на линии лестницы между ступенями и
   намеренно НЕ выглядит ступенью: это дорога, а не место, где можно оказаться. */
.lvx-via { display: flex; gap: 8px; align-items: flex-start; margin: 0 0 0 22px; padding: 10px 12px 10px 20px;
  border-left: 2px dashed rgba(var(--t-border-rgb, 255, 255, 255), calc(.35 * var(--t-border-k, 1)));
  color: var(--t-text-3); font-size: 13.5px; line-height: 1.5; }
.lvx-via svg { width: 16px; flex: 0 0 16px; margin-top: 2px; color: var(--t-accent); }
.lvx-via b { color: var(--t-text-2); font-weight: 700; }
.lvx-chips { list-style: none; margin: 6px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; }
.lvx-chips li { display: inline-flex; align-items: center; gap: 6px; padding: 7px 12px; border-radius: 999px; font-size: 14px;
  font-weight: 600; color: var(--t-text-2);
  background: rgba(var(--t-accent-rgb, 85, 242, 178), .1); }
.lvx-chips.small { justify-content: flex-start; margin-top: 6px; gap: 6px; }
.lvx-chips.small li { font-size: 12.5px; padding: 4px 9px; }
.lvx-trial { display: inline-flex; gap: 6px; align-items: center; margin: 6px 0 0; color: var(--t-accent); font-weight: 650; font-size: 14px; }
.lvx-trial svg { width: 16px; }

/* Подарок: день любого уровня (20.10) */
.lvx-day { display: grid; gap: 10px; padding: 18px 16px; border-radius: 20px; background: var(--t-surface);
  border: 1px solid rgba(var(--t-accent-rgb, 85, 242, 178), .35); }
.lvx-day > small { font-size: 11.5px; letter-spacing: .14em; text-transform: uppercase; color: var(--t-accent); font-weight: 700; }
.lvx-day h3 { margin: 0; font-size: 18px; line-height: 1.25; color: var(--t-text); }
.lvx-day p { margin: 0; color: var(--t-text-2); font-size: 14px; line-height: 1.5; }
.lvx-day-pick { display: flex; flex-wrap: wrap; gap: 8px; }
.lvx-day-pick button { padding: 8px 14px; border-radius: 999px; border: 1px solid rgba(var(--t-border-rgb, 255, 255, 255), calc(.18 * var(--t-border-k, 1)));
  background: transparent; color: var(--t-text-2); font-weight: 650; font-size: 14px; cursor: pointer; }
.lvx-day-pick button.on { border-color: var(--t-accent); color: var(--t-text); background: rgba(var(--t-accent-rgb, 85, 242, 178), .14); }
.lvx-day-note { color: var(--t-text-3); font-size: 12.5px; }
.lvx-day-why { color: var(--t-text-3) !important; }

.lvx-next:not(#am-lvx) { display: grid; gap: 12px; padding: 18px 16px; border-radius: 20px; background: var(--t-surface);
  border: 1px solid rgba(var(--t-border-rgb, 255, 255, 255), calc(.1 * var(--t-border-k, 1))); }
.lvx-next-row { display: flex; align-items: center; gap: 10px; }
.lvx-next-row em { font-style: normal; color: var(--t-text-3); font-size: 18px; }
.lvx-pill { font-weight: 750; font-size: 15px; padding: 7px 14px; border-radius: 999px; color: var(--t-text-2);
  border: 1px solid rgba(var(--t-border-rgb, 255, 255, 255), calc(.18 * var(--t-border-k, 1))); }
.lvx-pill.now { background: var(--t-accent); color: var(--t-ink, #fff); border-color: transparent; }
.lvx-bar { height: 10px; border-radius: 999px; background: rgba(var(--t-border-rgb, 255, 255, 255), .12); overflow: hidden; }
.lvx-bar > i { display: block; height: 100%; border-radius: inherit; background: var(--am-win, #1fbf7a); }
.lvx-sum { margin: 0; color: var(--t-text-3); font-size: 14px; }
/* Строка вместо кнопки, которой не место: почему дорога «награда за испытание» закрыта.
   Читается как пояснение, а не как отключённая кнопка — отключённая кнопка выглядит
   запретом и заставляет по ней жать. */
.lvx-note-why { margin: 8px 0 0; color: var(--t-text-3); font-size: 13px; line-height: 1.45; }
.lvx-sum b { color: var(--t-text); font-size: 22px; }
.lvx-actions { display: grid; gap: 8px; }
/* ГЛАВНАЯ КНОПКА СТУПЕНИ ЧИТАЕТСЯ НА ЛЮБОЙ ЗАЛИВКЕ (26.09, замер контраста).

   Амир про ОТС 500: «не нравится вот эта кнопка, она какая-то игрушная, а не серьёзная,
   будто бы не то, должно быть интересно но и по-взрослому». Замер объяснил, что именно
   глаз читает как игрушку: у этой ступени кнопка — плоская яркая бирюза без градиента,
   шрифт самый тонкий из всех ступеней (480), а подпись на ней даёт контраст 2.97 при
   норме 4.5. У Семьи та же кнопка — тёплый градиент, округлая, с мягким свечением.

   Здесь чинится то, что общее для всех ступеней: вес шрифта и цвет подписи от той же
   переменной, что и заливка. Материал (градиент, скругление, свечение) остаётся делом
   темы ступени — подгонять его под одну ступень значило бы ломать остальные четыре. */
/* Высота отсюда убрана (26.09): «48 у этой кнопки» было ещё одной местной копией правила
   о кнопке. Высоту и кегль задаёт одно правило в `product.material.css`; тут остаётся то,
   что действительно свойство ЭТОГО места — кнопка ступени тянется на всю ширину карточки. */
.lvx-actions > button { width: 100%; font-weight: 680; }
.lvx-actions > button[data-variant="default"] { color: var(--t-ink, #fff); }

.lvx-ladder:not(#am-lvx) { display: grid; gap: 0; padding: 8px 0 !important; position: relative; background: none !important; border: 0 !important; box-shadow: none !important; }
.lvx-ladder:not(#am-lvx)::before { content: ""; position: absolute; left: 22px; top: 30px; bottom: 30px; width: 2px;
  background: rgba(var(--t-border-rgb, 255, 255, 255), calc(.2 * var(--t-border-k, 1))); }
.lvx-ladder > article:not(#am-lvx) { display: flex; gap: 14px; align-items: flex-start; padding: 12px 0 !important; margin: 0 !important;
  background: none !important; border: 0 !important; box-shadow: none !important; position: relative; }
.lvx-ladder > article > div { flex: 1; min-width: 0; padding-top: 2px; }
.lvx-ladder > article .lvx-emblem { position: relative; z-index: 1; background-color: var(--t-surface, #10171a); }
.lvx-ladder > article.current .lvx-emblem { box-shadow: 0 0 0 3px var(--t-accent); }
.lvx-ladder > article.locked .lvx-emblem { filter: grayscale(1); opacity: .6; }
.lvx-row { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.lvx-row b { font-size: 17px; color: var(--t-text); }
.lvx-ladder > article.locked .lvx-row b { color: var(--t-text-2); }
.lvx-row em { font-style: normal; font-size: 13px; font-weight: 700; color: var(--t-text-3); display: inline-flex; }
.lvx-row em svg { width: 18px; color: var(--am-win, #1fbf7a); }
.lvx-ladder > article.current .lvx-row em { color: var(--t-accent); }
/* Закрытые ступени несли карточку от старой лестницы (правило мира с !important) —
   на линии каждая ступень плоская, иначе закрытые выглядят «главнее» открытых. */
.app[data-look] .lvx .lv-list.lvx-ladder > article:not(#am-lvx):not(#am-w):not(#am-x) {
  background: none !important; background-image: none !important; box-shadow: none !important;
  border: 0 !important; backdrop-filter: none !important;
}
.app[data-look] .lvx .lv-list.lvx-emblem-host:not(#am-lvx):not(#am-w):not(#am-x),
.app[data-look] .lvx .lv-list.lvx-emblem-host > article:not(#am-lvx):not(#am-w):not(#am-x) {
  background: none !important; background-image: none !important; box-shadow: none !important;
  border: 0 !important; padding: 0 !important; margin: 0 !important; backdrop-filter: none !important; min-height: 0 !important;
}

/* ── «ИСПЫТАНИЯ» (21.09): семь дней в один ряд, седьмой — подарок; правила значками. */
.challenge-page .ch-days-row:not(#am-chx) { display: grid !important; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 6px; }
.challenge-page .ch-days-row > li:not(#am-chx) { width: auto !important; min-width: 0; aspect-ratio: 1; height: auto !important; }
.ch-rule-chips { list-style: none; margin: 8px 0 0; padding: 0; display: grid; gap: 8px; }
.ch-rule-chips li:not(#am-chx) { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-radius: 14px; font-weight: 600;
  background: rgba(var(--t-accent-rgb, 85, 242, 178), .08); color: var(--t-text); list-style: none; }
.ch-rule-chips li::before { content: none !important; }
.ch-rule-chips li > span { font-size: 20px; width: 28px; text-align: center; }
.challenge-page .ch-done > small:not(#am-chx) { letter-spacing: 0 !important; text-transform: none !important; font-weight: 600; font-size: 14px; }

/* «МОЙ СЧЁТ» В СВЕТЛОМ МИРЕ. Карточка ступени и строки пополнений несли зашитый тёмный
   фон (#111719) из старой вёрстки — слой темы их не переписал, и в светлом ОТС 250
   «Мой уровень» был тёмно-синим по чёрному. Найдено проходом по всем 12 экранам. */
.app[data-look] :is(.account-tier, .account-sub):not(#am-acc) {
  background: var(--t-surface) !important;
  border-color: rgba(var(--t-border-rgb, 255, 255, 255), calc(.1 * var(--t-border-k, 1))) !important;
}
.app[data-look] :is(.account-tier, .account-sub) :is(header span, p, small):not(#am-acc) { color: var(--t-text-3) !important; }
.app[data-look] .account-tier b:not(#am-acc) { color: var(--t-accent) !important; }
.app[data-look] .account-tier p s:not(#am-acc) { color: var(--t-text-2) !important; }
.app[data-look] .account-moves .history-list > article:not(#am-acc) {
  background: var(--t-surface-2, var(--t-surface)) !important;
  border-color: rgba(var(--t-border-rgb, 255, 255, 255), calc(.08 * var(--t-border-k, 1))) !important;
  color: var(--t-text) !important;
}
.app[data-look] .account-moves .history-list > article :is(small, span):not(#am-acc) { color: var(--t-text-3) !important; }
.app[data-look] .account-moves .history-list > article b:not(#am-acc) { color: var(--am-win, #1fbf7a) !important; }

/* ── «ПОСЛЕДНИЕ СИГНАЛЫ» СТРОКАМИ-КАРТИНКАМИ (21.09) ─────────────────────────── */
.rsx-head:not(#am-rsx) { display: grid; gap: 2px; margin: 4px 0 10px; }
.rsx-head b { font-size: 20px; color: var(--t-text); }
.rsx-head small { font-size: 13px; color: var(--t-text-3); }
.rsx-list { display: grid; gap: 8px; }
.rsx-row { display: grid; grid-template-columns: 40px 1fr auto; gap: 12px; align-items: center; padding: 10px 12px;
  border-radius: 16px; background: var(--t-surface);
  border: 1px solid rgba(var(--t-border-rgb, 255, 255, 255), calc(.08 * var(--t-border-k, 1))); }
.rsx-dir { width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; font-style: normal;
  font-size: 22px; font-weight: 800; }
.rsx-dir.up { color: var(--gen-up); background: color-mix(in srgb, var(--gen-up) 15%, transparent); }
.rsx-dir.down { color: var(--gen-down); background: color-mix(in srgb, var(--gen-down) 15%, transparent); }
.rsx-main { display: grid; gap: 2px; min-width: 0; }
.rsx-main b { font-size: 16px; color: var(--t-text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rsx-main small { font-size: 12.5px; color: var(--t-text-3); }
.rsx .rs-outcome:not(#am-rs) { font-size: 13px; padding: 4px 10px; border-radius: 999px; white-space: nowrap; }

/* «Начать заново» — не кнопка наравне с «я выполнил», а выход, который надо найти, когда
   он понадобился. Поэтому ссылка под карточкой, а подтверждение — обычными кнопками:
   обнуление чужих отмеченных дней не делается одним случайным нажатием. */
.ch-restart-link { display: block; margin: 4px 0 0; padding: 10px 0; min-height: 36px; border: 0; background: none;
  color: var(--t-text-3); font-size: 13px; text-decoration: underline; text-underline-offset: 3px;
  cursor: pointer; }
.ch-restart-link:hover { color: var(--t-text); }
.ch-restart-ask { margin-top: 12px; padding: 12px 14px; border-radius: 14px;
  background: var(--t-surface-2); border: 1px solid var(--t-line); }
.ch-restart-ask p { margin: 0 0 10px; color: var(--t-text-2); font-size: 13.5px; line-height: 1.45; }
.ch-restart-row { display: flex; gap: 8px; flex-wrap: wrap; }

/* «Мои сделки» в профиле: «с 1-го входа» ломалось в три строки узкой колонки, а
   «Поделиться» наследовало светлый цвет билета и пропадало на светлом фоне. */
.app .mt-stamp span:not(#am-mt) { white-space: nowrap; }
.app .mt-stamp:not(#am-mt) { flex-wrap: wrap; }
.app .mt-share:not(#am-mt) { color: var(--t-text-2) !important; }

/* ── ЧИТАЕМОСТЬ, НАЙДЕННАЯ ПОЛНЫМ ОХВАТОМ ПРОВЕРКИ (21.09, 13 экранов × 7 миров) ──── */
/* Блок состояния (.am-state) брал цвет текста «слоновая кость» из тёмной темы — в светлом
   ОТС 250 «Ответит тот менеджер, кто свободен» был белым по белому (контраст 1.0). Блок
   общий для всех разделов, поэтому цвет чинится у него, а не у одной надписи. */
.app[data-look] .am-state:not(#am-st) { color: var(--t-text); }
.app[data-look] .am-state p:not(#am-st) { color: var(--t-text-2); }
/* Подписи-акценты на тёмных карточках: серия дней, подпись баланса. */
.app[data-look] .ch-streak:not(#am-st) { color: var(--t-text) !important; }
.app[data-look] .account-figure > span:not(#am-st) { color: var(--t-text-2) !important; }

/* ── КОМНАТЫ НА САЙТЕ (A-20260921-01) ─────────────────────────────────────────── */
.srx:not(#am-srx) { display: grid; gap: 10px; }
.srx-head:not(#am-srx) { display: grid; gap: 2px; }
.srx-head h2 { margin: 0; font-size: 24px; color: var(--t-text); }
.srx-head small { font-size: 13px; color: var(--t-text-3); }
.srx-card:not(#am-srx) {
  width: 100%; display: grid; grid-template-columns: 48px 1fr auto; gap: 12px; align-items: center; text-align: left;
  padding: 12px 14px; border-radius: 18px; cursor: pointer; font: inherit; color: var(--t-text);
  background: var(--t-surface); border: 1px solid rgba(var(--t-border-rgb, 255, 255, 255), calc(.1 * var(--t-border-k, 1)));
}
.srx-card > i { width: 48px; height: 48px; border-radius: 16px; display: grid; place-items: center; font-style: normal; font-size: 24px;
  background: rgba(var(--t-accent-rgb, 85, 242, 178), .12); color: var(--t-accent); }
.srx-card > i svg { width: 24px; height: 24px; }
.srx-card > span { display: grid; gap: 2px; min-width: 0; }
.srx-card b { font-size: 16.5px; }
.srx-card small { font-size: 13.5px; color: var(--t-text-3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  display: inline-flex; align-items: center; gap: 5px; }
.srx-card small svg { width: 13px; height: 13px; flex: 0 0 13px; }
.srx-card > svg { width: 20px; height: 20px; color: var(--t-text-3); }
.srx-card.manager:not(#am-srx) { border-color: rgba(var(--t-accent-rgb, 85, 242, 178), .35); }
.srx-card.locked:not(#am-srx) { cursor: default; opacity: .6; }
.srx-count { font-style: normal; min-width: 26px; height: 26px; padding: 0 8px; border-radius: 999px; display: grid; place-items: center;
  font-size: 13px; font-weight: 750; background: var(--t-accent); color: var(--t-ink, #fff); }
.srx-note, .srx-empty { color: var(--t-text-3); font-size: 14px; text-align: center; margin: 8px 0; }
.srx-tg:not(#am-srx) { margin-top: 6px; }
.srx-tg > summary { cursor: pointer; color: var(--t-text-3); font-size: 14px; padding: 8px 2px; }
.srx-back:not(#am-srx) { justify-self: start; border: 0; background: none; color: var(--t-accent); font: inherit; font-weight: 650; cursor: pointer; padding: 6px 2px; }

.srx-room:not(#am-srx) { gap: 0; }
.srx-room-head:not(#am-srx) { display: flex; align-items: center; gap: 10px; padding: 4px 0 10px;
  border-bottom: 1px solid rgba(var(--t-border-rgb, 255, 255, 255), calc(.1 * var(--t-border-k, 1))); }
.srx-room-head .srx-back { font-size: 22px; padding: 0 6px; }
.srx-room-head i { font-style: normal; font-size: 22px; }
.srx-room-head b { font-size: 19px; color: var(--t-text); }
.srx-feed:not(#am-srx) { display: flex; flex-direction: column; gap: 6px; padding: 12px 0;
  height: calc(100dvh - 330px); min-height: 280px; overflow-y: auto; overscroll-behavior: contain; }
.srx-msg { display: grid; justify-items: start; gap: 2px; max-width: 86%; }
.srx-msg.mine { justify-self: end; justify-items: end; align-self: flex-end; }
.srx-who:not(#am-srx) { display: inline-flex; align-items: center; gap: 6px; border: 0; background: none; padding: 4px 0 0; cursor: pointer;
  font: inherit; font-size: 13px; font-weight: 700; color: var(--t-text-2); }
.srx-who em { font-style: normal; font-weight: 650; font-size: 11px; padding: 1px 7px; border-radius: 999px;
  background: rgba(var(--t-accent-rgb, 85, 242, 178), .14); color: var(--t-accent); }
.srx-ava { width: 22px; height: 22px; border-radius: 50%; display: grid; place-items: center; font-size: 12px; font-weight: 800;
  background: var(--t-accent); color: var(--t-ink, #fff); }
.srx-ava.big { width: 64px; height: 64px; font-size: 28px; }
.srx-bubble { position: relative; padding: 8px 12px 6px; border-radius: 16px 16px 16px 6px; background: var(--t-surface);
  border: 1px solid rgba(var(--t-border-rgb, 255, 255, 255), calc(.1 * var(--t-border-k, 1))); color: var(--t-text); }
.srx-msg.mine .srx-bubble { border-radius: 16px 16px 6px 16px; background: var(--t-accent); color: var(--t-ink, #fff); border-color: transparent; }
.srx-bubble p { margin: 0; font-size: 15.5px; line-height: 1.4; white-space: pre-wrap; overflow-wrap: anywhere; }
.srx-bubble footer { display: flex; align-items: center; justify-content: flex-end; gap: 6px; margin-top: 2px; }
.srx-bubble time { font-size: 11px; opacity: .6; }
.srx-more:not(#am-srx) { border: 0; background: none; color: inherit; opacity: .55; cursor: pointer; font-size: 16px; line-height: 1; padding: 0 2px; }
.srx-menu { position: absolute; z-index: 5; right: 4px; top: calc(100% + 4px); display: grid; min-width: 150px; padding: 4px; border-radius: 12px;
  background: var(--t-surface); border: 1px solid rgba(var(--t-border-rgb, 255, 255, 255), calc(.16 * var(--t-border-k, 1)));
  box-shadow: 0 10px 30px rgba(0, 0, 0, .25); }
.srx-menu button { text-align: left; border: 0; background: none; padding: 10px 12px; border-radius: 8px; font: inherit; font-size: 14px;
  color: var(--t-text); cursor: pointer; }
.srx-menu button:hover { background: rgba(var(--t-accent-rgb, 85, 242, 178), .1); }
.srx-error:not(#am-srx) { margin: 4px 0; font-size: 13.5px; color: var(--t-accent); text-align: center; }
.srx-compose:not(#am-srx) { display: grid; grid-template-columns: 1fr 48px; gap: 8px; align-items: end; padding-top: 8px;
  border-top: 1px solid rgba(var(--t-border-rgb, 255, 255, 255), calc(.1 * var(--t-border-k, 1))); }
.srx-compose textarea { resize: none; min-height: 48px; max-height: 140px; padding: 12px 14px; border-radius: 16px; font: inherit;
  font-size: 16px; color: var(--t-text); background: var(--t-surface);
  border: 1px solid rgba(var(--t-border-rgb, 255, 255, 255), calc(.16 * var(--t-border-k, 1))); }
.srx-compose button { width: 48px; height: 48px; border-radius: 50%; border: 0; cursor: pointer; display: grid; place-items: center;
  background: var(--t-accent); color: var(--t-ink, #fff); }
.srx-compose button:disabled { opacity: .45; cursor: default; }
.srx-compose button svg { width: 22px; height: 22px; }
.srx-person { position: fixed; inset: 0; z-index: 210; display: grid; place-items: center; background: rgba(0, 0, 0, .45); padding: 16px; }
.srx-person > div { display: grid; justify-items: center; gap: 8px; min-width: 240px; padding: 24px; border-radius: 22px;
  background: var(--t-surface); color: var(--t-text); }
.srx-person b { font-size: 20px; }
.srx-person em { font-style: normal; font-size: 13px; padding: 3px 10px; border-radius: 999px; background: rgba(var(--t-accent-rgb, 85, 242, 178), .14); color: var(--t-accent); }
.srx-person button { margin-top: 8px; border: 0; background: none; color: var(--t-accent); font: inherit; font-weight: 650; cursor: pointer; }
/* Свой пузырь: текст — цвет «на акценте», а не общий цвет абзаца страницы (был тёмным по синему). */
.app .srx .srx-msg.mine .srx-bubble :is(p, time, .srx-more):not(#am-srx) { color: var(--t-ink, #fff) !important; }
.app .srx .srx-bubble p:not(#am-srx) { margin: 0 !important; color: inherit; }
.app .srx .srx-msg:not(.mine) .srx-bubble p:not(#am-srx) { color: var(--t-text) !important; }

/* ── БОКОВАЯ ПАНЕЛЬ НА ПК (21.09, найдено прибором налезаний) ───────────────────
   На ноутбуке высотой 820 меню требовало 660px, а под карточкой «Мой уровень» оставалось
   530: группа «Чаты · Уведомления · Помощь» уходила под карточку, и без прокрутки меню её
   было не увидеть. Карточка — компактная строка, промежутки плотнее, на низких экранах
   карточки нет (ступень видна в меню аватара). Полоса теста закрывала логотип сверху. */
@media (min-width: 761px) {
  body:has(.tester-strip) .sidebar:not(#am-sb) { top: var(--tester-strip-h, 32px) !important; height: calc(100dvh - var(--tester-strip-h, 32px)) !important; }
  .sidebar:not(#am-sb) { padding-top: 22px !important; padding-bottom: 14px !important; }
  .sidebar nav:not(#am-sb) { gap: 12px !important; flex: 1 1 auto; min-height: 0; }
  /* ПРОКРУТКА МЕНЮ ВИДНА (29.09). На ноутбуке 1366×768 (окно ~650px) «Чаты · Уведомления ·
     Разговор» лежат ниже края меню. Меню прокручивалось, но полоса была спрятана, и человек
     не знал, что там есть ещё пункты. Тонкая полоса — сигнал «ниже есть ещё». */
  .sidebar nav:not(#am-sb) { scrollbar-width: thin !important; scrollbar-color: rgba(128, 128, 140, .45) transparent; }
  .sidebar nav:not(#am-sb)::-webkit-scrollbar { display: block !important; width: 6px !important; }
  .sidebar nav:not(#am-sb)::-webkit-scrollbar-thumb { background: rgba(128, 128, 140, .45); border-radius: 3px; }
  .sidebar nav .nav-group:not(#am-sb) { gap: 1px !important; }
  .sidebar nav .nav-group > button:not(#am-sb) { min-height: 36px !important; padding-top: 7px !important; padding-bottom: 7px !important; }
  /* ОДНА ПРИЧИНА — ТРИ БЕДЫ НА ПЛАШКЕ СТУПЕНИ (26.09, замер на живом).
     Колонку 1 сжимал перенос слов «МОЙ УРОВЕНЬ», и её ширина выходила 68px. В неё не
     влезало название «OTS 250» / «OTS 500»: оно ломалось на две строки, плашка росла с 78
     до 112px, из-за этого последний пункт меню «Разговор» уходил под неё на 25px, а вторая
     строка названия падала ровно на золотой знак ступени в левом нижнем углу — это и есть
     «декор мешает увидеть номер». У Free, Семьи и Эксклюзива имена короче, и беды нет:
     поэтому она и выглядела как случай, а не как правило.
     `min-content` на подпись и `1fr` на название отдают ширину тому, кому она нужна. */
  /* 03.10, ТОТ ЖЕ КЛАСС ВТОРОЙ РАЗ: «GOLD OTC» длиннее «OTS 250», и колонка `auto` кнопки
     сжалась до 37px — «Уровень и доступ» сложился по буквам в столбик (снимок владельца).
     Делить строку между названием ступени и кнопкой — значит ломаться на каждом новом
     имени. Поэтому кнопка больше не делит строку: своя строка, на всю ширину, без переноса. */
  .app .side-level:not(#am-env):not(#am-w):not(#am-sb) {
    flex: 0 0 auto; display: grid !important; grid-template-columns: minmax(0, 1fr); align-items: center; gap: 2px 8px;
    padding: 10px 12px !important; min-height: 0 !important; height: auto !important; margin-top: 10px;
  }
  .app .side-level:not(#am-sb) > b { white-space: nowrap !important; overflow: hidden; text-overflow: ellipsis; }
  .app .side-level:not(#am-sb) > small { grid-column: 1; }
  .app .side-level:not(#am-sb) > b { grid-column: 1; font-size: 17px !important; margin: 0 !important; }
  .app .side-level:not(#am-sb) > button { grid-column: 1; grid-row: auto; margin: 6px 0 0 !important; font-size: 12.5px !important; white-space: nowrap !important; justify-self: start; }
  .app .side-level:not(#am-sb)::before, .app .side-level:not(#am-sb)::after { display: none !important; }
  .sidebar .logo:not(#am-sb) { gap: 10px !important; align-items: center; }
  .sidebar .logo:not(#am-sb) small { display: block; margin-top: 2px; line-height: 1.25; }
}
@media (min-width: 761px) and (max-height: 760px) {
  .app .side-level:not(#am-env):not(#am-w):not(#am-sb) { display: none !important; }
}
/* «$430.00» и «Подробнее» стояли вплотную в карточке баланса на ПК. */
.balance-card:not(#am-sb) { column-gap: 14px !important; row-gap: 4px; }
/* Профиль, «Мои сделки»: цифра налезала на подпись «в плюс / в минус». */
.app .mt-num:not(#am-sb) { line-height: 1.05 !important; display: block; margin-bottom: 4px; }
/* Обратная сторона карты участника невидима (opacity 0), но лежала сверху и ловила касания. */
.app .member-card .mc-back:not(#am-sb) { pointer-events: none; }

/* ── ЦВЕТА «ЖИВЫХ» ЭКРАНОВ ПЕРЕСЧИТАНЫ В МИР СТУПЕНИ (22.09) ──────────────────────
   Переписка с менеджером, блоки состояния, формы (live.css) красились переменными
   --am-surface/--am-ivory/--am-muted/--am-hairline, заданными только для тёмной темы.
   В светлом ОТС 250 пузыри разговора были чёрными с тёмным текстом — «ничего не видно»
   (Андрей, 22.09). Переменные связаны с цветами мира один раз — чинятся все такие экраны. */
.app[data-look] {
  --am-obsidian: var(--t-bg);
  --am-surface: var(--t-surface);
  --am-surface-raised: var(--t-surface-2, var(--t-surface));
  --am-ivory: var(--t-text);
  --am-muted: var(--t-text-3);
  --am-hairline: rgba(var(--t-border-rgb, 255, 255, 255), calc(.12 * var(--t-border-k, 1)));
  --am-mint: var(--t-accent);
  --am-blue: var(--t-accent);
}
.app[data-look] .am-live .chat-thread > article p:not(#am-live) { color: var(--t-text); }

/* ── ПРОБНЫЕ СДЕЛКИ FREE (22.09): три точки вместо абзаца про лимит ─────────── */
.gen-proba { display: flex; align-items: center; justify-content: center; gap: 10px; flex-wrap: wrap; }
.gen-proba-dots { display: inline-flex; gap: 6px; }
.gen-proba-dots i { width: 12px; height: 12px; border-radius: 50%; background: var(--t-accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--t-accent) 18%, transparent); }
.gen-proba-dots i.used { background: transparent; box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--t-text-3, #8a94a6) 70%, transparent); }
.gen-proba small { font-size: 13px; line-height: 1.3; color: var(--t-text-2, var(--t-text)); }
.gen-proba-over .gen-proba { margin-bottom: 4px; }

/* ── ДЕМО-ИГРА «2 ИЗ 3» И ОКНО «ТВОЯ ПРИБЫЛЬ» (22.09) ─────────────────────── */
.demo { margin-top: 14px; padding: 16px; border-radius: 20px; background: var(--t-surface); border: 1px solid rgba(var(--t-border-rgb,255,255,255), calc(.12 * var(--t-border-k,1))); display: grid; gap: 12px; }
.demo-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.demo-head small { display: block; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--t-text-3); }
.demo-head h3 { margin: 4px 0 0; font-size: 20px; line-height: 1.2; color: var(--t-text); }
.demo-bal { flex: none; padding: 6px 10px; border-radius: 999px; font-size: 13px; font-weight: 700; font-variant-numeric: tabular-nums; background: color-mix(in srgb, var(--t-accent) 14%, transparent); color: var(--t-text); }
.demo-chart { width: 100%; max-width: 560px; height: auto; display: block; margin-inline: auto; border-radius: 14px; background: linear-gradient(180deg, rgba(255,255,255,.03), rgba(0,0,0,.25)); }
.demo-zone { stroke: none; }
.demo-zone-a { stop-color: var(--t-accent); stop-opacity: .22; } .demo-zone-b { stop-color: var(--t-accent); stop-opacity: .03; }
.demo-zone-tag { font-size: 9px; font-weight: 800; letter-spacing: .12em; fill: var(--t-accent); text-transform: uppercase; }
.demo-grid line { stroke: rgba(255,255,255,.06); stroke-width: 1; }
.demo-grid text { font-size: 8px; fill: rgba(255,255,255,.35); font-variant-numeric: tabular-nums; }
.demo-future rect { fill: rgba(255,255,255,.025); stroke: rgba(255,255,255,.07); stroke-dasharray: 2 4; }
.demo-future text { font-size: 30px; font-weight: 800; fill: rgba(255,255,255,.14); animation: demo-q 2s ease-in-out infinite; }
@keyframes demo-q { 50% { fill: rgba(255,255,255,.3); } }
.demo-now { stroke: var(--t-accent); stroke-width: 1; opacity: .5; }
.demo-entry { stroke: var(--t-text-3); stroke-dasharray: 3 3; stroke-width: 1; }
.demo .gen-c line { stroke-width: 1.5; }
.demo .gen-c.up line, .demo .gen-c.up rect { stroke: var(--gen-up); fill: var(--gen-up); }
.demo .gen-c.down line, .demo .gen-c.down rect { stroke: var(--gen-down); fill: var(--gen-down); }
.demo-after { opacity: 0; animation: demo-in .35s ease forwards; }
@keyframes demo-in { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: none; } }
.demo-hint, .demo-note { margin: 0; font-size: 13px; line-height: 1.4; color: var(--t-text-3); text-align: center; }
.demo-buttons { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.demo-buttons button { min-height: 52px; border-radius: 14px; font-size: 17px; font-weight: 800; color: #fff; border: 0; cursor: pointer; }
.demo-up { background: var(--gen-up); }
.demo-down { background: var(--gen-down); }
/* «2 из 3» только на рост (аудит 16.10, AM-18): второе решение — пропуск, а не «вниз». */
.demo-buttons .demo-skip { background: transparent; color: var(--t-text); box-shadow: inset 0 0 0 1px rgba(var(--t-text-rgb), .22); }
.demo-max { stroke: var(--t-accent); stroke-dasharray: 2 3; stroke-width: 1; opacity: .8; }
.demo-pop-card.skip b { color: var(--t-text-2); }
.demo-buttons button:disabled { opacity: .45; cursor: default; }
.demo-buttons button:focus-visible { outline: 3px solid var(--t-accent); outline-offset: 2px; }
.demo-pop { position: fixed; inset: 0; z-index: 210; display: grid; place-items: center; padding: 16px; background: rgba(0,0,0,.55); }
.demo-pop-card { width: min(340px, 100%); padding: 24px 20px 18px; border-radius: 24px; text-align: center; display: grid; gap: 6px; background: var(--t-surface); color: var(--t-text); box-shadow: 0 30px 80px rgba(0,0,0,.4); animation: demo-pop .45s cubic-bezier(.2,1.4,.4,1); }
@keyframes demo-pop { from { transform: scale(.7); opacity: 0; } to { transform: none; opacity: 1; } }
.demo-pop-emoji { font-size: 44px; line-height: 1; }
.demo-pop-card small { font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: var(--t-text-3); }
.demo-pop-card b { font-size: 48px; line-height: 1.05; font-variant-numeric: tabular-nums; }
.demo-pop-card.win b { color: var(--gen-up); }
.demo-pop-card.loss b { color: var(--gen-down); }
.demo-pop-card p { margin: 4px 0 0; font-size: 15px; line-height: 1.4; }
.demo-pop-card em { font-style: normal; font-size: 12px; color: var(--t-text-3); }
.demo-pop-card button { margin-top: 10px; min-height: 48px; border-radius: 14px; border: 0; font-weight: 700; font-size: 16px; background: var(--t-accent); color: var(--t-ink, #fff); cursor: pointer; }
@media (prefers-reduced-motion: reduce) { .demo-after, .demo-pop-card { animation: none; opacity: 1; } }
@media (min-width: 900px) { .demo { max-width: 640px; margin-inline: auto; } }

/* ── «ПОМОЩЬ» КАК РАЗГОВОР (22.09) ─────────────────────────────────────────── */
.page.help { display: flex; flex-direction: column; gap: 12px; max-width: 720px; margin-inline: auto; }
.help-head { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-radius: 18px; background: var(--t-surface); border: 1px solid rgba(var(--t-border-rgb,255,255,255), calc(.12 * var(--t-border-k,1))); }
.help-ava { flex: none; width: 42px; height: 42px; border-radius: 50%; display: grid; place-items: center; font-weight: 800; font-size: 18px; background: var(--t-accent); color: var(--t-ink, #fff); }
.help-head b { display: block; font-size: 16px; line-height: 1.25; color: var(--t-text); }
.help-head small { display: flex; align-items: center; gap: 6px; font-size: 13px; line-height: 1.3; color: var(--t-text-3); }
.help-head small i { width: 8px; height: 8px; border-radius: 50%; background: var(--gen-up); }
.help-feed { display: flex; flex-direction: column; gap: 8px; min-height: 42vh; padding: 4px 2px 8px; }
.help-msg { max-width: 82%; padding: 9px 12px 6px; border-radius: 18px; display: grid; gap: 2px; }
.help-msg p { margin: 0; font-size: 15px; line-height: 1.45; white-space: pre-wrap; overflow-wrap: anywhere; }
.help-msg time { justify-self: end; font-size: 11px; line-height: 1; opacity: .6; }
.help-msg.them { align-self: flex-start; background: var(--t-surface); color: var(--t-text); border-bottom-left-radius: 6px; border: 1px solid rgba(var(--t-border-rgb,255,255,255), calc(.10 * var(--t-border-k,1))); }
.help-msg.me { align-self: flex-end; background: var(--t-accent); color: var(--t-ink, #fff); border-bottom-right-radius: 6px; }
.help-typing { flex-direction: row; display: inline-flex; gap: 4px; padding: 13px 14px; }
.help-typing span { width: 7px; height: 7px; border-radius: 50%; background: var(--t-text-3); animation: help-dot 1.1s infinite ease-in-out; }
.help-typing span:nth-child(2) { animation-delay: .15s; }
.help-typing span:nth-child(3) { animation-delay: .3s; }
@keyframes help-dot { 0%, 80%, 100% { opacity: .3; transform: none; } 40% { opacity: 1; transform: translateY(-3px); } }
.help-note { align-self: center; margin: 4px 0; padding: 6px 12px; border-radius: 999px; font-size: 13px; line-height: 1.35; text-align: center; background: color-mix(in srgb, var(--t-accent) 12%, transparent); color: var(--t-text); }
.help-starters { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 6px; }
.help-starters button { min-height: 40px; padding: 8px 12px; border-radius: 999px; font-size: 14px; line-height: 1.2; cursor: pointer; background: transparent; color: var(--t-text); border: 1px solid rgba(var(--t-border-rgb,255,255,255), calc(.22 * var(--t-border-k,1))); }
.help-human { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.help-human button { min-height: 40px; padding: 8px 14px; border-radius: 12px; font-size: 14px; font-weight: 700; cursor: pointer; background: transparent; color: var(--t-text); border: 1px solid rgba(var(--t-border-rgb,255,255,255), calc(.25 * var(--t-border-k,1))); }
.help-human.on button:not(:disabled) { background: var(--t-accent); color: var(--t-ink, #fff); border-color: transparent; }
.help-human button:disabled { opacity: .7; cursor: default; }
.help-human small { font-size: 12px; line-height: 1.3; color: var(--t-text-3); }
.help-compose { position: sticky; bottom: calc(76px + env(safe-area-inset-bottom)); display: flex; gap: 8px; align-items: flex-end; padding: 8px; border-radius: 20px; background: var(--t-surface); border: 1px solid rgba(var(--t-border-rgb,255,255,255), calc(.14 * var(--t-border-k,1))); }
/* ПОЛЕ ВОПРОСА РАСТЁТ ПО НАПИСАННОМУ (владелец 26.09 про блок письма менеджеру).
   Было: одна строка ростом 40px без возможности растянуть (`resize: none`) — длинный
   вопрос прокручивался внутри строки, и человек не видел целиком того, что отправляет.
   Потолок в 140px остаётся: поле не должно съедать экран с перепиской. Кегль ровно 16px
   и ПОСЛЕ `font: inherit` — иначе Safari на iPhone сам приближает страницу при вводе,
   и человек выбирается из увеличенного экрана руками. */
.help-compose textarea { flex: 1; min-height: 40px; max-height: 140px; resize: none; padding: 9px 10px; border: 0; outline: 0; background: transparent; color: var(--t-text); font: inherit; font-size: 16px; line-height: 1.4; }
.help-compose button { flex: none; width: 42px; height: 42px; border-radius: 50%; border: 0; display: grid; place-items: center; background: var(--t-accent); color: var(--t-ink, #fff); cursor: pointer; }
.help-compose button:disabled { opacity: .4; cursor: default; }
.help-compose button:focus-visible, .help-starters button:focus-visible, .help-human button:focus-visible { outline: 3px solid var(--t-accent); outline-offset: 2px; }
@media (min-width: 900px) { .help-compose { bottom: 16px; } }
@media (prefers-reduced-motion: reduce) { .help-typing span { animation: none; opacity: .7; } }
/* Общее правило абзацев кабинета перебивало цвет текста на акценте (белый на светлой «Семье»). */
.app .help .help-msg.me :is(p, time):not(#am-help) { color: var(--t-ink, #fff) !important; }
.app .help .help-msg.them :is(p):not(#am-help) { color: var(--t-text) !important; }
.help-compose { scroll-margin-bottom: calc(90px + env(safe-area-inset-bottom)); }
/* Мини-тест урока (22.09) */
.lf-why.lf-miss { color: var(--t-text); }
.lf-passed { display: flex; align-items: center; gap: 8px; margin: 12px 0 0; font-weight: 700; color: var(--gen-up, #22c07a); }
.lf-passed svg { width: 18px; height: 18px; }
/* Словарь трейдера (22.09) */
.glossary .gl-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.glossary .gl-chips button { min-height: 38px; padding: 7px 12px; border-radius: 999px; font-size: 14px; line-height: 1.2; cursor: pointer; background: transparent; color: var(--t-text); border: 1px solid rgba(var(--t-border-rgb,255,255,255), calc(.22 * var(--t-border-k,1))); }
.glossary .gl-chips button.on { background: var(--t-accent); color: var(--t-ink, #fff); border-color: transparent; }
.glossary .gl-card { margin-top: 12px; padding: 14px; border-radius: 16px; display: grid; gap: 10px; background: var(--t-surface); border: 1px solid rgba(var(--t-border-rgb,255,255,255), calc(.12 * var(--t-border-k,1))); }
.glossary .gl-card b { font-size: 17px; color: var(--t-text); }
.glossary .gl-card p { margin: 0; font-size: 15px; line-height: 1.5; color: var(--t-text); }
.glossary .gl-lesson { justify-self: start; display: inline-flex; align-items: center; gap: 6px; padding: 0; border: 0; background: none; color: var(--t-accent); font-weight: 700; font-size: 14px; cursor: pointer; text-align: left; }
.glossary .gl-lesson svg { width: 16px; height: 16px; flex: none; }

/* ── «ВСЁ ЛИ В ПОРЯДКЕ?» (22.09) ───────────────────────────────────────────── */
/* Слой — как у остальных всплывающих окон (210), фон непрозрачный: поверхность мира
   бывает полупрозрачной, и окно просвечивало сквозь карточки (поймано живой проверкой). */
.pulse { position: fixed; right: 12px; bottom: calc(86px + env(safe-area-inset-bottom)); z-index: 210;
  background-color: var(--t-bg); background-image: linear-gradient(var(--t-surface), var(--t-surface)); width: min(320px, calc(100vw - 24px)); padding: 14px 14px 12px; border-radius: 18px; display: grid; gap: 8px; background: var(--t-surface); color: var(--t-text); border: 1px solid rgba(var(--t-border-rgb,255,255,255), calc(.16 * var(--t-border-k,1))); box-shadow: 0 18px 50px rgba(0,0,0,.35); animation: pulse-in .35s ease; }
@keyframes pulse-in { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
.pulse b { font-size: 16px; line-height: 1.25; padding-right: 20px; }
.pulse small { font-size: 13px; line-height: 1.35; color: var(--t-text-3); }
.pulse-x { position: absolute; top: 8px; right: 10px; width: 28px; height: 28px; border: 0; background: none; color: var(--t-text-3); font-size: 20px; line-height: 1; cursor: pointer; }
.pulse-answers { display: grid; gap: 6px; }
.pulse-answers button { min-height: 40px; padding: 8px 12px; border-radius: 12px; font-size: 14px; text-align: left; cursor: pointer; background: transparent; color: var(--t-text); border: 1px solid rgba(var(--t-border-rgb,255,255,255), calc(.2 * var(--t-border-k,1))); }
.pulse-say { display: grid; gap: 8px; }
.pulse-say textarea { resize: none; padding: 8px 10px; border-radius: 12px; font: inherit; font-size: 14px; background: transparent; color: var(--t-text); border: 1px solid rgba(var(--t-border-rgb,255,255,255), calc(.2 * var(--t-border-k,1))); }
.pulse-say button { min-height: 40px; border-radius: 12px; border: 0; font-weight: 700; background: var(--t-accent); color: var(--t-ink, #fff); cursor: pointer; }
.pulse-say button:disabled { opacity: .5; cursor: default; }
.pulse-ok { margin: 0; font-size: 15px; }
.app .pulse :is(b, small, p, textarea, button):not(#am-pulse) { color: inherit; }
.app .pulse .pulse-say button:not(#am-pulse) { color: var(--t-ink, #fff); }
@media (min-width: 900px) { .pulse { bottom: 16px; } }
@media (prefers-reduced-motion: reduce) { .pulse { animation: none; } }

/* Как входить в сделку (22.09, п.42) */
.learn-module.entry .entry-card { margin-top: 10px; border-radius: 16px; background: var(--t-surface); border: 1px solid rgba(var(--t-border-rgb,255,255,255), calc(.12 * var(--t-border-k,1))); overflow: hidden; }
.learn-module.entry .entry-card > button { width: 100%; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 4px 10px; padding: 12px 14px; background: none; border: 0; cursor: pointer; text-align: left; color: var(--t-text); }
/* Стрелка — справа и на обе строки; заголовок и подпись — слева (поймано живой проверкой:
   стрелка занимала первую колонку и сдвигала текст вправо, подпись сжималась в столбик). */
.learn-module.entry .entry-card b { grid-column: 1; grid-row: 1; font-size: 16px; line-height: 1.25; }
.learn-module.entry .entry-card small { grid-column: 1; grid-row: 2; font-size: 13px; color: var(--t-text-3); }
.learn-module.entry .entry-card svg { grid-column: 2; grid-row: 1 / span 2; width: 18px; height: 18px; color: var(--t-text-3); transition: transform .2s ease; }
.learn-module.entry .entry-card.on svg { transform: rotate(90deg); }
.learn-module.entry .entry-body { padding: 0 14px 14px; display: grid; gap: 8px; }
.learn-module.entry .entry-body p { margin: 0; font-size: 15px; line-height: 1.45; color: var(--t-text); }
.learn-module.entry .entry-body i { display: block; font-style: normal; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--t-text-3); margin-bottom: 2px; }
.learn-module.entry .entry-when { padding: 10px 12px; border-radius: 12px; background: color-mix(in srgb, var(--t-accent) 12%, transparent); }
.learn-module.entry .entry-note { font-size: 13px; color: var(--t-text-3); }
.learn-module.entry .entry-card.cold b::after { content: ' · вручную не успеть'; font-weight: 400; font-size: 13px; color: var(--t-text-3); }

/* ── ВИДЕО КАНАЛОВ (22.09) ─────────────────────────────────────────────────── */
.learn-module.videos .vl-section { margin-top: 14px; }
.learn-module.videos h4 { margin: 0 0 8px; font-size: 13px; letter-spacing: .08em; text-transform: uppercase; color: var(--t-text-3); }
.vl-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.vl-item { display: grid; grid-template-columns: 34px 1fr; gap: 10px; padding: 12px; border-radius: 16px; background: var(--t-surface); border: 1px solid rgba(var(--t-border-rgb,255,255,255), calc(.12 * var(--t-border-k,1))); }
.vl-item.locked { opacity: .72; }
.vl-n { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; font-size: 13px; font-weight: 700; color: var(--t-text-3); background: color-mix(in srgb, var(--t-text-3) 14%, transparent); }
.vl-item.seen .vl-n { background: color-mix(in srgb, var(--gen-up, #22c07a) 20%, transparent); color: var(--gen-up, #22c07a); }
.vl-n svg { width: 16px; height: 16px; }
.vl-body { display: grid; gap: 4px; min-width: 0; }
.vl-body b { font-size: 16px; line-height: 1.3; color: var(--t-text); overflow-wrap: anywhere; }
.vl-body small { font-size: 13px; color: var(--t-text-3); }
.vl-body p { margin: 2px 0 0; font-size: 14px; line-height: 1.4; color: var(--t-text); }
.vl-body em { font-style: normal; font-size: 13px; color: var(--t-text-3); }
.vl-play { justify-self: start; display: inline-flex; align-items: center; gap: 6px; margin-top: 6px; min-height: 38px; padding: 8px 14px; border-radius: 12px; border: 0; font-weight: 700; font-size: 14px; background: var(--t-accent); color: var(--t-ink, #fff); cursor: pointer; }
.vl-play svg { width: 16px; height: 16px; }
.vl-player { margin-top: 8px; display: grid; gap: 8px; }
/* ВИДЕО ОГРАНИЧИВАЕТСЯ ПО ВЫСОТЕ, А НЕ ПО ШИРИНЕ (26.09).

   Амир, первый пункт всего списка: «на формате обучения эфиры нужно как-то исправить окно
   с видео, потому что оно очень большое, когда открываешь раздел, и просто ахуеваешь от
   экрана».

   Замер на живом: проигрыватель 821×1460 при окне высотой 900. Записи сняты вертикально
   (9:16), а правило было `width: 100%` — ширина по колонке, высота как получится. Получалось
   в полтора экрана: человек открывает урок и видит чёрный столб, а кнопки воспроизведения
   под ним нет, она за краем.

   Поэтому предел ставится по высоте (`max-height: 70vh`), ширина считается от неё
   (`width: auto` + `max-width: 100%`), а само видео центрируется. Горизонтальным записям
   это ничего не меняет: у них высота при ширине колонки заведомо меньше предела. */
.vl-player video {
  display: block;
  width: auto;
  max-width: 100%;
  max-height: 70vh;
  margin-inline: auto;
  border-radius: 12px;
  background: #000;
}
.vl-player audio { width: 100%; }
/* ЗАПИСЬ КАК ОДИН БЛОК. Свёрнутый эфир занимает одну строку вместо двадцати пяти — иначе
   на сотнях кусков раздел перестаёт быть списком и превращается в ленту. */
.vl-zapis { border: 1px solid rgba(255,255,255,.07); border-radius: 14px; margin-top: 10px;
            background: rgba(255,255,255,.02); overflow: hidden; }
.vl-zapis > summary { cursor: pointer; padding: 12px 14px; display: flex; gap: 10px;
                      align-items: baseline; flex-wrap: wrap; list-style: none; }
.vl-zapis > summary::-webkit-details-marker { display: none; }
.vl-zapis > summary::before { content: '▸'; opacity: .5; margin-right: 2px; }
.vl-zapis[open] > summary::before { content: '▾'; }
.vl-zapis > summary small { color: var(--text-dim, #9aa0a6); font-size: 12px; }
.vl-zapis > summary:hover { background: rgba(255,255,255,.03); }
.vl-zapis .vl-list { padding: 0 12px 12px; }
/* СВЁРНУТЫЙ ЗНАЧИТ НЕВИДИМЫЙ. Браузер прячет содержимое закрытого details сам — но только
   пока содержимому не назначен свой display. У списка он есть (grid), и семь карточек
   оставались выложенными поверх следующего раздела: экран выглядел свёрнутым, а текст
   наезжал на «Как входить в сделку». Нашла это машинная проверка налезания, а не глаза.
   Прячем явно и не полагаемся на то, как браузер разрешит спор двух правил. */
.vl-zapis:not([open]) .vl-list { display: none; }
/* РАСШИФРОВКА РЯДОМ СО ЗВУКОМ. Эфиру без картинки субтитры бесполезны — смотреть не на что;
   зато текст можно читать, искать глазами и прыгать по нему нажатием. Высота ограничена,
   иначе трёхминутный кусок разворачивает страницу на два экрана. */
.vl-text { max-height: 240px; overflow-y: auto; margin: 0; padding: 8px 10px; list-style: none;
           display: grid; gap: 2px; border-radius: 12px;
           background: rgba(255,255,255,.03); border: 1px solid rgba(255,255,255,.06); }
.vl-text li button { width: 100%; text-align: left; background: none; border: 0; cursor: pointer;
                     color: var(--text-dim, #9aa0a6); font: inherit; font-size: 13px;
                     line-height: 1.45; padding: 3px 6px; border-radius: 8px; }
.vl-text li button:hover { background: rgba(255,255,255,.05); }
.vl-text li.now button { color: var(--text, #f2f3f5); background: rgba(80,220,140,.10); }
.vl-done { justify-self: start; display: inline-flex; align-items: center; gap: 6px; min-height: 38px; padding: 8px 14px; border-radius: 12px; font-size: 14px; font-weight: 700; cursor: pointer; background: transparent; color: var(--t-text); border: 1px solid rgba(var(--t-border-rgb,255,255,255), calc(.25 * var(--t-border-k,1))); }
.vl-done:disabled { opacity: .6; cursor: default; }
.vl-done svg { width: 16px; height: 16px; }
.vl-err { margin: 0; font-size: 13px; color: var(--t-text-3); }
/* Плитка «следующее видео» на экране дня (22.09) */
.tv-video { display: grid; grid-template-columns: 44px 1fr; align-items: center; gap: 12px; width: 100%; padding: 14px; border-radius: 18px; text-align: left; cursor: pointer; background: var(--t-surface); border: 1px solid rgba(var(--t-border-rgb,255,255,255), calc(.12 * var(--t-border-k,1))); color: var(--t-text); }
.tv-video i { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; font-style: normal; font-size: 16px; background: color-mix(in srgb, var(--t-accent) 16%, transparent); color: var(--t-accent); }
.tv-video span { display: grid; gap: 2px; min-width: 0; }
.tv-video small { font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--t-text-3); }
.tv-video b { font-size: 16px; line-height: 1.25; overflow-wrap: anywhere; }
.tv-video em { font-style: normal; font-size: 13px; color: var(--t-text-3); }
/* Дверь ступени в конце отрывка (22.09) */
.vl-door { margin-top: 8px; padding: 14px; border-radius: 16px; display: grid; gap: 8px; background: color-mix(in srgb, var(--t-accent) 10%, var(--t-surface)); border: 1px solid color-mix(in srgb, var(--t-accent) 35%, transparent); }
.vl-door b { font-size: 16px; line-height: 1.3; color: var(--t-text); }
.vl-door p { margin: 0; font-size: 14px; line-height: 1.45; color: var(--t-text); }
.vl-door .vl-door-need { font-weight: 700; }
.vl-door .vl-door-why { color: var(--t-text-3); }
.vl-door-opens { margin: 0; padding-left: 18px; display: grid; gap: 2px; font-size: 14px; color: var(--t-text); }
.vl-door-go { justify-self: start; display: inline-flex; align-items: center; min-height: 44px; padding: 10px 18px; border-radius: 12px; border: 0; font-weight: 700; font-size: 15px; text-decoration: none; background: var(--t-accent); color: var(--t-ink, #fff); cursor: pointer; }
.vl-door small { font-size: 12px; color: var(--t-text-3); }

/* ── ПОИСК СДЕЛКИ: ЧТО ЖДЁМ И СКОЛЬКО УЖЕ СМОТРЕЛИ (24.09) ───────────────────
   Экран поиска говорил одну строку — «проверяем каждые 30 секунд». Она читалась как
   обещание сделки через полминуты, а правило автора складывается далеко не на каждой
   свече: рабочий поиск выглядел зависшим, и владелец так его и описал — «ищет 3–4
   минуты, это вообще не то». Тут ничего не ускоряется рисованием: показывается работа,
   которая идёт, и правило, которого ждём. */
.gen-progress:not(#am-gen) { display: grid; gap: 6px; width: 100%; text-align: center; }
.gen-seen:not(#am-gen) { margin: 0; font-size: 14px; color: var(--t-text-2); font-variant-numeric: tabular-nums; }
.gen-seen b { color: var(--t-text); font-weight: 700; }
.gen-why:not(#am-gen) { margin: 0; font-size: 13px; line-height: 1.5; color: var(--t-text-3); }
.gen-away:not(#am-gen) { margin: 0; font-size: 13px; color: var(--t-accent); }
.gen-narrow:not(#am-gen) {
  margin: 0; width: 100%; padding: 12px 14px; border-radius: 12px; text-align: left;
  font-size: 13px; line-height: 1.5; color: var(--t-text-2);
  border: 1px solid var(--t-line); background: var(--t-surface-2, rgba(255, 255, 255, .03));
}
.gen-widen:not(#am-gen) {
  display: inline-flex; align-items: center; min-height: 32px; padding: 0; border: 0; background: none;
  color: var(--t-accent); font: inherit; font-weight: 650; text-decoration: underline; cursor: pointer;
}

/* Полоса поиска в других разделах. Окно входа — двадцать секунд, поэтому найденная
   сделка обязана догнать человека там, где он сейчас, а не ждать его возвращения. */
.gen-bar:not(#am-gen) {
  display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
  margin: 0 0 14px; padding: 10px 14px; border-radius: 12px;
  border: 1px solid var(--t-line); background: var(--t-surface-2, rgba(255, 255, 255, .03));
  font-size: 14px; color: var(--t-text-2);
}
.gen-bar b { color: var(--t-text); font-weight: 700; }
.gen-bar-seen { font-variant-numeric: tabular-nums; color: var(--t-text-3); }
.gen-bar button {
  min-height: 36px; padding: 0 14px; border-radius: 9px; border: 1px solid var(--t-line);
  background: none; color: var(--t-text); font: inherit; font-weight: 650; cursor: pointer;
}
.gen-bar button.gen-bar-stop { border-color: transparent; color: var(--t-text-3); }
.gen-bar-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--t-accent); animation: gen-bar-pulse 1.6s ease-in-out infinite; }
@keyframes gen-bar-pulse { 0%, 100% { opacity: .35 } 50% { opacity: 1 } }
.gen-bar.found:not(#am-gen) { border-color: var(--t-accent); background: rgba(var(--t-accent-rgb, 85, 242, 178), .10); }
.gen-bar.found b { color: var(--t-text); }
.gen-bar-left { font-variant-numeric: tabular-nums; font-weight: 700; color: var(--t-accent); }
.gen-bar.found button { border-color: var(--t-accent); color: var(--t-accent); }
/* Итог сделки в любом разделе (06.10): плюс — зелёный, минус — красный, ноль — спокойный. */
.gen-bar.done.win:not(#am-gen) { border-color: rgba(61,220,151,.6); background: rgba(61,220,151,.12); }
.gen-bar.done.loss:not(#am-gen) { border-color: rgba(255,92,92,.6); background: rgba(255,92,92,.12); }
.gen-bar.done.flat:not(#am-gen) { border-color: rgba(255,255,255,.2); background: rgba(255,255,255,.05); }
.gen-bar.done b { color: var(--t-text); }
@media (prefers-reduced-motion: reduce) { .gen-bar-dot { animation: none } }

/* Значок «рынок не виден» был символом ☾ / ⌁ прямо в разметке: шрифтовой знак вместо
   фигуры выглядит на разных системах по-разному, а на трейдинговом экране читается как
   украшение. Теперь это фигура, нарисованная рамкой. */
.gen-quiet .gen-quiet-icon:not(#am-gen)::before {
  content: ''; width: 24px; height: 24px; border-radius: 50%;
  border: 2px solid currentColor; border-top-color: transparent; border-right-color: transparent;
}

/* Чья это сделка. Правило автора и сканер бота выглядят по-разному не ради красоты:
   первое он описал сам, второе — наша адаптация движка, отбирающего сигналы в каналы. */
.gen-origin:not(#am-gen) {
  margin: 0; font-size: 13px; line-height: 1.4; text-align: center; color: var(--t-text-3);
}
.gen-origin.is-author:not(#am-gen) { color: var(--t-text-2); }

/* ── ТЕЛЕФОН: «ЕЩЁ» ПЕРЕСТАЁТ БЫТЬ СТЕНОЙ (владелец 24.09) ───────────────────
   «Человек заходит с телефона и вообще в ахуе: сколько всего там есть и куда нажимать».
   Замер на 390×844: экран «Ещё» был 3 044 пикселя — три с половиной экрана прокрутки из
   одиннадцати одинаковых строк по 92 пикселя. Список, где все строки одного веса, глазом
   не читается: его приходится прочитывать целиком.

   Строка ужимается до размера пальца (48 пикселей — это выше порога касания 44), группы
   получают короткую подпись. Меньше пикселей и БОЛЬШЕ смысла: сначала область, потом
   раздел. */
.more-block:not(#am-more) { margin: 0 0 18px; }
.more-cap:not(#am-more) {
  display: block; margin: 0 0 8px 2px; font-size: 11px; letter-spacing: .08em;
  text-transform: uppercase; color: var(--t-text-3);
}
.more-grid.compact:not(#am-more) {
  display: grid; grid-template-columns: 1fr; gap: 0;
  border: 1px solid var(--t-line); border-radius: 14px; overflow: hidden;
  background: var(--t-surface-2, rgba(255, 255, 255, .02));
}
.more-grid.compact > button:not(#am-more) {
  height: auto; min-height: 48px; padding: 0 14px; border: 0; border-radius: 0;
  background: none; grid-template-columns: 22px 1fr 14px; gap: 12px;
}
.more-grid.compact > button + button:not(#am-more) { border-top: 1px solid var(--t-line); }
.more-grid.compact > button > svg:not(#am-more) { width: 18px; }
.more-grid.compact b:not(#am-more) { font-size: 15px; font-weight: 600; }

/* Нижнее меню висит поверх страницы. Без этого запаса последняя строка любого списка
   оказывалась под ним, и человек не понимал, что список кончился. */
@media (width <= 760px) {
  .page:not(#am-more) { padding-bottom: 96px; }
}

/* ── ТЕЛЕФОН: «УРОВНИ» ПЕРЕСТАЮТ ГОВОРИТЬ ОДНО ДВАЖДЫ (владелец 24.09) ────────
   Замер на 390×844: страница была 1 699 пикселей — два экрана прокрутки, и половина из
   них повтор. Сверху карточка «ты здесь · OTS 500» с плашками «Сигналы OTS 500 · Чат ОТС
   500», а ниже в лестнице та же OTS 500 с теми же плашками. Ещё ниже — плашки всех
   пройденных ступеней, то есть перечисление того, что у человека УЖЕ есть.

   Плашка отвечает на вопрос «что мне это даст». У пройденной ступени и у текущей этого
   вопроса нет: что есть сейчас — написано в карточке сверху. Поэтому на телефоне плашки
   остаются только там, где ещё не был. Ни одна строка не исчезает: ступени, отметки и
   суммы на месте — уходит повтор.

   На компьютере всё как было: места там хватает, и владелец прямо сказал, что компьютер
   его устраивает. */
@media (width <= 760px) {
  .lvx-ladder article.done .lvx-chips:not(#am-lvx),
  .lvx-ladder article.current .lvx-chips:not(#am-lvx) { display: none; }
  .lvx-ladder article.done:not(#am-lvx),
  .lvx-ladder article.current:not(#am-lvx) { padding-block: 10px; }

  /* Знак ступени в карточке «ты здесь» занимал треть первого экрана телефона. */
  .lvx-here .lvx-emblem.big:not(#am-lvx) { width: 56px; height: 56px; }
  .lvx-here:not(#am-lvx) { padding-block: 16px; }
}

/* Выбранная пара без потока — это не «ищем», а «по ней не найдётся». Отдельный вид,
   чтобы человек не принял объяснение за обычную подсказку. */
.gen-narrow.is-off:not(#am-gen) {
  border-color: rgba(var(--t-warn-rgb, 240, 180, 90), .45);
  color: var(--t-text);
}

/* ХЛЕБНАЯ КРОШКА РАЗДЕЛА — В ЦВЕТЕ СТУПЕНИ (25.09).

   Амир: «предлагаю сделать название раздела и название текущего уровня в цвете самого
   уровня. Сейчас пользователю может быть сложно визуально определить, где именно находится
   раздел и к какому уровню он относится. Цветовая привязка сделает структуру понятнее с
   первого взгляда».

   Строка «AMIR MARKETS / ИСПЫТАНИЯ» была серой (#68736f) на всех ступенях одинаково, то
   есть не несла ни одного признака, кроме имени раздела. Цвет ступени у нас уже есть и
   меняется темой (`--t-accent`), поэтому привязка ничего не выдумывает: она показывает
   ровно то, что уже правда.

   Только крошка, не заголовок: если подкрасить и h1, страница превратится в два акцента
   подряд, и глазу не за что будет зацепиться. */
.app[data-look="level"] .page-title > div:first-child > span:not(#am-tier) {
  color: var(--t-accent);
  opacity: .92;
}

/* ЦВЕТ СТУПЕНИ ПОБЕЖДАЕТ ЦВЕТ РАЗДЕЛА (04.10, сверка правок 25.09: список 87 №6). Правило выше
   проигрывало более старому `.app[class*="page-"] … { color: var(--realm) !important }`, и на
   «Уровнях» у ОТС 250 крошка была золотой, на «Уведомлениях» — красной: человек видел цвет
   раздела, а не своей ступени. У Эксклюзива и GOLD крошка своя и одна на все экраны (миры),
   поэтому здесь — только ступени, у которых её перебивал цвет раздела. */
.app[data-look="level"]:is([data-tier="1"], [data-tier="2"], [data-tier="2d"], [data-tier="3"])[class*="page-"] .page-title > div:first-child > span:not(#am-tier) {
  color: var(--t-accent) !important;
}

/* Пара действий на экране, которому нечего показать: первая ведёт туда, где что-то есть
   прямо сейчас, вторая объясняет, как открыть остальное. */
.ch-empty-actions { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 14px; }
.path-next { display: flex; }

/* КАРТОЧКА «ДЕЛО НА СЕГОДНЯ» НА ЧУЖОМ ЭКРАНЕ.
   Выглядит как подсказка, а не как вторая главная вещь страницы: человек пришёл сюда за
   своим, а это — ответ на «а что тогда». Поэтому спокойный фон, без акцентной рамки. */
.next-step { display: grid; gap: 6px; justify-items: start; margin-top: 16px;
  padding: 14px 16px; border-radius: 16px;
  background: var(--t-surface-2); border: 1px solid var(--t-line); }
.next-step > small { color: var(--t-text-3); font-size: 11px; letter-spacing: .12em; }
.next-step h3 { margin: 0; font-size: 17px; color: var(--t-text); }
.next-step p { margin: 0; color: var(--t-text-2); font-size: 14px; line-height: 1.45; }
.next-step .next-step-note, .next-step .next-step-why { color: var(--t-text-3); font-size: 12.5px;
  letter-spacing: 0; }
.next-step [data-slot="button"] { margin-top: 6px; }
.lvx-why-block { display: grid; gap: 8px; justify-items: start; margin-top: 8px; }

/* ВТОРАЯ ПОЛКА: ОТВЕТЫ НА ВОПРОСЫ. Тише уроков и явно названа: человек не должен принять
   короткий ответ из эфира за урок, но и потерять его не должен — ответ полезен. */
.vl-answers { margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--t-line); }
.vl-answers h5 { margin: 0 0 4px; font-size: 15px; color: var(--t-text-2); font-weight: 650; }
.vl-answers > p { margin: 0 0 10px; color: var(--t-text-3); font-size: 13px; line-height: 1.45; }

/* Пилюля-комната теперь нажимается. Вид тот же: человек уже принимал её за кнопку — значит
   вид был правильным, неправильным было поведение.

   НО НАЖИМАЛАСЬ ТОЛЬКО НАДПИСЬ (26.09, доделка). `all: unset` снимало с кнопки ВСЁ, включая
   отступы, — поэтому фон и воздух оставались у обёртки `<li>`, а нажималась одна строчка
   текста внутри. Человек целится в овал, попадает в пустоту овала и решает, что «не
   кликабельно» — вторая половина той же жалобы владельца. Поэтому овал теперь и ЕСТЬ
   кнопка: обёртка отдаёт ей свой фон и отступы целиком, и палец попадает в неё всей
   площадью. Размер и высота — как у всех кнопок кабинета: 15 пикселей и 40 в высоту, ниже
   плашка снова превращается в подпись, по которой не хочется жать. Стрелка справа говорит,
   что это переход, а не метка. */
.lvx-chips li.go:not(#am-lvx) { padding: 0; background: none; }
.lvx-chip-go {
  all: unset; box-sizing: border-box; cursor: pointer;
  display: inline-flex; align-items: center; gap: 6px;
  min-height: 40px; padding: 0 14px; border-radius: 999px;
  font-size: 15px; font-weight: 600; color: var(--t-text-2);
  background: rgba(var(--t-accent-rgb, 85, 242, 178), .14);
}
.lvx-chip-go::after { content: "→"; margin-left: 2px; color: var(--t-accent); font-weight: 700; }
.lvx-chips.small li.go .lvx-chip-go { min-height: 36px; padding: 0 12px; }
.lvx-chip-go:hover { background: rgba(var(--t-accent-rgb, 85, 242, 178), .22); color: var(--t-text); }
.lvx-chip-go:focus-visible { outline: 2px solid var(--t-accent); outline-offset: 2px; }

/* ── УКРАШЕНИЯ ЖИВУТ ПОД СОДЕРЖИМЫМ, А НЕ НА НЁМ ────────────────────────────
   Снимки владельца 26.09: золотая коронка перечёркивает подпись «БАЛАНС СЧЁТА», уголки
   лезут на заголовок «Для твоей ступени сейчас нет активного испытания», номер счёта
   читается сквозь завиток. В боте это записано прямо: «коронка мешает увидеть номер
   счета», «вылезло за рамку», «текст не читабелен».

   Тот же класс уже закрывали 19.09 для нижнего меню — там узор мира пересекал подписи
   «Сегодня» и «Сигналы». Приём был найден верный, но применён только к меню: карточки
   остались с украшением поверх текста.

   Здесь то же решение для карточек состояния: карточка получает свой слой, всё её
   содержимое встаёт над украшением, а само украшение уходит вниз и перестаёт ловить
   нажатия. Ни один узор не убран — они просто перестают заслонять то, ради чего человек
   на экран пришёл. */
.app .am-state:not(#am-ornament) {
  position: relative;
  isolation: isolate;
}

.app .am-state:not(#am-ornament) > * {
  position: relative;
  z-index: 1;
}

.app .am-state:not(#am-ornament)::before,
.app .am-state:not(#am-ornament)::after {
  z-index: 0;
  pointer-events: none;
}

/* Внутренний отступ карточек: на снимках содержимое прижато к самому краю рамки, а в
   углах ещё и к украшению. Запас делается от УГЛА, иначе первая строка всегда упирается
   в завиток. */
.app .am-state:not(#am-ornament) {
  padding: clamp(20px, 2.2vw, 26px) clamp(22px, 2.6vw, 30px);
}

/* ПОДЗАГОЛОВОК ЭКРАНА ВИДЕН (04.10, аудит понятности: «где я и что мне это даёт»). Правило
   восстановленного прототипа `.app .page-title p { display: none !important }` прятало строку
   под заголовком на ВСЕХ экранах — а это и есть ответ «что это за экран»: на «Челленджах»
   человек не видел «Здесь ты закрепляешь навык несколько дней подряд…». Одна строка колонкой
   чтения, тише заголовка; рыночная плашка заголовка (.title-market) остаётся скрытой. */
.app .page-title p:not(#am-sub) {
  display: block !important;
  margin: 6px 0 0;
  max-width: 60ch;
  font-size: 14px;
  line-height: 1.5;
  color: var(--t-text-2);
  text-wrap: pretty;
}

/* НОВЫЕ ЭКРАНЫ НА СВЕТЛОМ МИРЕ — ТЁМНЫЙ ОСТРОВ (04.10, найдено глазами на ОТС 250). Экраны языка
   v2 («Обучение», «Стратегии», «Призы», «Помощь») собраны под тёмный фон: стекло rgba(255,255,255,.03)
   и тёплый белый текст. На светлом мире ОТС 250 заголовок «Обучение» вышел белым по белому, кнопка
   «Позвать живого менеджера» — тоже. Так же, как карточка «Найти сделку», экран целиком ложится на
   свою тёмную подложку: мир вокруг остаётся светлым, текст внутри — читаемым. */
.app[data-look="level"][data-tier="2"] :is(.v2-help, .v2-rew, .v2-learn, .v2-strat):not(#am-isl) {
  background: #0B0D10;
  border-radius: 24px;
  padding: 18px 16px 22px;
  box-shadow: 0 24px 60px -30px rgba(10, 30, 70, .45);
}

/* ВЫБОР МИРА ИЗ ПРОЙДЕННЫХ (05.10): подпись и отступ блока; сами кнопки — те же сегменты look-switch. */
.look-world-pick:not(#am-look) {
  margin-top: 10px
}

.look-world-pick:not(#am-look) > small {
  display: block;
  color: var(--t-text-3, #8b968f);
  font-size: 11px;
  letter-spacing: .08em
}

/* «СЕГОДНЯ»: рамка вокруг заголовка срезала дату (владелец 05.10 «вот тут срезано, какая-то рамка»).
   Нижняя линия секции и зелёная плашка ::after резали дату и «Добрый…». Снимаем обе. */
.app .today-hub .page-title:not(#am-today) { border-bottom: 0; }
/* Рамку рисовало общее правило «материала» карточек (product.material.css: `.today-hub > section`)
   — заголовок тоже <section>, и получил тень карточки. Заголовок — не карточка. */
.app:not(.recovery) .today-hub > section.page-title:not(#am-mat) { box-shadow: none; background: none; border: 0; }
/* 05.10, второй заход: рамку рисовала ещё и тень (светлая линия сверху + тень снизу). */
.app .today-hub .page-title::after { display: none; }

/* ЧЕЛЛЕНДЖИ: ПЯТЬ ВАРИАНТОВ И ПЕРВОЕ ЗНАКОМСТВО (владелец 05.10). Список раскрывается по одному,
   появление волной; знакомство — окном поверх, один раз на устройство. */
.ch-variants { display: flex; flex-direction: column; gap: 10px; }
.ch-variant { padding: 0; overflow: hidden; opacity: 0; animation: ch-in .4s cubic-bezier(.2, .8, .2, 1) forwards; transition: border-color .2s, box-shadow .2s; }
.ch-variant.open { box-shadow: 0 22px 60px #00000038, 0 0 0 1px color-mix(in srgb, var(--accent) 45%, transparent); }
.ch-variant-head { width: 100%; display: flex; align-items: center; gap: 14px; padding: 16px 20px; border: 0; background: none; font: inherit; color: var(--t-text); text-align: left; cursor: pointer; }
.ch-variant-head > i { flex: none; width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; font-style: normal; font-weight: 900; color: var(--accent); background: color-mix(in srgb, var(--accent) 14%, transparent); transition: transform .25s; }
.ch-variant-head:hover > i { transform: scale(1.12); }
.ch-variant-head > span { flex: 1; display: flex; flex-direction: column; gap: 2px; }
.ch-variant-head b { font-size: 17px; }
.ch-variant-head small { font-size: 12.5px; opacity: .65; }
.ch-variant-head > em { font-style: normal; font-size: 22px; opacity: .6; width: 20px; text-align: center; }
.ch-variant-body { padding: 0 20px 20px 68px; display: flex; flex-direction: column; gap: 12px; animation: ch-in .3s cubic-bezier(.2, .8, .2, 1); }
.ch-variant-rules { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.ch-variant-rules li { display: flex; gap: 8px; align-items: flex-start; font-size: 14px; line-height: 1.45; }
.ch-variant-rules svg { flex: none; width: 16px; height: 16px; margin-top: 2px; color: var(--accent); }
.ch-variant-how { margin: 0; font-size: 13px; opacity: .7; }
.ch-variant-body [data-slot=button] { align-self: flex-start; }
@media (max-width: 640px) { .ch-variant-body { padding-left: 20px; } }
@keyframes ch-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }

.ch-intro-wrap { position: fixed; inset: 0; z-index: 60; display: grid; place-items: center; padding: 16px; background: rgba(0, 0, 0, .62); backdrop-filter: blur(6px); animation: ch-fade .25s ease-out; }
.ch-intro { max-width: 460px; width: 100%; padding: 28px 26px 24px; border-radius: 22px; color: var(--t-text);
  background: linear-gradient(160deg, rgba(var(--theme-surface-2-rgb, 17, 23, 25), .98), rgba(var(--theme-bg-rgb, 8, 11, 12), .98));
  border: 1px solid color-mix(in srgb, var(--accent) 40%, transparent); box-shadow: 0 30px 80px #0008;
  display: flex; flex-direction: column; gap: 14px; animation: ch-pop .35s cubic-bezier(.2, .8, .2, 1); }
.ch-intro-icon { width: 54px; height: 54px; border-radius: 16px; display: grid; place-items: center; color: var(--accent); background: color-mix(in srgb, var(--accent) 14%, transparent); }
.ch-intro-icon svg { width: 26px; height: 26px; }
.ch-intro h2 { margin: 0; font-size: 23px; line-height: 1.2; }
.ch-intro ol { margin: 0; padding-left: 20px; display: flex; flex-direction: column; gap: 8px; font-size: 14.5px; line-height: 1.5; }
@keyframes ch-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes ch-pop { from { opacity: 0; transform: translateY(14px) scale(.96); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .ch-variant, .ch-variant-body, .ch-intro, .ch-intro-wrap { animation: none; opacity: 1; } }

/* «МОЙ ПУТЬ» — ВЕХИ (владелец 05.10). Вертикальная линия пути: пройденное светится акцентом,
   впереди — пунктиром и тише. Появление по очереди, сверху вниз. */
.path-miles { margin: 18px 0; padding: 20px 22px; border-radius: 20px; background: linear-gradient(150deg, rgba(var(--theme-surface-2-rgb, 17, 23, 25), .95), rgba(var(--theme-bg-rgb, 8, 11, 12), .92)); border: 1px solid rgba(var(--theme-border-rgb, 255, 255, 255), .12); }
.path-miles header { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 14px; flex-wrap: wrap; }
.path-miles header > span { font-size: 11px; font-weight: 800; letter-spacing: .16em; opacity: .65; }
.path-wr { font-style: normal; display: flex; align-items: baseline; gap: 6px; font-size: 13px; }
.path-wr b { font-size: 22px; color: var(--accent); }
.path-wr small { opacity: .6; }
.path-miles ol { list-style: none; margin: 0; padding: 0; position: relative; }
.path-miles li { position: relative; display: flex; gap: 14px; padding: 0 0 18px; opacity: 0; animation: ch-in .4s cubic-bezier(.2, .8, .2, 1) forwards; }
.path-miles li:last-child { padding-bottom: 0; }
.path-miles li::before { content: ""; position: absolute; left: 13px; top: 28px; bottom: 0; width: 2px; background: color-mix(in srgb, var(--accent) 55%, transparent); }
.path-miles li.ahead::before { background: none; border-left: 2px dashed rgba(255, 255, 255, .14); }
.path-miles li:last-child::before { display: none; }
.path-miles li > i { flex: none; width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; font-style: normal; font-weight: 900; font-size: 14px; z-index: 1; }
.path-miles li.done > i { color: #140f06; background: var(--accent); box-shadow: 0 0 18px color-mix(in srgb, var(--accent) 45%, transparent); }
.path-miles li.ahead > i { border: 2px dashed rgba(255, 255, 255, .22); background: rgba(255, 255, 255, .02); }
.path-miles li > div { display: flex; flex-direction: column; gap: 2px; padding-top: 3px; }
.path-miles li b { font-size: 15px; }
.path-miles li small { font-size: 12.5px; opacity: .65; line-height: 1.4; }
.path-miles li.ahead b { opacity: .55; }

/* МИРЫ УРОВНЕЙ (владелец 05.10). Карточка каждого мира — в его цвете; выбранная растёт и
   светится; панель «что здесь есть» въезжает снизу. Цвета — как у комнат в статистике ОТС
   (250 — лёд, 500 — бирюза, Эксклюзив — красный, GOLD — золото, Семья — тёплый янтарь). */
.lw { display: flex; flex-direction: column; gap: 14px; margin-bottom: 22px; }
.lw-head small { font-size: 11px; font-weight: 800; letter-spacing: .16em; opacity: .7; }
.lw-head p { margin: 4px 0 0; font-size: 13.5px; opacity: .75; }
.lw-cards { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; }
@media (max-width: 860px) { .lw-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 520px) { .lw-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.lw-card, .lw-panel { --w: #e0a35a; --w2: #3a2412; }
.lw-card[data-w="1"], .lw-panel[data-w="1"] { --w: #f0a463; --w2: #3b2210; }
.lw-card[data-w="2"], .lw-panel[data-w="2"] { --w: #9fd6ff; --w2: #10283a; }
.lw-card[data-w="3"], .lw-panel[data-w="3"] { --w: #3fd1b5; --w2: #0c2c27; }
.lw-card[data-w="4"], .lw-panel[data-w="4"] { --w: #ff5b5b; --w2: #3a1013; }
.lw-card[data-w="5"], .lw-panel[data-w="5"] { --w: #f4c95d; --w2: #3a2c08; }
.lw-card { position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 6px; min-height: 120px; padding: 16px; border-radius: 18px; border: 1px solid color-mix(in srgb, var(--w) 35%, transparent); cursor: pointer; font: inherit; color: #f5efe6; text-align: left; overflow: hidden;
  background: radial-gradient(120% 90% at 100% 0%, color-mix(in srgb, var(--w) 32%, transparent), transparent 60%), linear-gradient(160deg, var(--w2), #0b0c0e);
  opacity: 0; animation: ch-in .45s cubic-bezier(.2, .8, .2, 1) forwards; transition: transform .25s cubic-bezier(.2, .8, .2, 1), box-shadow .25s, border-color .25s; }
.lw-card:hover { transform: translateY(-3px) scale(1.03); box-shadow: 0 14px 40px color-mix(in srgb, var(--w) 25%, transparent); }
.lw-card.on { transform: translateY(-3px) scale(1.05); border-color: var(--w); box-shadow: 0 0 0 1px var(--w), 0 18px 50px color-mix(in srgb, var(--w) 35%, transparent); }
.lw-sigil { font-size: 26px; line-height: 1; color: var(--w); text-shadow: 0 0 18px color-mix(in srgb, var(--w) 60%, transparent); }
.lw-card b { font-size: 16px; }
.lw-card small { font-size: 12px; opacity: .7; }
.lw-card.mine::after { content: "ты здесь"; position: absolute; top: 10px; right: 10px; font-size: 10px; font-weight: 800; letter-spacing: .08em; padding: 3px 7px; border-radius: 999px; color: #120d06; background: var(--w); }
.lw-panel { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 18px; padding: 20px 22px; border-radius: 20px; border: 1px solid color-mix(in srgb, var(--w) 40%, transparent);
  background: linear-gradient(160deg, color-mix(in srgb, var(--w2) 80%, #000), #0b0c0e); color: #f5efe6; animation: ch-pop .35s cubic-bezier(.2, .8, .2, 1); }
@media (max-width: 760px) { .lw-panel { grid-template-columns: 1fr; } }
.lw-panel-main small { font-size: 11px; font-weight: 800; letter-spacing: .16em; color: var(--w); }
.lw-panel-main h3 { margin: 4px 0 12px; font-size: 21px; }
.lw-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.lw-list li { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; font-size: 14px; }
.lw-list li svg { width: 16px; height: 16px; color: var(--w); flex: none; }
.lw-list li em { font-style: normal; font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 999px; color: var(--w); background: color-mix(in srgb, var(--w) 14%, transparent); }
.lw-list li:not(.new) { opacity: .75; }
.lw-panel-side { display: flex; flex-direction: column; gap: 10px; padding: 16px; border-radius: 16px; background: rgba(255, 255, 255, .04); }
.lw-panel-side > b { font-size: 16px; color: var(--w); }
.lw-panel-side p { margin: 0; font-size: 13.5px; line-height: 1.5; opacity: .85; }
.lw-back { align-self: flex-start; border: 0; background: none; padding: 0; font: inherit; font-size: 13px; color: inherit; opacity: .7; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }

/* «МОЙ СЧЁТ» ЖИВЕЕ (владелец 05.10: «сыроват»). Сумма — крупно на свечении цвета уровня,
   уровень и доступ — рядом, блоки появляются по очереди. */
.app .account-hero { position: relative; overflow: hidden; border-radius: 22px;
  background: radial-gradient(90% 120% at 0% 0%, color-mix(in srgb, var(--accent, #d9b66e) 22%, transparent), transparent 60%),
              linear-gradient(160deg, rgba(var(--theme-surface-2-rgb, 17, 23, 25), .96), rgba(var(--theme-bg-rgb, 8, 11, 12), .94));
  animation: acc-in .45s cubic-bezier(.2,.8,.2,1) both; }
.app .account-hero .account-figure h1 { font-size: clamp(40px, 6vw, 60px); letter-spacing: -.03em;
  background: linear-gradient(180deg, #fff, color-mix(in srgb, var(--accent, #d9b66e) 70%, #fff)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.app .account-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
@media (max-width: 760px) { .app .account-pair { grid-template-columns: 1fr; } }
.app .account-pair > section { margin: 0; height: 100%; box-sizing: border-box; border-radius: 18px; transition: transform .22s, box-shadow .22s; animation: acc-in .45s .08s cubic-bezier(.2,.8,.2,1) both; }
.app .account-pair > section:hover { transform: translateY(-2px); box-shadow: 0 14px 34px color-mix(in srgb, var(--accent, #d9b66e) 14%, transparent); }
.app .account-pair .account-tier b { font-size: 26px; color: var(--accent, #d9b66e); }
.app .account-moves, .app .account-why { animation: acc-in .45s .05s cubic-bezier(.2,.8,.2,1) both; }
@keyframes acc-in { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .app .account-hero, .app .account-pair > section, .app .account-moves, .app .account-why { animation: none; } }

/* «ЧАТЫ» КРАСИВЕЕ (владелец 05.10: «сыровато, хочется красиво, в анимациях»). У комнаты — цвет
   её мира (как на «Уровнях»), появление волной, свечение и сдвиг на наведении. */
.app .srx-card { --rc: #d9b66e; position: relative; overflow: hidden; opacity: 0; animation: srx-in .4s cubic-bezier(.2,.8,.2,1) forwards;
  transition: transform .22s cubic-bezier(.2,.8,.2,1), box-shadow .22s, border-color .22s; }
.app .srx-card[data-room="semya"] { --rc: #f0a463; }
.app .srx-card[data-room="ots250"] { --rc: #9fd6ff; }
.app .srx-card[data-room="ots500"] { --rc: #3fd1b5; }
.app .srx-card[data-room="exclusive"] { --rc: #ff5b5b; }
.app .srx-card.manager { --rc: #e2b15f; }
.app .srx-card::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 3px; background: var(--rc); opacity: .9; }
.app .srx-card > i { display: grid; place-items: center; border-radius: 12px; background: color-mix(in srgb, var(--rc) 16%, transparent); box-shadow: 0 0 18px color-mix(in srgb, var(--rc) 22%, transparent); transition: transform .25s; }
.app .srx-card:not(.locked):hover { transform: translateX(4px); box-shadow: 0 12px 30px color-mix(in srgb, var(--rc) 18%, transparent); border-color: color-mix(in srgb, var(--rc) 45%, transparent); }
.app .srx-card:not(.locked):hover > i { transform: scale(1.1) rotate(-4deg); }
.app .srx-card.locked { filter: saturate(.6); }
.app .srx-msg { animation: srx-in .3s cubic-bezier(.2,.8,.2,1); }
@keyframes srx-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .app .srx-card, .app .srx-msg { animation: none; opacity: 1; } }

/* «СЕГОДНЯ НА РЫНКЕ» (владелец 05.10). Три живых состояния; зелёная точка — открыто, серая — нет,
   пульс — идёт открытая сессия. Каждое ведёт в «Сигналы». */
.app .tv-market { display: flex; flex-direction: column; gap: 8px; margin: 4px 0 14px; }
.app .tv-market > small { font-size: 11px; font-weight: 800; letter-spacing: .16em; opacity: .65; }
.app .tv-market-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 10px; }
.app .tv-mk { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-radius: 16px; border: 1px solid rgba(var(--theme-border-rgb, 255,255,255), .1); background: rgba(255,255,255,.03); font: inherit; color: inherit; text-align: left; cursor: pointer; transition: transform .2s, border-color .2s; animation: acc-in .4s cubic-bezier(.2,.8,.2,1) both; }
.app .tv-mk:hover { transform: translateY(-2px); border-color: color-mix(in srgb, var(--accent, #d9b66e) 40%, transparent); }
.app .tv-mk > i { flex: none; width: 10px; height: 10px; border-radius: 50%; background: #6f6a61; }
.app .tv-mk.on > i { background: #2bc59a; box-shadow: 0 0 10px #2bc59a99; }
.app .tv-mk.live > i { background: #f0625e; animation: v2-find-pulse 1.6s ease-out infinite; }
.app .tv-mk span { display: flex; flex-direction: column; gap: 2px; }
.app .tv-mk b { font-size: 14px; }
.app .tv-mk em { font-style: normal; font-size: 12.5px; opacity: .7; }

/* ОКНО «НОВЫЙ УРОВЕНЬ» (06.10): у кнопок не было ни одного правила — две кнопки слипались в одну
   строку текста «…GOLD OTCПосмотреть, что открылось». Теперь — главная и тихая кнопка. */
.levelup-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 6px; }
.levelup-apply, .levelup-later { font: inherit; font-size: 14px; font-weight: 800; padding: 11px 16px; border-radius: 12px; cursor: pointer; border: 0; }
.levelup-apply { color: var(--t-ink, #140e02); background: linear-gradient(180deg, var(--t-accent-soft, #ffe6a3), var(--t-accent, #f2c14e)); box-shadow: 0 10px 30px -12px rgba(var(--t-accent-rgb, 242,193,78), .7); }
.levelup-later { color: var(--t-text, #fff); background: rgba(255,255,255,.06); box-shadow: inset 0 0 0 1px rgba(255,255,255,.14); }
.levelup-apply:hover, .levelup-later:hover { filter: brightness(1.08); }

/* Верхняя ступень (06.10): шапка с кубком вместо пустой плашки, ниже — витрина вариантов. */
.ch-card.ch-top { display: flex; gap: 16px; align-items: center; padding: 22px; }
.ch-card.ch-top > svg { flex: none; width: 44px; height: 44px; padding: 10px; border-radius: 14px; color: var(--t-ink, #140e02); background: linear-gradient(180deg, var(--t-accent-soft, #ffe6a3), var(--t-accent, #f2c14e)); }
.ch-card.ch-top h2 { margin: 0 0 4px; font-size: 20px; }
.ch-card.ch-top p { margin: 0; color: var(--t-text-2, #e6dfcf); line-height: 1.5; }

/* ПЛАШКА «ПРИВЯЖИ TELEGRAM» (15.10): человек с почты видит кабинет, но сигналы, уровень и чат
   считаются по Telegram — одна кнопка над любым экраном, пока связи нет. */
.am-live .telegram-link-banner { display: flex; align-items: center; gap: 14px; margin: 0 0 16px; padding: 14px 16px; border-radius: 16px; border: 1px solid color-mix(in srgb, var(--t-accent, #f2c14e) 35%, transparent); background: color-mix(in srgb, var(--t-accent, #f2c14e) 9%, transparent); animation: acc-in .4s cubic-bezier(.2,.8,.2,1) both; }
.am-live .telegram-link-banner > svg { flex: none; width: 22px; height: 22px; color: var(--t-accent, #f2c14e); }
.am-live .telegram-link-banner > div { flex: 1; display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.am-live .telegram-link-banner b { font-size: 14px; }
.am-live .telegram-link-banner small { font-size: 12.5px; opacity: .72; }
.am-live .telegram-link-banner small[role=alert] { opacity: 1; color: var(--am-coral, #f0625e); }
.am-live .telegram-link-banner .primary { flex: none; display: inline-flex; align-items: center; gap: 6px; font: inherit; font-size: 13.5px; font-weight: 800; padding: 10px 14px; border-radius: 12px; border: 0; cursor: pointer; text-decoration: none; color: var(--t-ink, #140e02); background: linear-gradient(180deg, var(--t-accent-soft, #ffe6a3), var(--t-accent, #f2c14e)); }
.am-live .telegram-link-banner .primary:disabled { opacity: .6; cursor: default; }
.am-live .telegram-link-banner .primary svg { width: 16px; height: 16px; }
@media (max-width: 640px) { .am-live .telegram-link-banner { flex-wrap: wrap; } .am-live .telegram-link-banner .primary { width: 100%; justify-content: center; } }
/* СГЕНЕРИРОВАНО scripts/theme_layer.py — НЕ ПРАВИТЬ РУКАМИ.
   Каждое правило повторяет правило вёрстки, но цвет заменён на РОЛЬ среды:
   поверхность (пять глубин) · граница (две силы) · текст (три тишины) ·
   акцент, второй и третий тон. Значения ролям даёт тема ступени. */

.app[data-look] .navigator-launcher {
  background: linear-gradient(145deg, rgba(var(--t-bg-2-rgb), 0.969), rgba(var(--t-bg-rgb), 0.969));
  border-color: rgba(var(--t-accent-rgb), 0.302);
  box-shadow: 0 24px 70px #0000007a, inset 0 1px rgba(var(--t-border-rgb), calc(0.039 * var(--t-border-k)));
  color: var(--t-text);
  border: 1px solid rgba(var(--t-third-soft-rgb), 0.251);
}
.app[data-look] .future-day-preview {
  background: linear-gradient(145deg, rgba(var(--t-third-soft-rgb), 0.071), rgba(var(--t-bg-rgb), 0.722));
  border: 1px solid rgba(var(--t-third-soft-rgb), 0.220);
}
.app[data-look] .future-day-preview>header span {
  color: var(--t-third-soft);
}
.app[data-look] .future-day-preview>header b {
  color: var(--t-text-2);
}
.app[data-look] .future-day-preview article {
  background: rgba(var(--t-bg-rgb), 0.722);
  border: 1px solid rgba(var(--t-border-rgb), calc(0.078 * var(--t-border-k)));
}
.app[data-look] .future-day-preview article.future-main-event {
  background: radial-gradient(circle at 90% 14%, rgba(var(--t-third-soft-rgb), 0.220), #0000 34%), var(--t-surface);
  border-color: rgba(var(--t-third-soft-rgb), 0.502);
  box-shadow: 0 18px 50px rgba(var(--t-third-deep-rgb), 0.200);
}
.app[data-look] .future-day-preview time {
  color: var(--t-text);
}
.app[data-look] .future-day-preview .future-main-event>i {
  background: var(--t-third-soft);
  box-shadow: 0 0 14px var(--t-third-soft);
}
.app[data-look] .future-day-preview small {
  color: var(--t-text-3);
}
.app[data-look] .future-day-preview .future-main-event small {
  color: var(--t-third-soft);
}
.app[data-look] .future-day-preview article b {
  color: var(--t-text);
}
.app[data-look] .future-day-preview article em {
  color: var(--t-text-3);
}
.app[data-look] .future-day-preview article>svg {
  color: var(--t-third-soft);
}
.app[data-look] .next-signal>.signal-pulse-mark {
  color: var(--t-accent-soft);
}
.app[data-look] .next-signal .signal-main strong {
  color: var(--t-accent) !important;
}
.app[data-look] .level-preview {
  box-shadow: inset 0 1px rgba(var(--t-border-rgb), calc(0.035 * var(--t-border-k)));
  background: linear-gradient(150deg, var(--t-surface), var(--t-bg) 76%) !important;
}
.app[data-look] .strategy-choice-list>button {
  background: rgba(var(--t-bg-2-rgb), 0.780) !important;
  border-color: rgba(var(--t-alt-soft-rgb), 0.086) !important;
  color: var(--t-text);
}
.app[data-look] .strategy-choice-list b {
  color: var(--t-text);
}
.app[data-look] .theme-bot {
  --strategy-accent: var(--t-accent);
  --strategy-muted: var(--t-accent-deep);
}
.app[data-look] .theme-starter {
  --strategy-accent: var(--t-third);
  --strategy-muted: var(--t-third-deep);
}
.app[data-look] .theme-trend {
  --strategy-accent: var(--t-alt);
  --strategy-muted: var(--t-alt-deep);
}
.app[data-look].page-learn {
  --realm: var(--t-third-soft);
}
.app[data-look].page-community {
  --realm: var(--t-third-soft);
}
.app[data-look].page-challenges {
  --realm: var(--t-alt);
}
.app[data-look].page-rewards {
  --realm: var(--t-alt);
}
.app[data-look].page-access {
  --realm: var(--t-alt);
}
.app[data-look].page-support {
  --realm: var(--t-accent);
}
.app[data-look].page-learn .learning-summary {
  background: radial-gradient(circle at 84% 18%, rgba(var(--t-third-soft-rgb), 0.122), #0000 28%), linear-gradient(145deg, var(--t-surface), var(--t-bg-2) 72%) !important;
  border-color: rgba(var(--t-third-soft-rgb), 0.239) !important;
  box-shadow: inset 3px 0 var(--t-third-soft), 0 24px 60px #0003 !important;
}
.app[data-look].page-learn .learning-next-card {
  background: linear-gradient(150deg, var(--t-surface), var(--t-bg-2)) !important;
  border-color: rgba(var(--t-third-soft-rgb), 0.161) !important;
  box-shadow: inset 0 1px rgba(var(--t-border-rgb), calc(0.039 * var(--t-border-k)));
}
.app[data-look].page-learn .lesson-player .video {
  background: radial-gradient(circle at 52%, rgba(var(--t-third-soft-rgb), 0.161), #0000 28%), linear-gradient(145deg, var(--t-surface-2), var(--t-bg-2)) !important;
}
.app[data-look].page-learn .lesson-list button.selected {
  background: linear-gradient(90deg, rgba(var(--t-third-soft-rgb), 0.129), #0000) !important;
  border-color: rgba(var(--t-third-soft-rgb), 0.522) !important;
  box-shadow: inset 3px 0 var(--t-third-soft) !important;
}
.app[data-look] .community-page.room-free {
  --room: var(--t-third-soft);
}
.app[data-look] .community-page.room-family {
  --room: var(--t-accent);
}
.app[data-look] .community-page.room-ots-250 {
  --room: var(--t-alt);
}
.app[data-look] .community-page.room-exclusive {
  --room: var(--t-alt-soft);
}
.app[data-look] .community-page.room-gold {
  --room: var(--t-alt);
}
.app[data-look] .community-page .community-rooms {
  background: radial-gradient(circle at 92% 0, rgba(var(--room-rgb), .1), transparent 31%), linear-gradient(150deg, var(--t-surface), var(--t-bg-2) 74%) !important;
}
.app[data-look].page-challenges .active-challenge {
  background: radial-gradient(circle at 14%, rgba(var(--t-alt-rgb), 0.110), #0000 25%), linear-gradient(145deg, var(--t-surface), var(--t-bg-2) 72%) !important;
  border-color: rgba(var(--t-alt-rgb), 0.278) !important;
  box-shadow: inset 0 1px rgba(var(--t-border-rgb), calc(0.039 * var(--t-border-k))), 0 24px 70px #0000003d !important;
}
.app[data-look].page-challenges .challenge-number {
  color: var(--t-alt) !important;
  background: radial-gradient(circle, rgba(var(--t-alt-rgb), 0.129), #0000 68%) !important;
  border-color: rgba(var(--t-alt-rgb), 0.361) !important;
}
.app[data-look].page-challenges .available-list .challenge-choice {
  background: linear-gradient(145deg, var(--t-surface), var(--t-bg-2)) !important;
  border-color: rgba(var(--t-alt-soft-rgb), 0.090) !important;
}
.app[data-look].page-challenges .available-list .challenge-choice:hover {
  border-color: rgba(var(--t-alt-rgb), 0.322) !important;
}
.app[data-look].page-rewards .reward-summary {
  background: linear-gradient(145deg, var(--t-surface), var(--t-bg-2) 74%) !important;
  border-color: rgba(var(--t-alt-rgb), 0.259) !important;
  box-shadow: inset 3px 0 var(--t-alt) !important;
}
.app[data-look].page-rewards .reward-grid>button {
  background: radial-gradient(circle at 80% 12%, rgba(var(--t-alt-rgb), 0.078), #0000 28%), linear-gradient(150deg, var(--t-surface), var(--t-bg)) !important;
  border-color: rgba(var(--t-alt-rgb), 0.149) !important;
}
.app[data-look].page-rewards .reward-grid>button.claimable {
  border-color: rgba(var(--t-accent-rgb), 0.420) !important;
  box-shadow: 0 0 0 1px rgba(var(--t-accent-rgb), 0.051), 0 22px 50px #0003 !important;
}
.app[data-look].page-access .access-current {
  background: radial-gradient(circle at 88% 24%, rgba(var(--t-alt-rgb), 0.161), #0000 28%), linear-gradient(145deg, var(--t-surface), var(--t-bg-2) 72%) !important;
  border-color: rgba(var(--t-alt-rgb), 0.278) !important;
  box-shadow: inset 3px 0 var(--t-alt), 0 28px 76px #0000003d !important;
}
.app[data-look].page-levels .level-list article.current {
  background: linear-gradient(100deg, rgba(var(--t-alt-rgb), 0.122), var(--t-bg-2) 72%) !important;
  border-color: rgba(var(--t-alt-rgb), 0.459) !important;
}
.app[data-look] .community-page .mobile-room-trigger {
  color: var(--t-text);
  background: linear-gradient(100deg, var(--room-accent), var(--t-bg-2) 70%) !important;
  box-shadow: inset 0 1px rgba(var(--t-border-rgb), calc(0.024 * var(--t-border-k))), 0 18px 50px #0003 !important;
}
.app[data-look] .community-page .mobile-room-trigger small {
  color: var(--t-text-3);
}
.app[data-look] .available-list>.challenge-choice {
  color: var(--t-text);
}
.app[data-look] .available-list>.challenge-choice:hover {
  background: rgba(var(--t-accent-rgb), 0.055);
}
.app[data-look] .available-list>.challenge-choice>svg:first-child {
  color: var(--t-accent);
}
.app[data-look] .available-list>.challenge-choice p {
  color: var(--t-text-3);
}
.app[data-look] .available-list>.challenge-choice>span {
  color: var(--t-accent);
}
.app[data-look] .trade-generator-dialog.strategy-world {
  border-color: var(--strategy-accent, var(--t-accent)) !important;
  background: radial-gradient(circle at 87% 8%, var(--strategy-accent), transparent 31%), radial-gradient(circle at 12% 94%, var(--strategy-accent), transparent 35%), linear-gradient(155deg, var(--t-bg-2), var(--t-bg) 72%) !important;
  box-shadow: 0 42px 130px #000000b3, inset 0 1px rgba(var(--t-border-rgb), calc(0.055 * var(--t-border-k))) !important;
}
.app[data-look] .strategy-world-preview {
  background: radial-gradient(circle at 76% 14%, var(--strategy-accent), transparent 28%), linear-gradient(145deg, var(--strategy-muted), var(--t-bg) 72%) !important;
  box-shadow: inset 0 1px rgba(var(--t-border-rgb), calc(0.051 * var(--t-border-k))), 0 25px 60px #0000004d !important;
}
.app[data-look] .strategy-world-preview h2 {
  color: var(--t-text);
}
.app[data-look] .strategy-world-preview>p {
  color: var(--t-text-2);
}
.app[data-look] .strategy-world-preview>div:last-child span {
  color: var(--t-text-2);
}
.app[data-look] .generator-context-line small {
  color: var(--t-text-3);
}
.app[data-look] .generator-context-line b {
  color: var(--t-text);
}
.app[data-look] .generated-deal-card[class*=theme-] {
  background: radial-gradient(circle at 80% 22%, var(--strategy-accent), transparent 34%), var(--t-surface);
}
.app[data-look] .generated-deal-card>small {
  color: var(--t-text-2);
}
.app[data-look] .challenge-actions>button:first-child {
  color: var(--t-text-2);
}
.app[data-look] .available-list article.accepted {
  background: rgba(var(--t-elevated-rgb), 0.349);
  border-color: rgba(var(--t-accent-rgb), 0.349);
}
.app[data-look] .mechanic-dialog {
  color: var(--t-text) !important;
  background: var(--t-bg-2) !important;
}
.app[data-look] .mechanic-dialog [data-slot=dialog-title] {
  color: var(--t-text);
}
.app[data-look] .mechanic-dialog [data-slot=dialog-description] {
  color: var(--t-text-3);
}
.app[data-look] .mechanic-purpose {
  color: var(--t-accent);
  background: rgba(var(--t-accent-deep-rgb), 0.278);
  border: 1px solid rgba(var(--t-accent-rgb), 0.278);
}
.app[data-look] .pocket-manage-status small {
  color: var(--t-text-3);
}
.app[data-look] .pocket-manage-status b {
  color: var(--t-text);
}
.app[data-look] .mechanic-rules article {
  background: var(--t-surface);
}
.app[data-look] .mechanic-rules article>svg {
  color: var(--t-accent);
}
.app[data-look] .mechanic-note {
  color: var(--t-text-2);
  background: rgba(var(--t-alt-deep-rgb), 0.200);
  border-left: 2px solid var(--t-alt);
}
.app[data-look] .reward-grid>button {
  background: var(--t-surface);
}
.app[data-look] .reward-grid>button>div {
  color: var(--t-alt);
  background: var(--t-surface-2);
}
.app[data-look] .reward-grid>button>h3 {
  color: var(--t-text);
}
.app[data-look] .reward-grid>button>p {
  color: var(--t-text-3);
}
.app[data-look] .reward-grid>button>svg {
  color: var(--t-text-3);
}
.app[data-look] .reward-grid>button.claimable {
  background: radial-gradient(circle at 90% 0, #9070e72e, #0000 40%), var(--t-surface);
}
.app[data-look] .reward-detail-art {
  background: radial-gradient(circle, #a989ff33, #0000 62%), var(--t-surface);
}
.app[data-look] .support-faq {
  background: var(--t-surface);
}
.app[data-look] .support-faq>header {
  color: var(--t-text-3);
}
.app[data-look] .support-faq header span {
  color: var(--t-accent);
}
.app[data-look] .support-faq header h2 {
  color: var(--t-text);
}
.app[data-look] .notification-inbox>header button {
  color: var(--t-text-3);
}
.app[data-look] .notification-inbox>button {
  color: var(--t-text);
}
.app[data-look] .notification-inbox>button>i {
  color: var(--t-accent);
  background: var(--t-surface-2);
}
.app[data-look] .notification-inbox>button>i.lesson {
  color: var(--t-third-soft);
  background: var(--t-elevated);
}
.app[data-look] .notification-inbox>button>i.reward {
  color: var(--t-alt);
  background: var(--t-surface-2);
}
.app[data-look] .notification-inbox>button small {
  color: var(--t-text-3);
}
.app[data-look] .notification-inbox>button em {
  color: var(--t-text-3);
}
.app[data-look] .notification-test {
  background: var(--t-surface);
}
.app[data-look] .notification-test>span {
  color: var(--t-text);
}
.app[data-look] .notification-test svg {
  color: var(--t-accent);
}
.app[data-look] .ticket-message {
  color: var(--t-text-2);
}
.app[data-look] .ticket-message textarea {
  color: var(--t-text);
  background: var(--t-surface);
}
.app[data-look] .support-hero {
  background: radial-gradient(circle at 90% 15%, rgba(var(--t-accent-rgb), 0.180), #0000 30%), linear-gradient(135deg, var(--t-surface-2), var(--t-surface) 65%);
  border: 1px solid rgba(var(--t-accent-rgb), 0.322);
}
.app[data-look] .support-hero span {
  color: var(--t-accent);
}
.app[data-look] .support-hero h2 {
  color: var(--t-text);
}
.app[data-look] .support-hero p {
  color: var(--t-text-2);
}
.app[data-look] .support-categories>div>button {
  color: var(--t-text);
}
.app[data-look] .support-categories>div>button>svg:first-child {
  color: var(--t-accent);
}
.app[data-look] .support-categories>div>button>svg:last-child {
  color: var(--t-text-3);
}
.app[data-look] .support-categories button small {
  color: var(--t-text-3);
}
.app[data-look] .support-status-card {
  background: var(--t-surface);
}
.app[data-look] .support-status-card svg {
  color: var(--t-accent);
}
.app[data-look] .support-status-card small {
  color: var(--t-text-3);
}
.app[data-look] .support-status-card b {
  color: var(--t-text);
}
.app[data-look] .support-status-card button {
  color: var(--t-accent);
}
.app[data-look] .support-faq>button {
  color: var(--t-text);
}
.app[data-look] .support-faq>button small {
  color: var(--t-text-2);
}
.app[data-look] .pocket-manage-status {
  color: var(--t-accent);
  background: rgba(var(--t-accent-deep-rgb), 0.251);
  border: 1px solid rgba(var(--t-accent-rgb), 0.251);
}
.app[data-look] .settings-list article {
  color: var(--t-text);
  background: var(--t-surface);
}
.app[data-look] .settings-list article>svg:first-child {
  color: var(--t-accent);
}
.app[data-look] .settings-list article small {
  color: var(--t-text-3);
}
.app[data-look] .signal-route-map {
  background: rgba(var(--t-surface-rgb), 0.780);
}
.app[data-look] .signal-route-map>svg {
  color: var(--t-text-3);
}
.app[data-look] .signal-route-map>span>i {
  color: var(--t-text-2);
}
.app[data-look] .signal-route-map>span.active>i {
  color: var(--t-accent-strong);
  background: rgba(var(--t-accent-rgb), 0.122);
  border-color: var(--t-accent);
}
.app[data-look] .signal-route-map b {
  color: var(--t-text);
}
.app[data-look] .signal-route-map small {
  color: var(--t-text-3);
}
.app[data-look] .session-origin-strip {
  background: rgba(var(--t-surface-rgb), 0.780);
}
.app[data-look] .session-origin-strip>button {
  color: var(--t-text);
  background: var(--t-surface);
}
.app[data-look] .session-origin-strip>svg {
  color: var(--t-text-3);
}
.app[data-look] .session-origin-strip small {
  color: var(--t-text-3);
}
.app[data-look] .session-origin-strip strong {
  color: var(--t-accent);
}
.app[data-look] .pocket-bridge-card {
  background: radial-gradient(circle at 0 0, rgba(var(--t-accent-rgb), 0.102), #0000 38%), rgba(var(--t-surface-rgb), 0.878);
  border: 1px solid rgba(var(--t-accent-rgb), 0.278);
}
.app[data-look] .pocket-bridge-copy>span {
  color: var(--t-accent);
}
.app[data-look] .pocket-bridge-copy h2 {
  color: var(--t-text);
}
.app[data-look] .pocket-bridge-copy p {
  color: var(--t-text-2);
}
.app[data-look] .pocket-bridge-steps>svg {
  color: var(--t-text-3);
}
.app[data-look] .pocket-bridge-steps>span {
  background: rgba(var(--t-bg-rgb), 0.478);
}
.app[data-look] .pocket-bridge-steps i {
  color: var(--t-text-2);
  background: var(--t-elevated);
}
.app[data-look] .pocket-bridge-steps b {
  color: var(--t-text);
}
.app[data-look] .pocket-bridge-steps small {
  color: var(--t-text-3);
}
.app[data-look] a:focus-visible {
  outline: 3px solid rgba(var(--t-accent-deep-rgb), 0.349);
}
.app[data-look] .logo>span i {
  border: 1px solid rgba(var(--t-border-strong-rgb), calc(0.220 * var(--t-border-k)));
}
.app[data-look] .preview-head {
  color: var(--t-text-2);
}
.app[data-look] .preview-head i {
  background: var(--t-accent-soft);
  box-shadow: 0 0 0 5px rgba(var(--t-accent-soft-rgb), 0.102);
}
.app[data-look] .preview-head b {
  color: var(--t-accent-soft);
}
.app[data-look] .preview-signal strong {
  color: var(--t-accent-strong);
}
.app[data-look] .preview-actions {
  border: 1px solid rgba(var(--t-border-rgb), calc(0.102 * var(--t-border-k)));
}
.app[data-look] .preview-actions span {
  color: var(--t-text-2);
  border-right: 1px solid rgba(var(--t-border-rgb), calc(0.102 * var(--t-border-k)));
}
.app[data-look] .preview-actions svg {
  color: var(--t-accent-soft);
}
.app[data-look] .who-grid .not-for svg {
  color: var(--t-text-3);
}
.app[data-look] .who-grid p {
  color: var(--t-text-3);
}
.app[data-look] .free-offer article {
  border: 1px solid rgba(var(--t-border-rgb), calc(0.102 * var(--t-border-k)));
  background: var(--t-surface);
  color: var(--t-text);
  border-color: rgba(var(--t-border-rgb), calc(0.102 * var(--t-border-k)));
}
.app[data-look] .free-offer article svg {
  color: var(--t-accent-soft);
}
.app[data-look] .free-offer article p {
  color: var(--t-text-3);
}
.app[data-look] .free-offer article span {
  color: var(--t-accent-soft);
}
.app[data-look] .how article p {
  color: var(--t-text-3);
}
.app[data-look] .sidebar .logo small {
  color: var(--t-text-3);
}
/* Подписи групп бокового меню («СЕЙЧАС», «МОЙ ПУТЬ», «МЫ») брали прототипный серый #52605a
   одинаково во всех мирах — на бордовом и чёрном фоне контраст 1.3–3 (автопроверка 15.09). */
.app[data-look] .nav-group>small {
  color: var(--t-text-3);
}
.app[data-look] .sidebar nav button {
  color: var(--t-text-3);
}
.app[data-look] .sidebar nav button>i {
  background: var(--t-accent-soft);
}
.app[data-look] .side-level {
  border: 1px solid rgba(var(--t-alt-rgb), 0.200);
  background: linear-gradient(145deg, rgba(var(--t-alt-rgb), 0.090), #ffffff05);
  border-color: rgba(var(--t-alt-rgb), 0.200);
}
.app[data-look] .side-level button {
  color: var(--t-alt);
}
.app[data-look] .level-current span {
  color: var(--t-text-2);
}
.app[data-look].page-title p {
  color: var(--t-text-3);
}
.app[data-look] .next-signal header {
  color: var(--t-text-2);
  border-bottom: 1px solid rgba(var(--t-border-rgb), calc(0.102 * var(--t-border-k)));
}
.app[data-look] .next-signal header i {
  background: var(--t-accent-soft);
  box-shadow: 0 0 0 4px rgba(var(--t-accent-soft-rgb), 0.102);
}
.app[data-look] .next-signal header b {
  color: var(--t-accent-soft);
  background: rgba(var(--t-accent-rgb), 0.078);
  border: 1px solid rgba(var(--t-accent-rgb), 0.259);
}
.app[data-look] .next-signal strong {
  color: var(--t-accent-strong);
}
.app[data-look] .next-level>small {
  color: var(--t-text-3);
}
.app[data-look] .all-sections>div>button>svg:last-child {
  color: var(--t-text-2);
}
.app[data-look] .challenge-progress-circle small {
  color: var(--t-text-3);
}
.app[data-look] .home-challenge p {
  color: var(--t-text-2);
}
.app[data-look] .history-tabs button {
  color: var(--t-text-3);
  background: var(--t-surface);
  border-color: rgba(var(--t-border-rgb), calc(0.102 * var(--t-border-k)));
}
.app[data-look] .available-list>header {
  color: var(--t-text-2);
  background: var(--t-bg-2);
}
.app[data-look] .signal-list p {
  color: var(--t-text-2);
}
.app[data-look] .explain-card {
  background: rgba(var(--t-accent-strong-rgb), 0.059);
  border-color: rgba(var(--t-accent-strong-rgb), 0.169);
  color: var(--t-text);
}
.app[data-look] .explain-card p {
  color: var(--t-text-3);
}
.app[data-look] .learning-summary p {
  color: var(--t-text-3);
}
.app[data-look] .learning-summary>span {
  color: var(--t-text-2);
}
.app[data-look] .lesson-list button {
  color: var(--t-text-3);
}
.app[data-look] .video>small {
  color: var(--t-text-3);
}
.app[data-look] .video>i b {
  background: var(--t-accent-soft);
}
.app[data-look] .lesson-info>div span {
  color: var(--t-text-2);
}
.app[data-look] .free-strategies article>b {
  color: var(--t-text-3);
}
.app[data-look] .free-strategies p {
  color: var(--t-text-2);
}
.app[data-look] .history-table>header {
  color: var(--t-text-3);
  background: var(--t-bg-2);
}
.app[data-look] .wallet-hero span {
  color: var(--t-text-3);
}
.app[data-look] .wallet-hero p {
  color: var(--t-text-3);
}
.app[data-look] .wallet-progress {
  border: 1px solid rgba(var(--t-border-rgb), calc(0.102 * var(--t-border-k)));
  background: rgba(var(--t-bg-rgb), 0.549);
  border-color: rgba(var(--t-alt-rgb), 0.180);
}
.app[data-look] .wallet-progress [data-slot=progress-indicator] {
  background: var(--t-accent-soft);
}
.app[data-look] .money-cards small {
  color: var(--t-text-3);
}
.app[data-look] .active-challenge p {
  color: var(--t-text-3);
}
.app[data-look] .active-challenge>div:last-child small {
  color: var(--t-text-3);
}
.app[data-look] .available-list p {
  color: var(--t-text-3);
}
.app[data-look] .available-list article>span small {
  color: var(--t-text-3);
}
.app[data-look] .reward-summary>svg {
  color: var(--t-alt);
}
.app[data-look] .reward-summary p {
  color: var(--t-text-3);
}
.app[data-look] .reward-grid article>span {
  color: var(--t-text-3);
}
.app[data-look] .reward-grid p {
  color: var(--t-text-3);
}
.app[data-look] .reward-grid article.progress {
  border-color: rgba(var(--t-alt-rgb), 0.200);
  background: linear-gradient(145deg, rgba(var(--t-alt-rgb), 0.078), var(--t-surface));
}
.app[data-look] .level-current p {
  color: var(--t-text-3);
}
.app[data-look] .level-current>svg {
  color: var(--t-alt);
}
.app[data-look] .level-list article>div svg {
  color: var(--t-text-3);
}
.app[data-look] .level-list article>span small {
  color: var(--t-text-3);
}
.app[data-look] .level-list p {
  color: var(--t-text-3);
}
.app[data-look] .level-list article>strong {
  color: var(--t-text-3);
}
.app[data-look] .profile-card small {
  color: var(--t-text-3);
}
.app[data-look] .profile-card p {
  color: var(--t-text-3);
}
.app[data-look] .profile-links button>svg:last-child {
  color: var(--t-text-2);
}
.app[data-look] .profile-links small {
  color: var(--t-text-2);
}
.app[data-look] .more-grid button>svg:last-child {
  color: var(--t-text-2);
}
.app[data-look]:before {
  background: radial-gradient(circle at 66% -8%, rgba(var(--t-accent-rgb), 0.102), #0000 30%), linear-gradient(#ffffff04 1px, #0000 1px) 0 0/100% 80px;
}
.app[data-look] .logo small {
  color: var(--t-text-3);
}
.app[data-look] .who-grid article {
  background: var(--t-surface);
}
.app[data-look] .system-intro p {
  color: var(--t-text-3);
}
.app[data-look] .free-offer {
  background: var(--t-bg-2);
}
.app[data-look] {
  color: var(--t-text);
  background: radial-gradient(circle at 72% -10%, rgba(var(--t-accent-strong-rgb), 0.075), #0000 31%), var(--t-bg);
}
.app[data-look] .sidebar {
  background: linear-gradient(rgba(var(--t-bg-rgb), 0.988), rgba(var(--t-bg-rgb), 0.965));
  border-right: 1px solid rgba(var(--t-border-rgb), calc(0.075 * var(--t-border-k)));
}
.app[data-look] .sidebar nav button.active {
  background: linear-gradient(90deg, rgba(var(--t-accent-strong-rgb), 0.133), rgba(var(--t-accent-strong-rgb), 0.016));
  border: 1px solid rgba(var(--t-accent-rgb), 0.129);
  box-shadow: inset 18px 0 40px rgba(var(--t-accent-rgb), 0.024);
  border-left: 2px solid var(--t-accent-strong);
}
.app[data-look] .app-head {
  background: rgba(var(--t-bg-rgb), 0.722);
  border-color: rgba(var(--t-border-rgb), calc(0.075 * var(--t-border-k)));
}
.app[data-look] .notify {
  color: var(--t-text-2);
  background: var(--t-surface);
}
.app[data-look] .avatar {
  background: linear-gradient(135deg, var(--t-accent-strong), var(--t-third-soft));
  color: var(--t-text);
  border-color: rgba(var(--t-border-rgb), calc(0.110 * var(--t-border-k)));
}
.app[data-look].page-title h1 {
  color: var(--t-text);
}
.app[data-look].page-title>div:first-child>span {
  color: var(--t-accent-strong);
}
.app[data-look] .balance-card {
  background: linear-gradient(145deg, var(--t-surface), var(--t-surface));
  border-color: rgba(var(--t-border-strong-rgb), calc(0.122 * var(--t-border-k)));
}
.app[data-look] .balance-card small {
  color: var(--t-text-3);
}
.app[data-look] .next-signal {
  background: radial-gradient(circle at 84% 18%, rgba(var(--t-accent-rgb), 0.106), #0000 25%), linear-gradient(145deg, var(--t-bg-2), var(--t-bg-2) 70%) !important;
  border-color: rgba(var(--t-accent-rgb), 0.322) !important;
  border: 1px solid rgba(var(--t-accent-strong-rgb), 0.302);
  box-shadow: 0 32px 86px #00000057, inset 0 1px rgba(var(--t-border-rgb), calc(0.039 * var(--t-border-k))) !important;
  border-left: 3px solid var(--t-accent-strong);
}
.app[data-look] .next-signal:after {
  border: 1px solid rgba(var(--t-accent-strong-rgb), 0.129);
  border-color: rgba(var(--t-accent-rgb), 0.149);
  box-shadow: 0 0 0 90px rgba(var(--t-accent-strong-rgb), 0.020), 0 0 0 180px rgba(var(--t-accent-strong-rgb), 0.012);
}
.app[data-look] .next-lesson {
  background: linear-gradient(150deg, var(--t-surface), var(--t-bg-2)) !important;
  border-color: rgba(var(--t-third-soft-rgb), 0.180);
  border-top: 2px solid var(--t-third-soft);
}
.app[data-look] .next-lesson h2 {
  color: var(--t-text);
}
.app[data-look] .next-lesson p {
  color: var(--t-text-3);
}
.app[data-look] .next-lesson [data-slot=progress-indicator] {
  background: var(--t-third-soft);
}
.app[data-look] .next-lesson [data-slot=button] {
  color: var(--t-third-soft);
  border-color: rgba(var(--t-border-strong-rgb), calc(0.129 * var(--t-border-k)));
}
.app[data-look] .next-level {
  background: radial-gradient(circle at 80% 10%, rgba(var(--t-alt-rgb), 0.161), #0000 45%), var(--t-surface);
  border-color: rgba(var(--t-border-rgb), calc(0.110 * var(--t-border-k)));
  border-top: 2px solid var(--t-alt);
}
.app[data-look] .next-level>span {
  color: var(--t-alt);
}
.app[data-look] .all-sections {
  background: rgba(var(--t-surface-rgb), 0.702);
  border-left: 2px solid rgba(var(--t-border-strong-rgb), calc(0.180 * var(--t-border-k)));
}
.app[data-look] .all-sections header>small {
  color: var(--t-text-3);
}
.app[data-look] .all-sections>div>button {
  color: var(--t-text);
}
.app[data-look] .all-sections>div>button:hover {
  background: linear-gradient(90deg, rgba(var(--t-accent-strong-rgb), 0.071), #0000);
}
.app[data-look] .all-sections>div>button>svg:first-child {
  color: var(--t-text-3);
}
.app[data-look] .all-sections button small {
  color: var(--t-text-2);
}
.app[data-look] .home-challenge {
  background: linear-gradient(100deg, rgba(var(--t-alt-rgb), 0.122), rgba(var(--t-surface-rgb), 0.839));
  border-color: rgba(var(--t-alt-rgb), 0.200) rgba(var(--t-alt-rgb), 0.200) rgba(var(--t-alt-rgb), 0.200) var(--t-alt);
}
.app[data-look] .home-challenge [data-slot=button] {
  color: var(--t-text);
  border-color: rgba(var(--t-border-strong-rgb), calc(0.129 * var(--t-border-k)));
}
.app[data-look] .profile-links {
  background: var(--t-surface);
}
.app[data-look] .signal-list article.locked>[data-slot=button] {
  color: var(--t-text-3);
}
.app[data-look] .explain-card b {
  color: var(--t-text);
}
.app[data-look] .learning-summary {
  background: linear-gradient(100deg, rgba(var(--t-third-soft-rgb), 0.122), rgba(var(--t-surface-rgb), 0.780));
  border-left: 4px solid var(--t-third-soft);
  border-color: rgba(var(--t-third-soft-rgb), 0.161);
}
.app[data-look] .learning-summary [data-slot=progress] {
  background: var(--t-elevated);
}
.app[data-look] .lesson-player {
  background: var(--t-surface);
  border-color: rgba(var(--t-third-soft-rgb), 0.180);
}
.app[data-look] .lesson-info>p {
  color: var(--t-text-2);
}
.app[data-look] .free-strategies {
  background: rgba(var(--t-bg-2-rgb), 0.800);
  border-top: 3px solid var(--t-third-soft);
  border-color: rgba(var(--t-border-rgb), calc(0.102 * var(--t-border-k)));
}
.app[data-look] .free-strategies article {
  background: var(--t-surface);
  border-color: rgba(var(--t-border-rgb), calc(0.090 * var(--t-border-k)));
}
.app[data-look] .wallet-hero {
  background: radial-gradient(circle at 72% 25%, rgba(var(--t-alt-rgb), 0.200), #0000 30%), linear-gradient(140deg, var(--t-surface), var(--t-bg-2) 65%);
  border: 1px solid rgba(var(--t-accent-rgb), 0.180);
  border-left: 3px solid var(--t-alt);
}
.app[data-look] .money-cards article {
  background: rgba(var(--t-surface-rgb), 0.722);
  border-color: rgba(var(--t-border-rgb), calc(0.102 * var(--t-border-k)));
}
.app[data-look] .active-challenge {
  background: radial-gradient(circle at 16%, rgba(var(--t-alt-rgb), 0.180), #0000 24%), linear-gradient(135deg, var(--t-surface), var(--t-surface));
  border-color: rgba(var(--t-alt-rgb), 0.200);
  box-shadow: 0 35px 100px #00000052, inset 0 1px rgba(var(--t-border-rgb), calc(0.043 * var(--t-border-k)));
  border-left: 3px solid var(--t-alt);
}
.app[data-look] .active-challenge>div:last-child {
  border-color: rgba(var(--t-alt-rgb), 0.161);
}
.app[data-look] .reward-summary {
  background: radial-gradient(circle at 15%, rgba(var(--t-alt-rgb), 0.180), #0000 24%), var(--t-bg-2);
  border: 1px solid rgba(var(--t-alt-rgb), 0.180);
  border-left: 3px solid var(--t-alt);
}
.app[data-look] .reward-grid article {
  background: var(--t-surface);
  border-color: rgba(var(--t-border-rgb), calc(0.102 * var(--t-border-k)));
}
.app[data-look] .reward-grid article>div {
  background: var(--t-surface-2);
}
.app[data-look] .level-current {
  background: radial-gradient(circle at 82% 35%, rgba(var(--t-alt-rgb), 0.220), #0000 27%), linear-gradient(140deg, var(--t-surface-2), var(--t-bg-2));
  border: 1px solid rgba(var(--t-alt-rgb), 0.180);
  border-color: rgba(var(--t-alt-rgb), 0.220) rgba(var(--t-alt-rgb), 0.220) rgba(var(--t-alt-rgb), 0.220) var(--t-alt);
}
.app[data-look] .level-list article.current {
  background: linear-gradient(90deg, rgba(var(--t-alt-rgb), 0.129), #0000);
  border-color: rgba(var(--t-accent-rgb), 0.322) !important;
  border-left: 2px solid var(--t-alt);
}
.app[data-look] .level-list article.current>div {
  background: var(--t-surface-2);
  border-color: rgba(var(--t-accent-rgb), 0.251);
  box-shadow: 0 0 24px rgba(var(--t-accent-rgb), 0.161);
}
.app[data-look] .profile-card {
  background: radial-gradient(circle at 78% 20%, rgba(var(--t-third-soft-rgb), 0.122), #0000 30%), linear-gradient(145deg, var(--t-surface-2), var(--t-surface));
  border-left: 4px solid var(--t-third-soft);
}
.app[data-look] .big-avatar {
  background: linear-gradient(135deg, var(--green), var(--t-third-soft));
}
.app[data-look] .profile-links button {
  color: var(--t-text);
  background: var(--t-surface);
}
.app[data-look] .profile-links button:hover {
  background: linear-gradient(135deg, rgba(var(--t-third-soft-rgb), 0.078), var(--t-surface-2));
  border-color: rgba(var(--t-third-soft-rgb), 0.278) !important;
}
.app[data-look] .more-grid button {
  color: var(--t-text);
  background: var(--t-surface);
  border-top: 3px solid rgba(var(--t-accent-rgb), 0.451);
}
.app[data-look] .more-grid button:hover {
  background: var(--t-surface-2);
}
.app[data-look] .preview-signal small {
  color: var(--t-text-2);
}
.app[data-look] .preview-signal p {
  color: var(--t-text-2);
}
.app[data-look] .free-offer header p {
  color: var(--t-text-2);
}
.app[data-look] .side-level small {
  color: var(--t-text-3);
}
.app[data-look] .next-signal small {
  color: var(--t-text-2);
}
.app[data-look] .next-signal p {
  color: var(--t-text-2);
}
.app[data-look] .next-level p {
  color: var(--t-text-2);
}
.app[data-look] .signal-list article small {
  color: var(--t-text-2);
}
.app[data-look] .lesson-list button small {
  color: var(--t-text-2);
}
.app[data-look] .sidebar:after {
  color: rgba(var(--t-accent-rgb), 0.278);
}
.app[data-look].page-title:after {
  box-shadow: 0 0 18px rgba(var(--t-accent-rgb), 0.502);
}
.app[data-look] .next-signal:before {
  color: rgba(var(--t-text-rgb), 0.027);
}
.app[data-look] .signal-main>small {
  color: var(--t-text-2) !important;
}
.app[data-look] .next-signal h2 em {
  color: var(--t-text-3);
}
.app[data-look] .signal-facts {
  border: 1px solid rgba(var(--t-border-rgb), calc(0.102 * var(--t-border-k)));
}
.app[data-look] .signal-facts span {
  border-right: 1px solid rgba(var(--t-border-rgb), calc(0.102 * var(--t-border-k)));
}
.app[data-look] .signal-facts small {
  color: var(--t-text-3) !important;
}
.app[data-look] .signal-facts b {
  color: var(--t-text);
}
.app[data-look] .next-signal [data-slot=button] {
  box-shadow: 0 14px 38px rgba(var(--t-accent-rgb), 0.161);
}
.app[data-look] .next-lesson>span {
  color: var(--t-third-soft);
}
.app[data-look] .page:has(.learning-summary) .page-title:after {
  background: var(--t-third-soft);
  box-shadow: 0 0 18px rgba(var(--t-third-soft-rgb), 0.451);
}
.app[data-look] .page:has(.history-table) .page-title:after {
  background: var(--t-third-soft);
  box-shadow: 0 0 18px rgba(var(--t-third-soft-rgb), 0.400);
}
.app[data-look] .page:has(.active-challenge) .page-title:after {
  box-shadow: 0 0 18px rgba(var(--t-alt-rgb), 0.420);
}
.app[data-look] .page:has(.reward-grid) .page-title:after {
  box-shadow: 0 0 18px rgba(var(--t-alt-rgb), 0.420);
}
.app[data-look] .page:has(.level-current) .page-title:after {
  box-shadow: 0 0 18px rgba(var(--t-alt-rgb), 0.420);
}
.app[data-look] .page:has(.profile-card) .page-title:after {
  background: var(--t-third-soft);
  box-shadow: 0 0 18px rgba(var(--t-third-soft-rgb), 0.400);
}
.app[data-look] .signal-list>header {
  background: var(--t-bg-2);
  color: var(--t-text-3);
  border-bottom: 1px solid rgba(var(--t-border-strong-rgb), calc(0.122 * var(--t-border-k)));
}
.app[data-look] .signal-list>article {
  background: linear-gradient(135deg, var(--t-surface), var(--t-bg-2));
  border-bottom: 1px solid rgba(var(--t-border-rgb), calc(0.094 * var(--t-border-k)));
}
.app[data-look] .signal-list>article:first-of-type {
  background: radial-gradient(circle at 70% 10%, rgba(var(--t-accent-rgb), 0.102), #0000 28%), linear-gradient(135deg, var(--t-surface-2), var(--t-bg-2));
  border-color: rgba(var(--t-accent-rgb), 0.302) !important;
}
.app[data-look] .signal-list article.locked {
  background: var(--t-bg-2);
  color: var(--t-text-3);
}
.app[data-look] .learning-summary [data-slot=progress-indicator] {
  background: var(--t-third-soft);
}
.app[data-look] .lesson-list {
  border-left: 3px solid rgba(var(--t-third-soft-rgb), 0.349);
}
.app[data-look] .lesson-list button.selected {
  background: linear-gradient(90deg, rgba(var(--t-accent-strong-rgb), 0.110), #0000);
  border-color: rgba(var(--t-accent-strong-rgb), 0.220);
  color: var(--t-text);
}
.app[data-look] .lesson-list button.selected>i {
  background: var(--t-third-soft);
  border-color: var(--t-third-soft);
}
.app[data-look] .video {
  border-right: 1px solid rgba(var(--t-third-soft-rgb), 0.141);
  background: radial-gradient(circle at 50% 45%, rgba(var(--t-accent-strong-rgb), 0.122), #0000 35%), repeating-linear-gradient(0deg, #0000 0 59px, #ffffff06 60px), var(--t-bg);
}
.app[data-look] .video>span {
  background: var(--t-third-soft);
}
.app[data-look] .lesson-info>span {
  color: var(--t-third-soft);
}
.app[data-look] .free-strategies article:first-child {
  background: linear-gradient(145deg, rgba(var(--t-third-soft-rgb), 0.141), var(--t-surface));
  border-color: rgba(var(--t-third-soft-rgb), 0.278);
}
.app[data-look] .history-table>article {
  background: linear-gradient(135deg, var(--t-surface), var(--t-bg-2));
}
.app[data-look] .money-cards article:nth-child(2) {
  border-top-color: var(--t-third-soft);
}
.app[data-look] .available-list>article {
  background: var(--t-surface);
  border-bottom: 1px solid rgba(var(--t-border-rgb), calc(0.102 * var(--t-border-k)));
}
.app[data-look] .reward-grid article.earned>div {
  background: rgba(var(--t-accent-rgb), 0.090);
}
.app[data-look] .reward-grid article.progress>div {
  background: rgba(var(--t-alt-rgb), 0.090);
}
.app[data-look] .level-list>article {
  background: var(--t-surface);
}
.app[data-look] .profile-links svg {
  color: var(--t-third-soft);
}
.app[data-look] .session-steps {
  background: var(--t-surface);
}
.app[data-look] .session-steps>span {
  color: var(--t-text-3);
}
.app[data-look] .session-steps .active {
  color: var(--t-text);
  background: rgba(var(--t-accent-rgb), 0.043);
}
.app[data-look] .war-signal {
  border: 1px solid rgba(var(--t-accent-rgb), 0.278);
  background: radial-gradient(circle at 78% 18%, rgba(var(--t-accent-rgb), 0.149), #0000 31%), linear-gradient(145deg, var(--t-surface-2), var(--t-bg-2));
}
.app[data-look] .war-signal>header {
  color: var(--t-text-2);
  border-bottom: 1px solid rgba(var(--t-border-rgb), calc(0.102 * var(--t-border-k)));
}
.app[data-look] .war-signal>header i {
  box-shadow: 0 0 0 5px rgba(var(--t-accent-rgb), 0.102);
}
.app[data-look] .war-signal>header b {
  color: var(--t-accent);
}
.app[data-look] .war-signal>div:nth-child(2)>small {
  color: var(--t-text-2);
}
.app[data-look] .war-signal h2 em {
  color: var(--t-text-3);
}
.app[data-look] .stage-action {
  background: rgba(var(--t-accent-rgb), 0.059);
  border: 1px solid rgba(var(--t-accent-rgb), 0.180);
}
.app[data-look] .stage-action p {
  color: var(--t-text-2);
}
.app[data-look] .session-room {
  background: linear-gradient(145deg, var(--t-surface-2), var(--t-bg-2));
  border-top: 3px solid var(--t-third-soft);
}
.app[data-look] .session-room>header span {
  color: var(--t-third-soft);
}
.app[data-look] .session-room>header>b {
  color: var(--t-text-3);
}
.app[data-look] .chat-feed p>i {
  color: var(--t-text);
  background: var(--t-elevated);
}
.app[data-look] .chat-feed p>span {
  color: var(--t-text-2);
}
.app[data-look] .chat-feed p small {
  color: var(--t-text-3);
}
.app[data-look] .open-community {
  color: var(--t-third-soft);
  background: rgba(var(--t-third-soft-rgb), 0.071);
  border: 1px solid rgba(var(--t-third-soft-rgb), 0.200);
}
.app[data-look] .community-page .page-title:after {
  background: var(--t-third-soft);
  box-shadow: 0 0 18px rgba(var(--t-third-soft-rgb), 0.400);
}
.app[data-look] .community-chat {
  background: radial-gradient(circle at 88% 5%, var(--room-accent, var(--t-third)), transparent 32%), var(--t-bg-2) !important;
  border-color: rgba(var(--t-border-rgb), calc(0.086 * var(--t-border-k))) !important;
  box-shadow: 0 28px 80px #00000042, inset 0 1px rgba(var(--t-border-rgb), calc(0.024 * var(--t-border-k))) !important;
}
.app[data-look] .room-list>header {
  color: var(--t-text-3);
}
.app[data-look] .room-list>header b {
  color: var(--t-third-soft);
}
.app[data-look] .room-list>button {
  color: var(--t-text-3);
}
.app[data-look] .room-list>button>i {
  background: var(--t-surface-2);
}
.app[data-look] .room-list>button b {
  color: var(--t-text);
}
.app[data-look] .room-list>button em {
  background: var(--t-third-soft);
}
.app[data-look] .room-list>button.active {
  color: var(--t-third-soft);
  background: linear-gradient(90deg, rgba(var(--t-third-soft-rgb), 0.169), #0000);
  border-color: rgba(var(--t-third-soft-rgb), 0.251);
  border-left: 2px solid var(--t-third-soft);
}
.app[data-look] .room-list>button.active>i {
  background: var(--t-third-soft);
}
.app[data-look] .community-chat>header span {
  color: var(--t-third-soft);
}
.app[data-look] .community-chat>header>b {
  color: var(--t-text-3);
}
.app[data-look] .pinned {
  background: rgba(var(--t-third-soft-rgb), 0.059);
  border: 1px solid rgba(var(--t-third-soft-rgb), 0.180);
}
.app[data-look] .pinned>svg {
  color: var(--t-third-soft);
}
.app[data-look] .pinned small {
  color: var(--t-text-2);
}
.app[data-look] .chat-feed p b em {
  color: var(--t-third-soft);
}
.app[data-look] .chat-compose input {
  background: var(--t-bg-2);
}
.app[data-look] .chat-compose input:focus {
  border-color: rgba(var(--t-third-soft-rgb), 0.400);
}
.app[data-look] .chat-compose [data-slot=button] {
  background: var(--t-third-soft);
}
.app[data-look] .locked-room p {
  color: var(--t-text-3);
}
.app[data-look] .signal-rooms {
  background: rgba(var(--t-bg-2-rgb), 0.820);
  border-color: rgba(var(--t-third-soft-rgb), 0.149);
  border-left: 2px solid var(--t-third-soft);
}
.app[data-look] .signal-rooms>header span {
  color: var(--t-text-3);
}
.app[data-look] .signal-rooms button {
  background: var(--t-surface);
  border-color: rgba(var(--t-border-rgb), calc(0.078 * var(--t-border-k)));
}
.app[data-look] .signal-rooms button small {
  color: var(--t-text-3);
}
.app[data-look] .access-hero {
  border: 1px solid rgba(var(--t-alt-rgb), 0.220);
  background: radial-gradient(circle at 78% 35%, rgba(var(--t-alt-rgb), 0.180), #0000 27%), linear-gradient(140deg, var(--t-surface), var(--t-bg-2));
  border-left: 3px solid var(--t-alt);
}
.app[data-look] .access-states>header span {
  color: var(--t-alt);
}
.app[data-look] .access-hero p {
  color: var(--t-text-2);
}
.app[data-look] .subscription-card {
  border: 1px solid rgba(var(--t-alt-rgb), 0.220);
  background: var(--t-surface);
}
.app[data-look] .subscription-card>header span {
  color: var(--t-alt);
}
.app[data-look] .subscription-card .sub-note {
  color: var(--t-text-2);
}
.app[data-look] .subscription-card .sub-price {
  color: var(--t-text-2);
}
.app[data-look] .subscription-card .sub-line small {
  color: var(--t-text-2);
}
.app[data-look] .subscription-card .sub-rooms {
  background: var(--t-surface-2);
  border: 1px solid rgba(var(--t-accent-deep-rgb), 0.251);
  color: var(--t-text-2) !important;
}
.app[data-look] .subscription-card .sub-processing small {
  color: var(--t-text-2);
}
.app[data-look] .entitlement-grid article {
  background: var(--t-surface);
}
.app[data-look] .entitlement-grid article:nth-child(2) {
  border-top-color: var(--t-third-soft);
}
.app[data-look] .entitlement-grid article>span {
  color: var(--t-text-3);
}
.app[data-look] .entitlement-grid p {
  color: var(--t-text-3);
}
.app[data-look] .entitlement-grid article>b {
  color: var(--t-text-2);
}
.app[data-look] .access-states {
  background: var(--t-surface);
}
.app[data-look] .access-states article {
  background: var(--t-surface);
}
.app[data-look] .access-states article>i {
  background: var(--t-surface-2);
}
.app[data-look] .access-states article>i.wait {
  color: var(--t-third-soft);
}
.app[data-look] .access-states article small {
  color: var(--t-text-3);
}
.app[data-look] .quiet-hours {
  background: rgba(var(--t-surface-rgb), 0.780);
  border-color: rgba(var(--t-border-rgb), calc(0.102 * var(--t-border-k)));
}
.app[data-look] .quiet-hours>svg {
  color: var(--t-third-soft);
}
.app[data-look] .quiet-hours small {
  color: var(--t-text-3);
}
.app[data-look] .notifications-page .page-title:after {
  background: var(--t-third-soft);
}
.app[data-look] .notification-summary {
  background: radial-gradient(circle at 78% 30%, rgba(var(--t-third-soft-rgb), 0.188), #0000 28%), linear-gradient(140deg, var(--t-surface-2), var(--t-bg-2));
  border: 1px solid rgba(var(--t-third-soft-rgb), 0.200);
  border-left: 3px solid var(--t-third-soft);
}
.app[data-look] .notification-summary>svg {
  color: var(--t-third-soft);
}
.app[data-look] .notification-summary span {
  color: var(--t-third-soft);
}
.app[data-look] .notification-summary p {
  color: var(--t-text-3);
}
.app[data-look] .channel-matrix {
  background: var(--t-surface);
}
.app[data-look] .channel-matrix>header {
  color: var(--t-text-3);
}
.app[data-look] .channel-matrix>article>svg {
  color: var(--t-third-soft);
}
.app[data-look] .channel-matrix article small {
  color: var(--t-text-3);
}
.app[data-look] .channel-matrix article>button.on {
  background: rgba(var(--t-accent-rgb), 0.251);
}
.app[data-look] .channel-matrix article>em {
  color: var(--t-text-3);
}
.app[data-look] .admin-status {
  background: radial-gradient(circle at 80% 35%, #ff786f29, #0000 26%), linear-gradient(135deg, var(--t-surface-2), var(--t-bg-2));
}
.app[data-look] .admin-status>b {
  color: var(--t-text-2);
}
.app[data-look] .admin-grid button {
  background: var(--t-surface);
  border-color: rgba(var(--t-border-rgb), calc(0.102 * var(--t-border-k)));
}
.app[data-look] .admin-grid small {
  color: var(--t-text-3);
}
.app[data-look] .admin-workbench>aside {
  background: rgba(var(--t-surface-rgb), 0.820);
  border-color: rgba(var(--t-border-rgb), calc(0.102 * var(--t-border-k)));
}
.app[data-look] .admin-fields label {
  color: var(--t-text-3);
  border-color: rgba(var(--t-border-rgb), calc(0.090 * var(--t-border-k)));
}
.app[data-look] .admin-fields label b {
  color: var(--t-text);
}
.app[data-look] .admin-check {
  background: rgba(var(--t-accent-rgb), 0.051);
  border: 1px solid rgba(var(--t-accent-rgb), 0.161);
}
.app[data-look] .admin-check small {
  color: var(--t-text-3);
}
.app[data-look] .admin-workbench>aside>button {
  color: var(--t-text-2);
}
.app[data-look] .admin-workbench i.blue {
  background: var(--t-third-soft);
}
.app[data-look] .market-code {
  color: var(--t-accent-soft);
  background: rgba(var(--t-bg-rgb), 0.478);
  border-left: 2px solid var(--t-accent-strong);
}
.app[data-look] .chart-grid {
  stroke: rgba(var(--t-accent-soft-rgb), 0.075);
}
.app[data-look] .chart-pulse {
  fill: var(--t-alt);
}
.app[data-look] .logo>span {
  box-shadow: 0 0 32px rgba(var(--t-accent-strong-rgb), 0.161);
  background: linear-gradient(135deg, var(--t-accent-strong), var(--t-accent-soft)) !important;
}
.app[data-look] .logo b {
  color: var(--t-text);
}
.app[data-look] .sidebar nav button:hover {
  color: var(--t-text);
}
.app[data-look] .side-level>b {
  color: var(--t-alt-soft);
}
.app[data-look] .mobile-nav {
  background: rgba(var(--t-bg-rgb), 0.922);
  border-top-color: rgba(var(--t-border-rgb), calc(0.102 * var(--t-border-k)));
}
.app[data-look].page-title {
  border-bottom: 1px solid rgba(var(--t-border-rgb), calc(0.078 * var(--t-border-k)));
}
.app[data-look].page-title h1 strong {
  color: var(--t-accent-strong);
}
.app[data-look] .title-market:after {
  background: linear-gradient(90deg, #0000, var(--t-accent-strong), #0000);
}
.app[data-look] .title-market b {
  color: var(--t-text-2);
}
.app[data-look] .balance-card button {
  color: var(--t-accent-strong);
}
.app[data-look] .next-signal>[data-slot=button] {
  background: var(--t-accent-strong);
}
.app[data-look] .history-tabs button.active {
  background: var(--t-accent-soft);
  border-color: var(--t-accent-soft);
}
.app[data-look] .signal-list>article:hover {
  background: linear-gradient(90deg, rgba(var(--t-accent-strong-rgb), 0.071), rgba(var(--t-accent-strong-rgb), 0.012));
}
.app[data-look] .signal-list article>strong {
  color: var(--t-accent-strong);
}
.app[data-look] .video:before {
  color: rgba(var(--t-text-rgb), 0.122);
}
.app[data-look] .wallet-hero h1 {
  color: var(--t-alt-soft);
}
.app[data-look] .level-current h1 {
  color: var(--t-alt-soft);
}
.app[data-look] .level-list article {
  border-bottom: 1px solid rgba(var(--t-border-rgb), calc(0.102 * var(--t-border-k)));
}
.app[data-look] .challenge-number {
  border-color: var(--t-alt) rgba(var(--t-alt-rgb), 0.200) rgba(var(--t-alt-rgb), 0.200);
  box-shadow: 0 0 50px rgba(var(--t-alt-rgb), 0.078);
}
.app[data-look] .reward-summary svg {
  color: var(--t-alt);
}
.app[data-look] .reward-grid article.earned {
  background: linear-gradient(145deg, rgba(var(--t-alt-rgb), 0.141), rgba(var(--t-surface-rgb), 0.859));
  border-color: rgba(var(--t-alt-rgb), 0.251);
}
.app[data-look] .recovery-card {
  background: rgba(var(--t-surface-rgb), 0.761);
  border-color: rgba(var(--t-border-rgb), calc(0.102 * var(--t-border-k)));
}
.app[data-look] .admin-status:after {
  color: rgba(var(--t-text-rgb), 0.035);
}
.app[data-look] .admin-grid button:first-child {
  background: radial-gradient(circle at 75% 20%, #ff786f21, #0000 35%), var(--t-surface);
}
.app[data-look] .how article {
  border-color: rgba(var(--t-border-rgb), calc(0.102 * var(--t-border-k)));
}
.app[data-look] .market-aura {
  background: radial-gradient(circle at 62% 42%, rgba(var(--t-accent-strong-rgb), 0.180), rgba(var(--t-accent-strong-rgb), 0.035) 31%, #0000 67%);
}
.app[data-look] .market-orbit {
  border: 1px solid rgba(var(--t-accent-soft-rgb), 0.110);
}
.app[data-look] .market-orbit:after {
  background: var(--t-accent-soft);
  box-shadow: 0 0 18px rgba(var(--t-accent-strong-rgb), 0.949);
}
.app[data-look] .orbit-one:after {
  background: var(--t-alt);
}
.app[data-look] .orbit-two:after {
  background: var(--t-third-soft);
}
.app[data-look] .market-hud {
  background: rgba(var(--t-bg-rgb), 0.580);
  border: 1px solid rgba(var(--t-border-rgb), calc(0.090 * var(--t-border-k)));
  border-left: 2px solid rgba(var(--t-accent-strong-rgb), 0.722);
}
.app[data-look] .market-hud small {
  color: var(--t-text-3);
}
.app[data-look] .market-hud b {
  color: var(--t-text);
}
.app[data-look] .hud-volume {
  border-left-color: var(--t-third-soft);
}
.app[data-look] .hud-risk {
  border-left-color: var(--t-alt);
}
.app[data-look] .market-beacon {
  border: 2px solid var(--t-accent-strong);
  box-shadow: 0 0 0 9px rgba(var(--t-accent-strong-rgb), 0.055), 0 0 0 20px rgba(var(--t-accent-strong-rgb), 0.024), 0 0 30px rgba(var(--t-accent-strong-rgb), 0.451);
}
.app[data-look] .market-pulse-strip {
  background: linear-gradient(100deg, rgba(var(--t-accent-strong-rgb), 0.075), rgba(var(--t-bg-2-rgb), 0.839) 30%, rgba(var(--t-bg-2-rgb), 0.702));
  border: 1px solid rgba(var(--t-border-rgb), calc(0.090 * var(--t-border-k)));
  border-left: 3px solid var(--t-accent-strong);
}
.app[data-look] .market-pulse-strip:before {
  background: linear-gradient(90deg, #0000, rgba(var(--t-accent-soft-rgb), 0.078), #0000);
}
.app[data-look] .market-pulse-strip>div {
  border-right: 1px solid rgba(var(--t-border-rgb), calc(0.075 * var(--t-border-k)));
}
.app[data-look] .market-pulse-strip>header i {
  background: var(--t-accent-strong);
  box-shadow: 0 0 0 6px rgba(var(--t-accent-strong-rgb), 0.090);
}
.app[data-look] .market-pulse-strip>header span {
  color: var(--t-text-2);
}
.app[data-look] .market-pulse-strip>header b {
  color: var(--t-accent-strong);
  border: 1px solid rgba(var(--t-accent-strong-rgb), 0.220);
}
.app[data-look] .market-pulse-strip>div small {
  color: var(--t-text-3);
}
.app[data-look] .market-pulse-strip>div strong {
  color: var(--t-accent-strong);
}
.app[data-look] .pulse-spark i {
  background: rgba(var(--t-accent-strong-rgb), 0.259);
}
.app[data-look] .pulse-spark i:nth-child(5) {
  background: var(--t-accent-strong);
}
.app[data-look] .signal-tech {
  color: var(--t-text-3);
}
.app[data-look] .signal-tech i {
  background: var(--t-accent-strong);
  box-shadow: 0 0 11px rgba(var(--t-accent-strong-rgb), 0.749);
}
.app[data-look] .next-signal .signal-main:after {
  background: repeating-linear-gradient(90deg, #0000 0 69px, rgba(var(--t-accent-strong-rgb), 0.024) 70px), repeating-linear-gradient(0deg, #0000 0 49px, rgba(var(--t-accent-strong-rgb), 0.020) 50px);
}
.app[data-look] .telegram-auth {
  background: var(--t-accent-strong) !important;
}
.app[data-look] .ecosystem-layer>article {
  color: var(--t-text);
  border: 1px solid rgba(var(--t-border-rgb), calc(0.102 * var(--t-border-k)));
}
.app[data-look] .daily-route {
  background: linear-gradient(140deg, rgba(var(--t-surface-rgb), 0.961), rgba(var(--t-bg-2-rgb), 0.922));
}
.app[data-look] .strategy-drop>span {
  color: var(--t-text-3);
}
.app[data-look] .daily-route header>b {
  color: var(--t-accent-strong);
  border: 1px solid rgba(var(--t-accent-strong-rgb), 0.180);
}
.app[data-look] .route-line:before {
  background: linear-gradient(90deg, var(--t-accent-strong) 0 48%, #ffffff1a 48%);
}
.app[data-look] .route-line button {
  color: var(--t-text-3);
}
.app[data-look] .route-line button>i {
  background: var(--t-surface);
  border: 1px solid rgba(var(--t-border-strong-rgb), calc(0.129 * var(--t-border-k)));
}
.app[data-look] .route-line button.active>i {
  color: var(--t-accent-strong);
  border-color: var(--t-accent-strong);
  box-shadow: 0 0 0 8px rgba(var(--t-accent-strong-rgb), 0.051);
}
.app[data-look] .route-line small {
  color: var(--t-text-3);
}
.app[data-look] .route-line b {
  color: var(--t-text);
}
.app[data-look] .strategy-drop {
  background: radial-gradient(circle at 80% 12%, #977aff42, #0000 31%), linear-gradient(145deg, var(--t-surface-2), var(--t-surface));
}
.app[data-look] .strategy-drop p {
  color: var(--t-text-3);
}
.app[data-look] .strategy-drop>button {
  color: var(--t-third-soft);
}
.app[data-look] .drop-orbit {
  border: 1px solid rgba(var(--t-third-soft-rgb), 0.129);
  box-shadow: 0 0 0 35px rgba(var(--t-third-soft-rgb), 0.024), 0 0 0 70px rgba(var(--t-third-soft-rgb), 0.016);
}
.app[data-look] .drop-orbit i {
  background: var(--t-third-soft);
  box-shadow: 0 0 16px var(--t-third-soft);
}
.app[data-look] .drop-orbit i:nth-child(3) {
  background: var(--t-accent-strong);
}
.app[data-look] .community-pulse {
  background: radial-gradient(circle at 50% 30%, rgba(var(--t-third-soft-rgb), 0.180), #0000 34%), linear-gradient(145deg, var(--t-surface-2), var(--t-surface));
}
.app[data-look] .community-pulse header {
  color: var(--t-text-3);
}
.app[data-look] .community-pulse header i {
  background: var(--t-third-soft);
  box-shadow: 0 0 0 5px rgba(var(--t-third-soft-rgb), 0.078);
}
.app[data-look] .community-pulse header b {
  color: var(--t-third-soft);
}
.app[data-look] .chat-orbit span {
  background: linear-gradient(135deg, var(--t-third-deep), var(--t-surface-2));
}
.app[data-look] .chat-orbit span:first-child {
  background: linear-gradient(135deg, var(--t-accent-strong), var(--t-accent-deep));
}
.app[data-look] .chat-orbit span:last-child {
  color: var(--t-third);
  background: var(--t-surface);
}
.app[data-look] .community-pulse>p {
  color: var(--t-text-3);
}
.app[data-look] .room-tags span {
  color: var(--t-text-3);
  border: 1px solid rgba(var(--t-third-soft-rgb), 0.141);
}
.app[data-look] .binding-progress>span {
  color: var(--t-text-3);
}
.app[data-look] .binding-progress>span i {
  border: 1px solid rgba(var(--t-border-strong-rgb), calc(0.122 * var(--t-border-k)));
}
.app[data-look] .binding-progress>span.active {
  color: var(--t-accent-soft);
}
.app[data-look] .binding-progress>span.active i {
  background: var(--t-accent-strong);
  border-color: var(--t-accent-strong);
  box-shadow: 0 0 0 8px rgba(var(--t-accent-strong-rgb), 0.055);
}
.app[data-look] .binding-progress>em {
  background: linear-gradient(90deg, rgba(var(--t-accent-strong-rgb), 0.549), #ffffff1a);
}
.app[data-look] .pocket-copy h1 em {
  color: var(--t-accent-strong);
}
.app[data-look] .pocket-copy>p {
  color: var(--t-text-3);
}
.app[data-look] .identity-chain {
  border: 1px solid rgba(var(--t-border-rgb), calc(0.086 * var(--t-border-k)));
}
.app[data-look] .identity-chain article {
  border-bottom: 1px solid rgba(var(--t-border-rgb), calc(0.075 * var(--t-border-k)));
}
.app[data-look] .identity-chain article>span {
  color: var(--t-text-3);
  border: 1px solid rgba(var(--t-border-rgb), calc(0.110 * var(--t-border-k)));
}
.app[data-look] .identity-chain small {
  color: var(--t-text-3);
}
.app[data-look] .identity-chain article>svg {
  color: var(--t-accent-strong);
}
.app[data-look] .identity-chain article.current {
  background: linear-gradient(90deg, rgba(var(--t-accent-strong-rgb), 0.090), #ffffff05);
}
.app[data-look] .identity-chain article.current>span {
  background: var(--t-accent-strong);
  border-color: var(--t-accent-strong);
  /* Номер текущего шага на залитом кружке — цветом «чернил на акценте». Без этого он брал
     серый текст третьего уровня и на мятном/золотом кружке пропадал (автопроверка 15.09:
     контраст 1.0–2.2 во всех мирах). */
  color: var(--t-ink, #06110d);
  font-weight: 700;
}
.app[data-look] .pocket-card {
  background: linear-gradient(150deg, rgba(var(--t-surface-2-rgb), 0.969), rgba(var(--t-bg-2-rgb), 0.980));
  border: 1px solid rgba(var(--t-border-strong-rgb), calc(0.122 * var(--t-border-k)));
  border-top: 3px solid var(--t-accent-strong);
  box-shadow: 0 45px 130px #00000080, inset 0 1px rgba(var(--t-border-rgb), calc(0.035 * var(--t-border-k)));
}
.app[data-look] .pocket-card header small {
  color: var(--t-accent-strong);
}
.app[data-look] .pocket-card header>svg {
  color: var(--t-accent-strong);
}
.app[data-look] .pocket-card>label {
  color: var(--t-text-3);
}
.app[data-look] .pocket-input {
  border: 1px solid rgba(var(--t-border-strong-rgb), calc(0.122 * var(--t-border-k)));
}
.app[data-look] .pocket-input>span {
  color: var(--t-accent-strong);
  border-right: 1px solid rgba(var(--t-border-rgb), calc(0.102 * var(--t-border-k)));
}
.app[data-look] .verification-state {
  border: 1px solid rgba(var(--t-border-rgb), calc(0.090 * var(--t-border-k)));
}
.app[data-look] .verification-state>svg {
  color: var(--t-text-3);
}
.app[data-look] .verification-state small {
  color: var(--t-text-3);
}
.app[data-look] .verification-state.checking>svg {
  color: var(--t-third-soft);
}
.app[data-look] .verification-state.waiting>svg {
  color: var(--t-alt);
}
.app[data-look] .pocket-card>[data-slot=button] {
  background: var(--t-accent-strong);
}
.app[data-look] .no-pocket {
  border-top: 1px solid rgba(var(--t-border-rgb), calc(0.078 * var(--t-border-k)));
}
.app[data-look] .no-pocket small {
  color: var(--t-text-3);
}
.app[data-look] .no-pocket>button {
  color: var(--t-accent-strong);
}
.app[data-look] .pocket-identity-card {
  background: radial-gradient(circle at 92% 10%, rgba(var(--t-accent-strong-rgb), 0.110), #0000 31%), rgba(var(--t-surface-rgb), 0.820);
  border: 1px solid rgba(var(--t-accent-strong-rgb), 0.149);
  border-left: 3px solid var(--t-accent-strong);
}
.app[data-look] .pocket-identity-card header>div>span {
  color: var(--t-accent-strong);
}
.app[data-look] .pocket-identity-card header>div>span i {
  background: var(--t-accent-strong);
  box-shadow: 0 0 0 6px rgba(var(--t-accent-strong-rgb), 0.071);
}
.app[data-look] .pocket-identity-card header p {
  color: var(--t-text-3);
}
.app[data-look] .pocket-identity-card header>svg {
  color: var(--t-accent-strong);
}
.app[data-look] .identity-evidence article {
  border: 1px solid rgba(var(--t-border-rgb), calc(0.090 * var(--t-border-k)));
}
.app[data-look] .identity-evidence article small {
  color: var(--t-text-3);
}
.app[data-look] .identity-evidence article b {
  color: var(--t-text);
}
.app[data-look] .identity-evidence article span {
  color: var(--t-accent-strong);
}
.app[data-look] .identity-details {
  border: 1px solid rgba(var(--t-border-rgb), calc(0.078 * var(--t-border-k)));
}
.app[data-look] .identity-details>span {
  background: var(--t-surface);
}
.app[data-look] .identity-details small {
  color: var(--t-text-3);
}
.app[data-look] .identity-toggle {
  color: var(--t-accent-strong);
}
.app[data-look] .session-account-strip {
  background: linear-gradient(90deg, rgba(var(--t-accent-strong-rgb), 0.071), rgba(var(--t-surface-rgb), 0.878) 35%, rgba(var(--t-surface-rgb), 0.749));
  border: 1px solid rgba(var(--t-border-rgb), calc(0.102 * var(--t-border-k)));
}
.app[data-look] .session-account-strip small {
  color: var(--t-text-3);
}
.app[data-look] .session-account-strip b {
  color: var(--t-text);
}
.app[data-look] .session-stage-nav {
  background: rgba(var(--t-bg-2-rgb), 0.780);
  border: 1px solid rgba(var(--t-border-rgb), calc(0.102 * var(--t-border-k)));
}
.app[data-look] .session-stage-nav>span {
  border-right: 1px solid rgba(var(--t-border-rgb), calc(0.078 * var(--t-border-k)));
}
.app[data-look] .session-stage-nav>span>i {
  border: 1px solid rgba(var(--t-border-strong-rgb), calc(0.122 * var(--t-border-k)));
}
.app[data-look] .session-stage-nav b {
  color: var(--t-text-3);
}
.app[data-look] .session-stage-nav>span.active {
  color: var(--t-text);
  background: linear-gradient(90deg, rgba(var(--t-accent-strong-rgb), 0.055), #0000);
}
.app[data-look] .session-stage-nav>span.active>i {
  box-shadow: 0 0 0 7px rgba(var(--t-accent-strong-rgb), 0.051);
}
.app[data-look] .session-signal-command {
  border: 1px solid rgba(var(--t-accent-strong-rgb), 0.239);
  background: radial-gradient(circle at 82% 18%, rgba(var(--t-accent-strong-rgb), 0.129), #0000 29%), linear-gradient(145deg, var(--t-surface), var(--t-bg-2) 64%);
  box-shadow: 0 42px 115px #00000061, inset 0 1px rgba(var(--t-border-rgb), calc(0.039 * var(--t-border-k)));
}
.app[data-look] .session-signal-command:before {
  color: rgba(var(--t-text-rgb), 0.024);
}
.app[data-look] .session-signal-head {
  border-bottom: 1px solid rgba(var(--t-border-rgb), calc(0.102 * var(--t-border-k)));
}
.app[data-look] .session-signal-head>span {
  color: var(--t-text-2);
}
.app[data-look] .session-signal-head>span i {
  box-shadow: 0 0 0 6px rgba(var(--t-accent-strong-rgb), 0.059), 0 0 18px rgba(var(--t-accent-strong-rgb), 0.600);
}
.app[data-look] .session-signal-body small {
  color: var(--t-text-3);
}
.app[data-look] .session-signal-body h2 em {
  color: var(--t-text-3);
}
.app[data-look] .session-market-mark path:last-child {
  fill: rgba(var(--t-accent-strong-rgb), 0.059);
}
.app[data-look] .session-facts {
  background: rgba(var(--t-bg-rgb), 0.341);
  border: 1px solid rgba(var(--t-border-rgb), calc(0.102 * var(--t-border-k)));
}
.app[data-look] .session-facts>span {
  border-right: 1px solid rgba(var(--t-border-rgb), calc(0.090 * var(--t-border-k)));
}
.app[data-look] .session-facts small {
  color: var(--t-text-3);
}
.app[data-look] .session-facts b {
  color: var(--t-text);
}
.app[data-look] .session-review-copy>p {
  color: var(--t-text-3);
}
.app[data-look] .session-deal-cockpit {
  background: linear-gradient(110deg, rgba(var(--t-third-soft-rgb), 0.078), #ffffff04);
  border: 1px solid rgba(var(--t-third-soft-rgb), 0.180);
}
.app[data-look] .session-amount-orb {
  background: radial-gradient(circle, rgba(var(--t-accent-strong-rgb), 0.129), rgba(var(--t-accent-strong-rgb), 0.024) 66%, #0000 68%);
  border: 1px solid rgba(var(--t-accent-strong-rgb), 0.220);
  box-shadow: inset 0 0 45px rgba(var(--t-accent-strong-rgb), 0.059), 0 0 55px rgba(var(--t-accent-strong-rgb), 0.039);
}
.app[data-look] .session-amount-orb small {
  color: var(--t-text-3);
}
.app[data-look] .session-amount-orb span {
  color: var(--t-text-3);
}
.app[data-look] .session-review-panel {
  background: linear-gradient(115deg, rgba(var(--t-alt-rgb), 0.078), #ffffff04);
  border: 1px solid rgba(var(--t-alt-rgb), 0.200);
}
.app[data-look] .session-discipline-score>span {
  border: 1px solid rgba(var(--t-alt-rgb), 0.251);
  background: radial-gradient(circle, rgba(var(--t-alt-rgb), 0.122), #0000 65%);
  box-shadow: 0 0 0 9px rgba(var(--t-alt-rgb), 0.024);
}
.app[data-look] .session-discipline-score strong {
  color: var(--t-alt-soft);
}
.app[data-look] .session-discipline-score small {
  color: var(--t-text-3);
}
.app[data-look] .session-discipline-score>b {
  color: var(--t-text-2);
}
.app[data-look] .session-review-checks span {
  color: var(--t-text-2);
  background: rgba(var(--t-accent-strong-rgb), 0.035);
  border: 1px solid rgba(var(--t-accent-strong-rgb), 0.122);
}
.app[data-look] .session-review-copy label>span {
  color: var(--t-text-3);
}
.app[data-look] .session-review-copy textarea {
  background: rgba(var(--t-bg-rgb), 0.220);
  border: 1px solid rgba(var(--t-border-rgb), calc(0.102 * var(--t-border-k)));
}
.app[data-look] .session-review-copy textarea:focus {
  border-color: rgba(var(--t-alt-rgb), 0.349);
}
.app[data-look] .session-room-v2 {
  background: radial-gradient(circle at 90% 0, rgba(var(--t-third-soft-rgb), 0.102), #0000 34%), var(--t-surface);
  border: 1px solid rgba(var(--t-border-rgb), calc(0.102 * var(--t-border-k)));
}
.app[data-look] .session-room-v2 header small {
  color: var(--t-text-3);
}
.app[data-look] .session-room-v2>header {
  border-bottom: 1px solid rgba(var(--t-border-rgb), calc(0.078 * var(--t-border-k)));
}
.app[data-look] .session-room-v2 header>b {
  color: var(--t-text-2);
}
.app[data-look] .session-room-message {
  border-bottom: 1px solid rgba(var(--t-border-rgb), calc(0.071 * var(--t-border-k)));
}
.app[data-look] .session-room-message>i {
  color: var(--t-third-soft);
}
.app[data-look] .session-room-message.featured>i {
  background: linear-gradient(135deg, var(--session-green), var(--t-accent-deep));
}
.app[data-look] .session-room-message p {
  color: var(--t-text-2);
}
.app[data-look] .session-room-message p>b {
  color: var(--t-third-soft);
}
.app[data-look] .session-room-message p small {
  color: var(--t-text-3);
}
.app[data-look] .session-room-v2>button {
  color: var(--t-third-soft);
  background: rgba(var(--t-third-soft-rgb), 0.051);
  border: 1px solid rgba(var(--t-third-soft-rgb), 0.161);
}
.app[data-look] .session-truth-note {
  background: rgba(var(--t-accent-strong-rgb), 0.035);
  border: 1px solid rgba(var(--t-accent-strong-rgb), 0.122);
}
.app[data-look] .session-truth-note p {
  color: var(--t-text-3);
}
.app[data-look] .signal-hub-page {
  --hub-green: var(--t-accent-strong);
}
.app[data-look] .signal-hub-summary {
  background: linear-gradient(90deg, rgba(var(--t-accent-strong-rgb), 0.071), rgba(var(--t-surface-rgb), 0.859) 36%, rgba(var(--t-surface-rgb), 0.722));
  border: 1px solid rgba(var(--t-border-rgb), calc(0.102 * var(--t-border-k)));
}
.app[data-look] .signal-hub-summary small {
  color: var(--t-text-3);
}
.app[data-look] .signal-hub-summary b {
  color: var(--t-text);
}
.app[data-look] .signal-hub-tabs button {
  color: var(--t-text-3);
  border: 1px solid rgba(var(--t-border-rgb), calc(0.102 * var(--t-border-k)));
}
.app[data-look] .signal-hub-tabs button.active {
  background: var(--t-accent-soft);
  border-color: var(--t-accent-soft);
}
.app[data-look] .signal-stream-list {
  background: rgba(var(--t-bg-2-rgb), 0.871);
  border: 1px solid rgba(var(--t-border-rgb), calc(0.102 * var(--t-border-k)));
}
.app[data-look] .signal-stream-list>header {
  border-bottom: 1px solid rgba(var(--t-border-rgb), calc(0.090 * var(--t-border-k)));
}
.app[data-look] .signal-stream-list header b {
  color: var(--t-text-2);
}
.app[data-look] .signal-stream-list header>svg {
  color: var(--t-text-3);
}
.app[data-look] .signal-stream-list button {
  color: var(--t-text-3);
  border-bottom: 1px solid rgba(var(--t-border-rgb), calc(0.075 * var(--t-border-k)));
}
.app[data-look] .signal-stream-list button.active {
  color: var(--t-accent-soft);
  background: linear-gradient(90deg, rgba(var(--t-accent-strong-rgb), 0.122), rgba(var(--t-accent-strong-rgb), 0.016));
}
.app[data-look] .stream-state {
  border: 1px solid rgba(var(--t-border-rgb), calc(0.102 * var(--t-border-k)));
}
.app[data-look] .signal-stream-list button small {
  color: var(--t-text-3);
}
.app[data-look] .signal-stream-list button em {
  color: var(--t-text-3);
}
.app[data-look] .signal-command-card {
  border: 1px solid rgba(var(--t-accent-strong-rgb), 0.251);
  background: radial-gradient(circle at 82% 19%, rgba(var(--t-accent-strong-rgb), 0.149), #0000 29%), linear-gradient(145deg, var(--t-surface-2), var(--t-bg) 67%);
  box-shadow: 0 42px 115px #00000061, inset 0 1px rgba(var(--t-border-rgb), calc(0.039 * var(--t-border-k)));
}
.app[data-look] .signal-command-card:before {
  color: rgba(var(--t-text-rgb), 0.024);
}
.app[data-look] .signal-command-card.locked {
  border-color: rgba(var(--t-alt-rgb), 0.220);
  background: radial-gradient(circle at 82% 19%, rgba(var(--t-alt-rgb), 0.122), #0000 29%), linear-gradient(145deg, var(--t-surface), var(--t-bg-2) 67%);
}
.app[data-look] .signal-command-card>header {
  border-bottom: 1px solid rgba(var(--t-border-rgb), calc(0.102 * var(--t-border-k)));
}
.app[data-look] .signal-command-card>header>span {
  color: var(--t-text-2);
}
.app[data-look] .signal-command-card>header button {
  color: var(--t-text-3);
  border: 1px solid rgba(var(--t-border-rgb), calc(0.102 * var(--t-border-k)));
}
.app[data-look] .signal-command-card>header button.active {
  border-color: rgba(var(--t-accent-strong-rgb), 0.180);
}
.app[data-look] .signal-command-main small {
  color: var(--t-text-3);
}
.app[data-look] .signal-command-main h2 em {
  color: var(--t-text-3);
}
.app[data-look] .signal-command-chart path:last-child {
  fill: rgba(var(--t-accent-strong-rgb), 0.051);
}
.app[data-look] .signal-trade-generator {
  background: rgba(var(--t-bg-rgb), 0.388);
  border: 1px solid rgba(var(--t-border-rgb), calc(0.102 * var(--t-border-k)));
}
.app[data-look] .signal-generated-amount {
  background: radial-gradient(circle at 50% 40%, rgba(var(--t-accent-strong-rgb), 0.110), #0000 69%);
  border: 1px solid rgba(var(--t-accent-strong-rgb), 0.180);
}
.app[data-look] .signal-generator-facts small {
  color: var(--t-text-3);
}
.app[data-look] .signal-generated-amount span {
  color: var(--t-text-3);
}
.app[data-look] .signal-generator-facts {
  border: 1px solid rgba(var(--t-border-rgb), calc(0.078 * var(--t-border-k)));
}
.app[data-look] .signal-generator-facts>span {
  border-right: 1px solid rgba(var(--t-border-rgb), calc(0.078 * var(--t-border-k)));
}
.app[data-look] .signal-generator-facts b {
  color: var(--t-text);
}
.app[data-look] .signal-access-gate {
  background: rgba(var(--t-alt-rgb), 0.043);
  border: 1px solid rgba(var(--t-alt-rgb), 0.180);
}
.app[data-look] .signal-access-gate p {
  color: var(--t-text-3);
}
.app[data-look] .signal-day-schedule {
  background: rgba(var(--t-bg-2-rgb), 0.780);
  border: 1px solid rgba(var(--t-border-rgb), calc(0.102 * var(--t-border-k)));
}
.app[data-look] .signal-day-schedule header>span {
  color: var(--t-text-3);
}
.app[data-look] .signal-day-schedule button {
  color: var(--t-text-3);
}
.app[data-look] .signal-day-schedule button i {
  box-shadow: 0 0 0 1px rgba(var(--t-border-strong-rgb), calc(0.122 * var(--t-border-k)));
}
.app[data-look] .signal-day-schedule button b {
  color: var(--t-text);
}
.app[data-look] .signal-hub-truth {
  background: rgba(var(--t-accent-strong-rgb), 0.035);
  border: 1px solid rgba(var(--t-accent-strong-rgb), 0.122);
}
.app[data-look] .signal-hub-truth p {
  color: var(--t-text-3);
}
.app[data-look] .signal-mode-switch>button {
  color: var(--t-text-3);
  background: rgba(var(--t-bg-2-rgb), 0.851);
}
.app[data-look] .signal-mode-switch>button.active {
  color: var(--t-accent);
  background: radial-gradient(circle at 0 0, rgba(var(--t-accent-rgb), 0.129), #0000 45%), var(--t-surface);
  border-color: rgba(var(--t-accent-rgb), 0.549);
}
.app[data-look] .signal-mode-switch>button>svg:first-child {
  background: rgba(var(--t-accent-rgb), 0.090);
}
.app[data-look] .signal-mode-switch small {
  color: var(--t-text-3);
}
.app[data-look] .signal-mode-switch b {
  color: var(--t-text);
}
.app[data-look] .signal-mode-switch em {
  color: var(--t-text-3);
}
.app[data-look] .strategy-scanner-card {
  background: radial-gradient(circle at 90% 5%, rgba(var(--t-third-soft-rgb), 0.122), #0000 35%), linear-gradient(150deg, var(--t-surface-2) 0%, var(--t-bg-2) 70%);
}
.app[data-look] .otc-bot-card {
  background: radial-gradient(circle at 85% 15%, rgba(var(--t-accent-rgb), 0.141), #0000 34%), linear-gradient(150deg, var(--t-surface-2) 0%, var(--t-bg-2) 70%);
  border-color: rgba(var(--t-accent-rgb), 0.400);
}
.app[data-look] .strategy-scanner-card>header span {
  color: var(--t-third-soft);
}
.app[data-look] .strategy-scanner-card>header b {
  color: var(--t-text-2);
}
.app[data-look] .strategy-scanner-card>div>small {
  color: var(--t-text-3);
}
.app[data-look] .strategy-scanner-card h2 {
  color: var(--t-text);
}
.app[data-look] .strategy-scanner-card p {
  color: var(--t-text-2);
}
.app[data-look] .signal-machine-line i {
  color: var(--t-accent);
  background: rgba(var(--t-accent-rgb), 0.122);
}
.app[data-look] .signal-machine-line b {
  color: var(--t-text);
}
.app[data-look] .signal-machine-line small {
  color: var(--t-text-3);
}
.app[data-look] .strategy-scanner-card>[data-slot=button] {
  background: var(--t-third-soft);
}
.app[data-look] .strategy-picker>button {
  color: var(--t-text-3);
  background: rgba(var(--t-bg-2-rgb), 0.561);
}
.app[data-look] .strategy-picker>button.active {
  color: var(--t-third-soft);
  background: rgba(var(--t-third-soft-rgb), 0.102);
  border-color: var(--t-third-soft);
}
.app[data-look] .strategy-picker>button>i {
  background: rgba(var(--t-third-soft-rgb), 0.078);
}
.app[data-look] .strategy-picker b {
  color: var(--t-text);
}
.app[data-look] .strategy-picker small {
  color: var(--t-text-3);
}
.app[data-look] .scheduled-session-board {
  background: rgba(var(--t-bg-2-rgb), 0.902);
}
.app[data-look] .scheduled-session-board>header small {
  color: var(--t-accent);
}
.app[data-look] .scheduled-session-board>header h2 {
  color: var(--t-text);
}
.app[data-look] .scheduled-session-board>header p {
  color: var(--t-text-2);
}
.app[data-look] .scheduled-session-board>header>span {
  color: var(--t-text-2);
}
.app[data-look] .scheduled-session-list time {
  color: var(--t-text);
}
.app[data-look] .scheduled-session-list article>div small {
  color: var(--t-text-3);
}
.app[data-look] .scheduled-session-list h3 {
  color: var(--t-text);
}
.app[data-look] .scheduled-session-list p {
  color: var(--t-text-3);
}
.app[data-look] .scheduled-state {
  color: var(--t-text-3);
  background: var(--t-surface-2);
}
.app[data-look] .next-session-action {
  background: var(--t-surface);
  color: var(--t-text);
}
.app[data-look] .signal-primary-action {
  background: radial-gradient(circle at 75% 10%, rgba(var(--t-accent-rgb), 0.180), #0000 35%), linear-gradient(145deg, var(--t-surface-2) 0%, var(--t-bg-2) 72%);
}
.app[data-look] .next-session-action>span {
  color: var(--t-text-2);
}
.app[data-look] .signal-primary-action>span i {
  background: var(--t-accent);
  box-shadow: 0 0 14px rgba(var(--t-accent-rgb), 0.749);
}
.app[data-look] .signal-primary-action h2 {
  color: var(--t-text);
}
.app[data-look] .signal-primary-action p {
  color: var(--t-text-2);
}
.app[data-look] .signal-primary-action [data-slot=button] {
  background: var(--t-accent);
}
.app[data-look] .next-session-action strong {
  color: var(--t-text);
}
.app[data-look] .next-session-action small {
  color: var(--t-accent);
}
.app[data-look] .signal-back-action {
  color: var(--t-text-2);
}
.app[data-look] .trade-generator-dialog {
  color: var(--t-text) !important;
  background: var(--t-bg-2) !important;
}
.app[data-look] .trade-generator-dialog [data-slot=dialog-description] {
  color: var(--t-text-3);
}
.app[data-look] .trade-generator-dialog [data-slot=dialog-close] {
  color: var(--t-text-2);
}
.app[data-look] .generator-progress i {
  background: var(--t-accent);
}
.app[data-look] .generator-choice-list>button {
  color: var(--t-text-2);
  background: var(--t-surface);
}
.app[data-look] .generator-option-grid>button.active {
  color: var(--t-accent);
  background: rgba(var(--t-accent-rgb), 0.110);
  border-color: var(--t-accent);
}
.app[data-look] .generator-choice-list>button>i {
  background: var(--t-elevated);
}
.app[data-look] .generator-choice-list b {
  color: var(--t-text);
}
.app[data-look] .generator-choice-list small {
  color: var(--t-text-3);
}
.app[data-look] .generator-option-grid>button {
  color: var(--t-text);
  background: var(--t-surface);
}
.app[data-look] .generated-deal-card {
  background: radial-gradient(circle at 85% 15%, rgba(var(--t-accent-rgb), 0.180), #0000 38%), var(--t-surface);
  border: 1px solid rgba(var(--t-accent-rgb), 0.451);
}
.app[data-look] .generated-deal-card>span {
  color: var(--t-accent);
}
.app[data-look] .generated-deal-card>span i {
  background: var(--t-accent);
}
.app[data-look] .generated-deal-card h2 {
  color: var(--t-text);
}
.app[data-look] .generated-deal-card>strong {
  color: var(--t-accent);
}
.app[data-look] .generated-deal-card>div b {
  color: var(--t-text-2);
}
.app[data-look] .generator-dialog-actions [data-slot=button]:last-child {
  background: var(--t-accent);
}
.app[data-look] .compact-trade-flow>header>button {
  color: var(--t-text-2);
}
.app[data-look] .compact-trade-flow>header>span {
  color: var(--t-accent);
}
.app[data-look] .compact-trade-flow>header>span i {
  background: var(--t-accent);
  box-shadow: 0 0 14px rgba(var(--t-accent-rgb), 0.702);
}
.app[data-look] .compact-trade-done {
  background: radial-gradient(circle at 80% 12%, rgba(var(--t-accent-rgb), 0.161), #0000 35%), var(--t-surface);
  border: 1px solid rgba(var(--t-accent-rgb), 0.451);
}
.app[data-look] .compact-deal-card h1 {
  color: var(--t-text);
}
.app[data-look] .compact-deal-card>strong {
  color: var(--t-accent);
}
.app[data-look] .compact-deal-facts>span {
  background: rgba(var(--t-bg-rgb), 0.349);
}
.app[data-look] .compact-deal-facts small {
  color: var(--t-text-3);
}
.app[data-look] .compact-deal-facts b {
  color: var(--t-text);
}
.app[data-look] .compact-deal-action [data-slot=button] {
  background: var(--t-accent);
}
.app[data-look] .compact-trade-done>button:last-child {
  color: var(--t-text-3);
}
.app[data-look] .compact-result-choice h2 {
  color: var(--t-text);
}
.app[data-look] .compact-result-choice button {
  color: var(--t-text);
  background: var(--t-surface);
}
.app[data-look] .compact-trade-done>i {
  background: var(--t-accent);
}
.app[data-look] .compact-trade-done h1 {
  color: var(--t-text);
}
.app[data-look] .compact-trade-done p {
  color: var(--t-text-2);
}
.app[data-look] .compact-trade-done [data-slot=button] {
  background: var(--t-accent);
}
.app[data-look] .pocket-identity-card.compact {
  background: var(--t-surface);
}
.app[data-look] .pocket-identity-card.compact>svg {
  color: var(--t-accent);
  background: rgba(var(--t-accent-rgb), 0.102);
}
.app[data-look] .pocket-identity-card.compact small {
  color: var(--t-text-3);
}
.app[data-look] .pocket-identity-card.compact b {
  color: var(--t-text);
}
.app[data-look] .pocket-identity-card.compact>button {
  color: var(--t-accent);
}
.app[data-look] .compact-auto-result {
  background: rgba(var(--t-accent-rgb), 0.071);
  border: 1px solid rgba(var(--t-accent-rgb), 0.322);
}
.app[data-look] .compact-auto-result>span {
  color: var(--t-accent);
}
.app[data-look] .compact-auto-result h2 {
  color: var(--t-text);
}
.app[data-look] .compact-auto-result p {
  color: var(--t-text-2);
}
.app[data-look] .compact-auto-result [data-slot=button] {
  background: var(--t-accent);
}
.app[data-look] .signal-help-link {
  color: var(--t-text-2);
}
.app[data-look] .signal-guide-dialog {
  color: var(--t-text) !important;
  background: var(--t-bg-2) !important;
}
.app[data-look] .signal-guide-dialog [data-slot=dialog-title] {
  color: var(--t-text);
}
.app[data-look] .signal-guide-dialog [data-slot=dialog-description] {
  color: var(--t-text-3);
}
.app[data-look] .signal-guide-steps article {
  background: var(--t-surface);
}
.app[data-look] .signal-guide-steps article>i {
  color: var(--t-accent);
  background: rgba(var(--t-accent-rgb), 0.122);
}
.app[data-look] .signal-guide-steps b {
  color: var(--t-text);
}
.app[data-look] .signal-guide-steps small {
  color: var(--t-text-3);
}
.app[data-look] .signal-guide-dialog>[data-slot=button] {
  background: var(--t-accent);
}
.app[data-look] .analysis-orbit {
  background: radial-gradient(circle, rgba(var(--t-accent-rgb), 0.161), #0000 65%);
  border: 1px solid rgba(var(--t-accent-rgb), 0.322);
}
.app[data-look] .analysis-orbit:after {
  border: 1px solid rgba(var(--t-accent-rgb), 0.129);
}
.app[data-look] .analysis-orbit>svg {
  color: var(--t-accent);
}
.app[data-look] .analysis-orbit>i {
  background: var(--t-accent);
  box-shadow: 0 0 12px rgba(var(--t-accent-rgb), 0.800);
}
.app[data-look] .signal-analysis-card h2 {
  color: var(--t-text);
}
.app[data-look] .signal-analysis-card>p {
  color: var(--t-accent);
}
.app[data-look] .analysis-checks>span {
  color: var(--t-text-3);
}
.app[data-look] .learning-next-card {
  background: var(--t-surface);
}
.app[data-look] .learning-next-card>div>span {
  color: var(--t-text-3);
}
.app[data-look] .learning-next-card h3 {
  color: var(--t-text);
}
.app[data-look] .learning-next-card p {
  color: var(--t-text-3);
}
.app[data-look] .learning-next-card>span {
  color: var(--t-text-2);
}
.app[data-look] .mobile-room-list .room-choice {
  color: var(--t-text);
  background: linear-gradient(100deg, var(--room-accent), var(--t-bg-2) 72%) !important;
}
.app[data-look] .mobile-room-list .room-choice small {
  color: var(--t-text-3);
}
.app[data-look] .community-chat>header {
  border-bottom-color: var(--room-accent, var(--t-third)) !important;
  background: linear-gradient(105deg, var(--room-accent, var(--t-third)), transparent 58%) !important;
}
.app[data-look] .strategy-choice-list>button.active {
  background: linear-gradient(100deg, var(--strategy-accent), var(--t-bg-2) 72%) !important;
}
.app[data-look] .strategy-mark {
  background: radial-gradient(circle, var(--strategy-accent), var(--t-bg-2) 68%) !important;
}
.app[data-look] .strategy-essence {
  background: rgba(var(--t-bg-rgb), 0.439);
}
.app[data-look] .strategy-essence>p {
  color: var(--t-text-2);
}
.app[data-look] .strategy-mechanic>span {
  color: var(--t-text-2) !important;
}
.app[data-look] .strategy-mechanic>span>i {
  background: var(--t-bg);
}
.app[data-look] .strategy-mechanic>span>b {
  color: var(--t-text-2);
}
.app[data-look] .strategy-meta>span {
  color: var(--t-text-2);
  border: 1px solid rgba(var(--t-border-rgb), calc(0.078 * var(--t-border-k)));
}
.app[data-look] .amir-navigator {
  background: radial-gradient(circle at 7% 28%, var(--navigator-accent), transparent 24%), linear-gradient(118deg, var(--t-surface) 0%, var(--t-bg-2) 54%, var(--t-bg) 100%);
  box-shadow: 0 34px 90px #00000052, inset 0 1px rgba(var(--t-border-rgb), calc(0.043 * var(--t-border-k)));
}
.app[data-look] .navigator-identity {
  background: radial-gradient(circle at 35% 28%, var(--navigator-accent), transparent 42%), var(--t-bg-2);
}
.app[data-look] .navigator-identity>span {
  color: var(--t-alt-soft);
}
.app[data-look] .navigator-message h2 {
  color: var(--t-alt-soft);
}
.app[data-look] .navigator-message>p {
  color: var(--t-text-2);
}
.app[data-look] .navigator-proof>span {
  color: var(--t-text-2);
  background: rgba(var(--t-bg-rgb), 0.322);
}
.app[data-look] .navigator-decision {
  background: rgba(var(--t-bg-rgb), 0.620);
  border: 1px solid rgba(var(--t-border-rgb), calc(0.086 * var(--t-border-k)));
  box-shadow: inset 0 1px rgba(var(--t-border-rgb), calc(0.024 * var(--t-border-k)));
}
.app[data-look] .navigator-decision>small {
  color: var(--t-text-3);
}
.app[data-look] .navigator-decision>span {
  color: var(--t-text-3);
}
.app[data-look] .amir-context-guide {
  background: linear-gradient(100deg, rgba(var(--t-third-soft-rgb), 0.090), rgba(var(--t-bg-2-rgb), 0.941) 40%, rgba(var(--t-bg-2-rgb), 0.941));
  border: 1px solid rgba(var(--t-third-soft-rgb), 0.200);
  box-shadow: 0 20px 55px #00000038, inset 0 1px rgba(var(--t-border-rgb), calc(0.024 * var(--t-border-k)));
}
.app[data-look] .context-amir {
  color: var(--t-text);
  background: radial-gradient(circle at 35% 25%, rgba(var(--t-third-soft-rgb), 0.278), #0000 48%), var(--t-bg-2);
  border: 1px solid rgba(var(--t-third-soft-rgb), 0.420);
}
.app[data-look] .amir-context-guide span {
  color: var(--t-third-soft);
}
.app[data-look] .amir-context-guide p {
  color: var(--t-text-2);
}
.app[data-look] .amir-context-guide>button {
  color: var(--t-text-3);
}
.app[data-look] .amir-context-guide>button:hover {
  color: var(--t-text);
}
.app[data-look] .navigator-launcher>i {
  color: var(--t-text);
  background: radial-gradient(circle at 32% 26%, rgba(var(--t-third-soft-rgb), 0.251), #0000 50%), var(--t-bg-2);
  border: 1px solid rgba(var(--t-third-soft-rgb), 0.420);
}
.app[data-look] .navigator-launcher small {
  color: var(--t-text-3);
}
.app[data-look] .navigator-launcher>svg {
  color: var(--t-accent);
}
.app[data-look] .guided-amir-tour {
  color: var(--t-text);
  background: radial-gradient(circle at 11% 10%, rgba(var(--t-accent-rgb), 0.149), #0000 28%), linear-gradient(145deg, rgba(var(--t-bg-2-rgb), 0.988), rgba(var(--t-bg-rgb), 0.988));
  border: 1px solid rgba(var(--t-third-soft-rgb), 0.302);
  box-shadow: 0 36px 120px #000000ad, inset 0 1px rgba(var(--t-border-rgb), calc(0.051 * var(--t-border-k)));
  border-color: rgba(var(--t-accent-rgb), 0.341);
}
.app[data-look] .guided-amir-tour>header span {
  color: var(--t-accent);
}
.app[data-look] .guided-amir-tour>header span i {
  background: var(--t-accent);
  box-shadow: 0 0 14px var(--t-accent);
}
.app[data-look] .guided-amir-tour>header button {
  color: var(--t-text-3);
}
.app[data-look] .guided-amir-tour>div small {
  color: var(--t-accent);
}
.app[data-look] .guided-amir-tour h3 {
  color: var(--t-alt-soft);
}
.app[data-look] .guided-amir-tour p {
  color: var(--t-text-2);
}
.app[data-look] .next-level-preview-callout {
  background: radial-gradient(circle at 88% 15%, rgba(var(--t-third-soft-rgb), 0.102), #0000 26%), linear-gradient(130deg, var(--t-surface), var(--t-bg-2));
  border: 1px solid rgba(var(--t-third-soft-rgb), 0.220);
}
.app[data-look] .future-learning-unlock span {
  color: var(--t-third-soft);
}
.app[data-look] .next-level-preview-callout h2 {
  color: var(--t-text);
}
.app[data-look] .next-level-preview-callout p {
  color: var(--t-text-3);
}
.app[data-look] .future-cabinet-dialog {
  background: radial-gradient(circle at 82% 8%, rgba(var(--t-third-soft-rgb), 0.129), #0000 30%), linear-gradient(150deg, var(--t-surface), var(--t-bg) 74%) !important;
  border-color: rgba(var(--t-third-soft-rgb), 0.302) !important;
  box-shadow: 0 46px 150px #000000bf, inset 0 1px rgba(var(--t-border-rgb), calc(0.051 * var(--t-border-k))) !important;
}
.app[data-look] .future-cabinet-dialog [data-slot=dialog-title] {
  color: var(--t-text) !important;
}
.app[data-look] .future-level-rail>span {
  background: rgba(var(--t-bg-rgb), 0.580);
  border: 1px solid rgba(var(--t-border-rgb), calc(0.078 * var(--t-border-k)));
}
.app[data-look] .future-level-rail>span.future {
  background: rgba(var(--t-third-soft-rgb), 0.078);
  border-color: rgba(var(--t-third-soft-rgb), 0.361);
  box-shadow: 0 0 38px rgba(var(--t-third-soft-rgb), 0.090);
}
.app[data-look] .future-level-rail small {
  color: var(--t-text-3);
}
.app[data-look] .future-level-rail b {
  color: var(--t-text);
}
.app[data-look] .future-level-rail em {
  color: var(--t-text-3);
}
.app[data-look] .future-level-rail>i {
  color: var(--t-third-soft);
}
.app[data-look] .future-cabinet-stage {
  background: rgba(var(--t-bg-rgb), 0.549);
  border: 1px solid rgba(var(--t-border-rgb), calc(0.071 * var(--t-border-k)));
}
.app[data-look] .future-cabinet-stage>aside {
  border-right: 1px solid rgba(var(--t-border-rgb), calc(0.071 * var(--t-border-k)));
}
.app[data-look] .future-cabinet-stage>aside>b {
  color: var(--t-text-3);
}
.app[data-look] .future-cabinet-stage>aside>span {
  color: var(--t-text-2);
}
.app[data-look] .future-cabinet-stage>aside>span:nth-child(4) {
  color: var(--t-text);
  background: rgba(var(--t-third-soft-rgb), 0.078);
}
.app[data-look] .future-cabinet-stage>aside svg {
  color: var(--t-third-soft);
}
.app[data-look] .future-cabinet-stage>aside i {
  background: var(--t-third-soft);
}
.app[data-look] .future-stage-label {
  color: var(--t-third-soft);
}
.app[data-look] .future-cabinet-stage article {
  background: linear-gradient(150deg, rgba(var(--t-third-soft-rgb), 0.075), rgba(var(--t-bg-2-rgb), 0.820));
  border: 1px solid rgba(var(--t-third-soft-rgb), 0.180);
}
.app[data-look] .future-cabinet-stage article>svg {
  color: var(--t-third-soft);
}
.app[data-look] .future-cabinet-stage article small {
  color: var(--t-third);
}
.app[data-look] .future-cabinet-stage article h3 {
  color: var(--t-text);
}
.app[data-look] .future-cabinet-stage article p {
  color: var(--t-text-3);
}
.app[data-look] .future-cabinet-actions [data-slot=button] {
  background: var(--t-third-soft) !important;
}
.app[data-look] .future-cabinet-actions>small {
  color: var(--t-text-3);
}
.app[data-look] .future-preview-bar {
  background: rgba(var(--t-surface-rgb), 0.941);
  border-bottom: 1px solid rgba(var(--t-third-soft-rgb), 0.239);
}
.app[data-look] .future-preview-bar span {
  color: var(--t-third-soft);
}
.app[data-look] .future-preview-bar span svg {
  color: var(--t-third-soft);
}
.app[data-look] .future-preview-bar small {
  color: var(--t-text-3);
}
.app[data-look] .future-preview-bar button {
  color: var(--t-third-soft);
}
.app[data-look] .future-nav-badge {
  background: var(--t-third-soft);
}
.app[data-look].future-preview-active .side-level {
  background: linear-gradient(145deg, rgba(var(--t-third-soft-rgb), 0.102), var(--t-bg-2)) !important;
  border-color: rgba(var(--t-third-soft-rgb), 0.349) !important;
}
.app[data-look].future-preview-active .scheduled-session-list article:nth-child(3) {
  border-color: rgba(var(--t-third-soft-rgb), 0.459) !important;
  box-shadow: 0 0 0 1px rgba(var(--t-third-soft-rgb), 0.122), 0 24px 70px rgba(var(--t-third-deep-rgb), 0.161) !important;
}
.app[data-look] .scheduled-session-list article.preview-unlock {
  background: linear-gradient(100deg, rgba(var(--t-third-soft-rgb), 0.090), rgba(var(--t-bg-2-rgb), 0.941)) !important;
}
.app[data-look] .scheduled-session-list article.preview-unlock:before {
  color: var(--t-third-soft);
}
.app[data-look] .future-learning-unlock {
  background: linear-gradient(105deg, rgba(var(--t-third-soft-rgb), 0.102), var(--t-bg-2) 65%);
  border: 1px solid rgba(var(--t-third-soft-rgb), 0.278);
}
.app[data-look] .future-learning-unlock>svg {
  color: var(--t-third-soft);
}
.app[data-look] .future-learning-unlock h3 {
  color: var(--t-text);
}
.app[data-look] .future-learning-unlock p {
  color: var(--t-text-3);
}
.app[data-look] .future-learning-unlock button {
  color: var(--t-third-soft);
}
.app[data-look] .amir-quick-nav .quick-nav-intro p {
  color: var(--t-text-3);
}
.app[data-look] .quick-nav-actions>button {
  color: var(--t-text);
  border: 1px solid rgba(var(--t-border-rgb), calc(0.102 * var(--t-border-k)));
}
.app[data-look] .quick-nav-actions>button:focus-visible {
  background: rgba(var(--t-accent-rgb), 0.078);
  border-color: rgba(var(--t-accent-rgb), 0.451);
}
.app[data-look] .quick-nav-actions>button>svg:first-child {
  color: var(--t-accent);
}
.app[data-look] .quick-nav-actions>button>svg:last-child {
  color: var(--t-text-3);
}
.app[data-look] .quick-nav-actions small {
  color: var(--t-text-3);
}
.app[data-look] .forgot-password {
  color: var(--t-accent) !important;
}
.app[data-look] .forgot-password:focus-visible {
  color: var(--t-accent-soft) !important;
}
.app[data-look] .recovery-dialog form label {
  color: var(--t-text-2);
}
.app[data-look] .recovery-dialog form input {
  color: var(--t-text);
  border: 1px solid rgba(var(--t-border-strong-rgb), calc(0.129 * var(--t-border-k)));
}
.app[data-look] .recovery-dialog form input:focus {
  border-color: rgba(var(--t-accent-rgb), 0.580);
  box-shadow: 0 0 0 3px rgba(var(--t-accent-rgb), 0.102);
}
.app[data-look] .account-hero {
  background: var(--t-surface);
}
.app[data-look] .account-side>span {
  color: var(--t-text-3);
}
.app[data-look] .account-side p {
  color: var(--t-text-3);
}
.app[data-look] .account-figure p.is-stale {
  color: var(--t-alt);
}
.app[data-look] .account-why {
  background: var(--t-surface);
}
.app[data-look] .account-why>i {
  color: var(--t-alt);
}
.app[data-look] .account-why p {
  color: var(--t-text-3);
}
.app[data-look] .account-hint {
  color: var(--t-text-2);
}
.app[data-look] .account-sub {
  background: var(--t-surface);
}
.app[data-look] .account-sub header span {
  color: var(--t-text-3);
}
.app[data-look] .account-sub small {
  color: var(--t-text-3);
}
.app[data-look] .account-tier p s {
  color: var(--t-text-2);
}
.app[data-look] .pocket-connect>label {
  color: var(--t-text-3);
}
.app[data-look] .pocket-connect-row input {
  border: 1px solid rgba(var(--t-border-strong-rgb), calc(0.122 * var(--t-border-k)));
  color: var(--t-text);
}
.app[data-look] .pocket-connect-row input::placeholder {
  color: var(--t-text-3);
}
.app[data-look] .pocket-answer {
  color: var(--t-text-3);
}
.app[data-look] .pocket-answer.is-bad {
  border-left-color: var(--t-alt);
}
.app[data-look] .pocket-answer b {
  color: var(--t-text);
}
.app[data-look] .lesson-done {
  color: var(--t-text-3);
}
.app[data-look] .rooms-panel {
  background: var(--t-surface);
}
.app[data-look] .rooms-panel>header span {
  color: var(--t-text-3);
}
.app[data-look] .room-row small {
  color: var(--t-text-3);
}
.app[data-look] .room-row>svg {
  color: var(--t-text-3);
}
.app[data-look] .rooms-note {
  color: var(--t-text-3);
}
.app[data-look] .prize-summary>svg {
  color: var(--t-alt);
}
.app[data-look] .prize-summary span {
  color: var(--t-text-3);
}
.app[data-look] .prize-summary p {
  color: var(--t-text-3);
}
.app[data-look] .history-list>article small {
  color: var(--t-text-3);
}
.app[data-look] .history-list>article>span {
  color: var(--t-text-3);
}
.app[data-look] .account-topup {
  background: linear-gradient(180deg, var(--t-accent-strong), var(--t-accent));
}
.app[data-look] .account-moves>header span {
  color: var(--t-text-3);
}
.app[data-look] .account-moves>header b {
  color: var(--t-accent-strong);
}
.app[data-look] .account-moves-note {
  color: var(--t-text-3);
}

@supports (color:color-mix(in lab, red, red)) {
  .app[data-look] .trade-generator-dialog.strategy-world {
    background: radial-gradient(circle at 87% 8%, color-mix(in srgb, var(--strategy-accent) 18%, transparent), transparent 31%), radial-gradient(circle at 12% 94%, color-mix(in srgb, var(--strategy-accent) 7%, transparent), transparent 35%), linear-gradient(155deg, var(--t-bg-2), var(--t-bg) 72%) !important;
    border-color: color-mix(in srgb, var(--strategy-accent, var(--t-accent)) 38%, #26332e) !important;
  }
  .app[data-look] .strategy-choice-list>button.active {
    background: linear-gradient(100deg, color-mix(in srgb, var(--strategy-accent) 12%, var(--t-bg-2)), var(--t-bg-2) 72%) !important;
  }
  .app[data-look] .strategy-choice-list>button>i {
    background: color-mix(in srgb, var(--strategy-accent) 8%, var(--t-surface)) !important;
  }
  .app[data-look] .strategy-world-preview {
    background: radial-gradient(circle at 76% 14%, color-mix(in srgb, var(--strategy-accent) 16%, transparent), transparent 28%), linear-gradient(145deg, color-mix(in srgb, var(--strategy-muted) 52%, var(--t-bg-2)), var(--t-bg) 72%) !important;
  }
  .app[data-look] .strategy-mark {
    background: radial-gradient(circle, color-mix(in srgb, var(--strategy-accent) 14%, var(--t-bg-2)), var(--t-bg-2) 68%) !important;
  }
  .app[data-look] .community-page .mobile-room-trigger {
    background: linear-gradient(100deg, color-mix(in srgb, var(--room-accent) 12%, var(--t-bg-2)), var(--t-bg-2) 70%) !important;
    border-color: color-mix(in srgb, var(--room-accent) 40%, rgba(var(--t-border-rgb), calc(0.078 * var(--t-border-k)))) !important;
  }
  .app[data-look] .community-page .mobile-room-trigger>i {
    background: color-mix(in srgb, var(--room-accent) 17%, var(--t-surface-2));
  }
  .app[data-look] .generator-context-line {
    background: color-mix(in srgb, var(--strategy-muted) 22%, var(--t-surface));
  }
  .app[data-look] .generated-deal-card[class*=theme-] {
    background: radial-gradient(circle at 80% 22%, color-mix(in srgb, var(--strategy-accent) 17%, transparent), transparent 34%), var(--t-surface);
  }
  .app[data-look] .mobile-room-list .room-choice.active {
    background: color-mix(in srgb, var(--room-accent) 13%, var(--t-surface));
  }
  .app[data-look] .mobile-room-list .room-choice>i {
    background: color-mix(in srgb, var(--room-accent) 15%, var(--t-surface-2));
  }
  .app[data-look] .community-chat {
    background: radial-gradient(circle at 88% 5%, color-mix(in srgb, var(--room-accent, var(--t-third)) 8%, transparent), transparent 32%), var(--t-bg-2) !important;
  }
  .app[data-look] .community-chat>header {
    border-bottom-color: color-mix(in srgb, var(--room-accent, var(--t-third)) 24%, rgba(var(--t-border-rgb), calc(0.071 * var(--t-border-k)))) !important;
    background: linear-gradient(105deg, color-mix(in srgb, var(--room-accent, var(--t-third)) 8%, transparent), transparent 58%) !important;
  }
  .app[data-look] .mobile-room-list .room-choice {
    background: linear-gradient(100deg, color-mix(in srgb, var(--room-accent) 10%, var(--t-bg-2)), var(--t-bg-2) 72%) !important;
    border-color: color-mix(in srgb, var(--room-accent) 25%, rgba(var(--t-border-rgb), calc(0.078 * var(--t-border-k)))) !important;
  }
  .app[data-look] .strategy-essence {
    border: 1px solid color-mix(in srgb, var(--strategy-accent) 22%, rgba(var(--t-border-rgb), calc(0.071 * var(--t-border-k))));
  }
  .app[data-look] .strategy-mechanic>span {
    border: 1px solid color-mix(in srgb, var(--strategy-accent) 18%, rgba(var(--t-border-rgb), calc(0.059 * var(--t-border-k)))) !important;
    background: color-mix(in srgb, var(--strategy-accent) 5%, rgba(var(--t-bg-rgb), 0.820)) !important;
  }
  .app[data-look] .amir-navigator {
    border: 1px solid color-mix(in srgb, var(--navigator-accent) 26%, rgba(var(--t-border-rgb), calc(0.090 * var(--t-border-k))));
    background: radial-gradient(circle at 7% 28%, color-mix(in srgb, var(--navigator-accent) 13%, transparent), transparent 24%), linear-gradient(118deg, var(--t-surface) 0%, var(--t-bg-2) 54%, var(--t-bg) 100%);
  }
  .app[data-look] .navigator-identity {
    background: radial-gradient(circle at 35% 28%, color-mix(in srgb, var(--navigator-accent) 32%, transparent), transparent 42%), var(--t-bg-2);
  }
  .app[data-look] .navigator-proof>span {
    border: 1px solid color-mix(in srgb, var(--navigator-accent) 18%, rgba(var(--t-border-rgb), calc(0.059 * var(--t-border-k))));
  }
}

@media (width<=760px) {
  .app[data-look] .generator-dialog-actions {
    background: linear-gradient(#0000, var(--t-bg) 30%);
  }
  .app[data-look] .signal-route-map:after {
    color: var(--t-text-3);
  }
  .app[data-look] .pocket-bridge-copy p {
    color: var(--t-text-2);
  }
  .app[data-look] .mobile-nav {
    background: rgba(var(--t-bg-rgb), 0.941);
    border: 1px solid rgba(var(--t-border-strong-rgb), calc(0.122 * var(--t-border-k)));
  }
  .app[data-look] .mobile-nav button {
    color: var(--t-text-3);
  }
  .app[data-look] .mobile-nav button.active svg {
    color: var(--t-accent-soft);
  }
  .app[data-look] .mobile-nav button>i {
    background: var(--t-accent-soft);
  }
  .app[data-look] .mobile-nav button.active {
    background: rgba(var(--t-accent-strong-rgb), 0.122);
  }
  .app[data-look] .route-line:before {
    background: linear-gradient(var(--t-accent-strong) 0 48%, #ffffff1a 48%);
  }
  .app[data-look] .session-account-identity {
    border-bottom: 1px solid rgba(var(--t-border-rgb), calc(0.078 * var(--t-border-k)));
  }
  .app[data-look] .session-account-strip>button {
    border-top: 1px solid rgba(var(--t-border-rgb), calc(0.078 * var(--t-border-k)));
  }
  .app[data-look] .session-facts>span:nth-child(-n+2) {
    border-bottom: 1px solid rgba(var(--t-border-rgb), calc(0.090 * var(--t-border-k)));
  }
  .app[data-look] .signal-hub-identity {
    border-bottom: 1px solid rgba(var(--t-border-rgb), calc(0.078 * var(--t-border-k)));
  }
  .app[data-look] .signal-stream-list button {
    border-right: 1px solid rgba(var(--t-border-rgb), calc(0.075 * var(--t-border-k)));
  }
  .app[data-look] .signal-hub-page .page-title p {
    color: var(--t-text-2);
  }
  .app[data-look] main .page p {
    color: var(--t-text-2);
  }
  .app[data-look] .signal-generated-amount span {
    color: var(--t-text-2);
  }
  .app[data-look] .session-stage-nav>span.active>span small {
    color: var(--t-text-2);
  }
  .app[data-look] .mobile-room-trigger {
    color: var(--t-text);
  }
  .app[data-look] .mobile-room-trigger small {
    color: var(--t-text-3);
  }
  .app[data-look] .challenge-actions>button:first-child:after {
    color: var(--t-text-3);
  }
  .app[data-look] .more-grid {
    background: var(--t-bg-2) !important;
    border: 1px solid rgba(var(--t-border-rgb), calc(0.086 * var(--t-border-k))) !important;
  }
  .app[data-look] .more-grid button {
    border-bottom: 1px solid rgba(var(--t-border-rgb), calc(0.071 * var(--t-border-k))) !important;
  }
  .app[data-look] .more-grid button>svg:first-child {
    color: var(--t-third) !important;
  }
  .app[data-look] .more-grid button:nth-child(4)>svg:first-child {
    color: var(--t-alt) !important;
  }
  .app[data-look] .more-grid button:nth-child(7)>svg:first-child {
    color: var(--t-accent) !important;
  }
  .app[data-look] .amir-navigator {
    background: radial-gradient(circle at 6% 12%, var(--navigator-accent), transparent 28%), linear-gradient(145deg, var(--t-surface), var(--t-bg) 76%);
  }
  .app[data-look] .future-cabinet-stage>aside {
    border-bottom: 1px solid rgba(var(--t-border-rgb), calc(0.071 * var(--t-border-k)));
  }
}

@media (width<=1050px) {
  .app[data-look] .next-level {
    background: radial-gradient(circle at 88% 10%, rgba(var(--t-alt-rgb), 0.180), #0000 28%), linear-gradient(145deg, var(--t-surface), var(--t-surface));
  }
}

@media (width<=900px) {
  .app[data-look] .active-challenge>div:last-child {
    border-top: 1px solid rgba(var(--t-alt-rgb), 0.161);
  }
}

@media (width<=760px) {
  @supports (color:color-mix(in lab, red, red)) {
    .app[data-look] .mobile-room-trigger {
      background: color-mix(in srgb, var(--room-accent) 10%, var(--t-surface));
    }
    .app[data-look] .mobile-room-trigger>i {
      background: color-mix(in srgb, var(--room-accent) 17%, var(--t-surface-2));
    }
    .app[data-look] .amir-navigator {
      background: radial-gradient(circle at 6% 12%, color-mix(in srgb, var(--navigator-accent) 12%, transparent), transparent 28%), linear-gradient(145deg, var(--t-surface), var(--t-bg) 76%);
    }
  }
}
/* ═══════════════════════════════════════════════════════════════════════════
   СРЕДА УРОВНЯ — ШЕСТЬ МИРОВ, А НЕ ОДНА ОБОЛОЧКА В РАЗНЫХ ОТТЕНКАХ

   КОРЕНЬ, КОТОРЫЙ ЗАКРЫВАЕТ ЭТОТ ФАЙЛ. Владелец отклонил темы одной фразой: «это
   одна и та же тёмная оболочка в разных оттенках». Опись девяти экранов показала,
   ИЗ ЧЕГО эта оболочка сделана — и почему прошлая версия её не победила:

     · ОДНА ДЕКОРАЦИЯ ФОНА на всех уровнях и всех экранах: светящаяся сфера, две
       орбиты, три табло (SESSION / PULSE / RISK), график со свечами. Тема только
       подкрашивала её — поэтому мир за карточками был один и тот же;
     · ОДНА ФОРМА ПОВЕРХНОСТЕЙ: фирменный «язычок» (скругление 4 / 16–28 / 16–28 / 4)
       у карточек, пункта меню, блока уровня, героя главной — у всех шести;
     · ОДНО МЕНЮ, ОДНА ШАПКА, ОДНА НИЖНЯЯ ПАНЕЛЬ;
     · ОДНА КНОПКА — меняла только цвет заливки.

   Прошлая версия меняла у этих вещей числа (прозрачность, силу края, тень), но САМИ
   ВЕЩИ оставались общими. Числа поверх одной конструкции — это та же перекраска.

   ЧТО ТЕПЕРЬ. У каждого уровня свой ПАКЕТ ХАРАКТЕРА — он задаёт не значения, а
   конструкцию всех четырёх слоёв среды сразу:

     1. АТМОСФЕРА   какой мир за карточками: есть ли сфера, орбиты, табло, график,
                    свечи; какой свет, какая фактура фона;
     2. ПОВЕРХНОСТИ форма (скругление), материал заливки, край, верхняя кромка, тень;
     3. НАВИГАЦИЯ   материал меню, шапки и нижней панели; как выглядит активный пункт;
     4. АКЦЕНТ      форма и материал главной кнопки, прогресс, вторичные кнопки.

   Пакеты — это данные (§1), правила — один раз для всех (§2). Новый экран, собранный
   из тех же семейств, наследует среду без единой строки здесь.

   ЧЕГО ЗДЕСЬ НЕТ НАМЕРЕННО.
     · раскладки, размеров, положения, содержимого — только материал среды;
     · `backdrop-filter` — канон визуального языка (17.08): стекло на одном слое с
       текстом компоновщик роняет целиком вместе с текстом и кнопками;
     · смысловых цветов — вверх/вниз, успех, ошибка, предупреждение живут отдельно (§3).

   «Стандартное» сюда не попадает (`[data-look="level"]`): это отказ от среды уровня,
   исходный вид Amir Markets, а не седьмой мир.

   Подключается ПОСЛЕ перекраски (`product.theme.css` ставит фон, край и тень каждой
   поверхности через !important). Правила используют `:not(#am-env)` — одна ступень
   специфичности выше любого правила перекраски, без гонки порядка подключения.
   ═══════════════════════════════════════════════════════════════════════════ */


/* ═══ §1. ПАКЕТЫ ХАРАКТЕРА ═══════════════════════════════════════════════════ */

/* FREE своего пакета не имеет (владелец 14.09: «лучше сделать её обычной стандартной»).
   Ступень 0 получает стандартное оформление в CabinetShell — сюда она не приходит. */

/* ── СЕМЬЯ · ТЁПЛАЯ ГОСТИНАЯ ─────────────────────────────────────────────────
   «Ты уже внутри». Тёплая угольная основа, мягкий янтарный свет снизу-слева, как от
   очага, лёгкая фактура. Никаких технических табло и графиков — это не терминал, а
   дом. Поверхности мягкие и круглые, край тёплый и тихий, тень рассеянная. */
.app[data-look="level"][data-tier="1"] {
  --e-page:
    radial-gradient(ellipse 110% 70% at -5% 105%, rgba(var(--t-accent-rgb), .20), transparent 62%),
    radial-gradient(ellipse 70% 50% at 105% -10%, rgba(196, 98, 42, .12), transparent 60%),
    linear-gradient(180deg, #17120d 0%, #120e0a 100%);
  --e-texture: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 .85  0 0 0 0 .6  0 0 0 .05 0'/></filter><rect width='160' height='160' filter='url(%23n)'/></svg>");
  --e-aura-o: 0; --e-orbit-o: 0; --e-hud-o: 0; --e-code-o: 0; --e-beacon-o: 0;
  --e-canvas-o: 0; --e-candles-o: 0; --e-canvas-filter: none;

  --e-r: 24px; --e-r-sm: 18px;
  --e-card: linear-gradient(165deg, #2a2018 0%, #1f1811 100%);
  --e-card-border: 1px solid rgba(242, 180, 110, .13);
  --e-card-top: inset 0 1px 0 rgba(255, 220, 170, .07);
  --e-card-shadow: 0 26px 60px rgba(35, 16, 4, .55);
  --e-hero:
    radial-gradient(ellipse 80% 90% at 0% 100%, rgba(var(--t-accent-rgb), .16), transparent 60%),
    linear-gradient(165deg, #30251a 0%, #221a12 100%);
  --e-hero-border: 1px solid rgba(242, 170, 90, .24);
  --e-inset: rgba(0, 0, 0, .22);
  --e-inset-border: 1px solid rgba(242, 180, 110, .10);

  --e-nav: linear-gradient(180deg, #1b150f 0%, #140f0b 100%);
  --e-nav-edge: 1px solid rgba(242, 170, 90, .10);
  --e-head: rgba(22, 17, 12, .94);
  --e-nav-active: linear-gradient(90deg, rgba(var(--t-accent-rgb), .20), rgba(var(--t-accent-rgb), .08));
  --e-nav-active-border: 1px solid rgba(var(--t-accent-rgb), .30);
  --e-nav-active-shadow: 0 8px 22px rgba(var(--t-accent-rgb), .12);
  --e-nav-active-r: 999px;
  --e-nav-active-fg: #ffdcae;
  --e-mnav: rgba(26, 20, 14, .97);
  --e-mnav-edge: 1px solid rgba(242, 170, 90, .16);
  --e-mnav-r: 26px;
  --e-mnav-active: rgba(var(--t-accent-rgb), .18);

  --e-btn: linear-gradient(135deg, var(--t-accent-strong) 0%, #c98d52 100%);
  --e-btn-fg: #2a1606;
  --e-btn-border: 1px solid rgba(255, 200, 130, .5);
  --e-btn-r: 999px;
  --e-btn-shadow: 0 10px 24px rgba(var(--t-accent-rgb), .18);
  --e-btn-track: 0;
  --e-btn2-border: 1px solid rgba(242, 170, 90, .34);
  --e-btn2-fg: #ffd9a8;
  --e-progress: linear-gradient(90deg, var(--t-accent-strong), #e3872b);
  --e-progress-track: rgba(var(--t-accent-rgb), .12);

  --e-mark: radial-gradient(circle at 34% 28%, #ffe2a3 0%, var(--t-accent) 48%, #6b3312 100%);
  --e-mark-fg: #1c0f04;
}

/* ── ОТС 250 · СВЕТЛЫЙ ТОРГОВЫЙ СТОЛ ─────────────────────────────────────────
   Единственный светлый мир из шести: белая бумага, синие чернила. Поверхности белые,
   текст тёмно-синий, цвет живёт в линиях, кнопках и заливках — не в фоне.

   Почему знак среды пришлось сменить, а не осветлить ещё раз. Владелец отклонил ОТС 250
   трижды подряд: 13.09 «синий обычный», 19.09 «слишком контрастно тёмно-синий», и в тот
   же день, уже на осветлённом экране, — «фон какой-то сероватый, текст сверху тёмно-синий,
   слишком будто темно, сделай бело-синий». Первые две правки двигали числа ВНУТРИ тёмной
   среды, и обе провалились по одной причине: тёмно-синяя надпись на тёмно-синем фоне
   нечитаема при любой яркости фона, пока фон остаётся тёмным. Светлота — это не оттенок,
   это знак: меняется он, а не проценты. */
.app[data-look="level"][data-tier="2"] {
  --e-page:
    radial-gradient(ellipse 120% 70% at 50% 112%, rgba(var(--t-accent-rgb), .10), transparent 66%),
    radial-gradient(ellipse 80% 55% at 6% -8%, rgba(var(--t-accent-rgb), .07), transparent 64%),
    linear-gradient(180deg, #f7faff 0%, #e8effb 100%);
  --e-texture: none;
  /* Декорация рынка светится СВЕТЛЫМ по тёмному — на белом она грязнит, а не светит.
     Поэтому в светлом мире её почти нет; зиму держит мотив (product.worlds.css). */
  --e-aura-o: .18; --e-orbit-o: .12; --e-hud-o: .2; --e-code-o: .12; --e-beacon-o: .3;
  --e-canvas-o: .16; --e-candles-o: .35; --e-canvas-filter: saturate(1.1) brightness(.85);

  --e-r: 18px; --e-r-sm: 12px;
  --e-card: linear-gradient(180deg, #ffffff 0%, #fbfdff 60%, #f4f8ff 100%);
  --e-card-border: 1px solid rgba(var(--t-accent-rgb), .16);
  --e-card-top: inset 0 1px 0 #ffffff;
  --e-card-shadow: 0 14px 30px rgba(11, 28, 53, .10);
  --e-hero:
    linear-gradient(100deg, rgba(var(--t-accent-rgb), .12) 0%, transparent 58%),
    #ffffff;
  --e-hero-border: 1px solid rgba(var(--t-accent-rgb), .34);
  --e-inset: #eef3fb;
  --e-inset-border: 1px solid rgba(var(--t-accent-rgb), .16);

  --e-nav: #ffffff;
  --e-nav-edge: 1px solid rgba(var(--t-accent-rgb), .16);
  --e-head: rgba(255, 255, 255, .94);
  --e-nav-active: linear-gradient(90deg, rgba(var(--t-accent-rgb), .14), rgba(var(--t-accent-rgb), .04));
  --e-nav-active-border: 1px solid rgba(var(--t-accent-rgb), .28);
  --e-nav-active-shadow: inset 3px 0 0 var(--t-accent), 0 6px 16px rgba(var(--t-accent-rgb), .12);
  --e-nav-active-r: 12px;
  --e-nav-active-fg: #0b53e0;
  --e-mnav: #ffffff;
  --e-mnav-edge: 1px solid rgba(var(--t-accent-rgb), .18);
  --e-mnav-r: 18px;
  --e-mnav-active: rgba(var(--t-accent-rgb), .12);
  /* Подписи нижнего меню на тёмных мирах лежат на подложке, иначе тонут в материале.
     На белой панели та же подложка была бы чёрной кляксой под каждым словом. */
  --e-navlabel-scrim: transparent;

  /* На белом кнопка обязана быть ЗАЛИВКОЙ, а не бликом: светлый глянец, который читался
     на тёмном фоне, на белом сливается с ним и перестаёт выглядеть нажимаемым. */
  --e-btn: linear-gradient(180deg, #4a8cff 0%, #1f6bff 55%, #0b45c0 100%);
  --e-btn-fg: #ffffff;
  --e-btn-border: 1px solid rgba(11, 69, 192, .35);
  --e-btn-r: 14px;
  --e-btn-shadow: 0 10px 22px rgba(31, 107, 255, .26);
  --e-btn-track: .02em;
  --e-btn2-border: 1px solid rgba(var(--t-accent-rgb), .40);
  --e-btn2-fg: #0b53e0;
  --e-progress: linear-gradient(90deg, var(--t-accent), var(--t-alt));
  --e-progress-track: rgba(var(--t-accent-rgb), .14);

  --e-mark: conic-gradient(from 210deg at 50% 42%, #9cc7ff, var(--t-accent) 22%, #062a75 45%, var(--t-accent-strong) 68%, #9cc7ff);
  --e-mark-fg: #ffffff;
}


/* ── ОТС 500 · ГЛУБОКАЯ ВОДА ─────────────────────────────────────────────────
   Следующая ступень после стола, и она не «тот же стол, но зеленее»: основа самая
   глубокая, а свет самый сильный — два бирюзовых источника, будто в толще воды.
   Орбиты светятся, график залит светом. Поверхности скруглённые, с внутренним
   свечением сверху и светлым краем — не острый прибор, а жидкое стекло. */
.app[data-look="level"][data-tier="3"] {
  --e-page:
    radial-gradient(ellipse 90% 60% at 50% 115%, rgba(var(--t-accent-rgb), .26), transparent 60%),
    radial-gradient(ellipse 55% 45% at 10% -5%, rgba(62, 134, 201, .22), transparent 58%),
    linear-gradient(180deg, #03161b 0%, #01100f 100%);
  --e-texture: none;
  --e-aura-o: .9; --e-orbit-o: .75; --e-hud-o: 1; --e-code-o: .5; --e-beacon-o: 1;
  --e-canvas-o: .5; --e-candles-o: .75; --e-canvas-filter: hue-rotate(-12deg) saturate(1.4) brightness(1.15);

  --e-r: 20px; --e-r-sm: 14px;
  --e-card: linear-gradient(180deg, rgba(38, 150, 164, .20) 0%, rgba(6, 34, 42, .96) 38%, #051f26 100%);
  --e-card-border: 1px solid rgba(100, 225, 232, .26);
  --e-card-top: inset 0 1px 0 rgba(170, 248, 252, .26);
  --e-card-shadow: 0 0 0 1px rgba(var(--t-accent-rgb), .06), 0 22px 52px rgba(0, 25, 30, .62), 0 0 46px rgba(var(--t-accent-rgb), .10);
  --e-hero:
    radial-gradient(ellipse 70% 80% at 85% 0%, rgba(80, 235, 240, .22), transparent 60%),
    linear-gradient(180deg, rgba(45, 175, 188, .26) 0%, #062a33 60%, #041f26 100%);
  --e-hero-border: 1px solid rgba(120, 240, 245, .40);
  --e-inset: rgba(2, 24, 29, .72);
  --e-inset-border: 1px solid rgba(100, 225, 232, .16);

  --e-nav: linear-gradient(180deg, #04202a 0%, #02141a 100%);
  --e-nav-edge: 1px solid rgba(100, 225, 232, .14);
  --e-head: rgba(3, 26, 32, .92);
  --e-nav-active: linear-gradient(90deg, rgba(var(--t-accent-rgb), .24), rgba(var(--t-accent-rgb), .08));
  --e-nav-active-border: 1px solid rgba(120, 240, 245, .34);
  --e-nav-active-shadow: 0 0 22px rgba(var(--t-accent-rgb), .22);
  --e-nav-active-r: 14px;
  --e-nav-active-fg: #c4f7f9;
  --e-mnav: rgba(3, 30, 36, .96);
  --e-mnav-edge: 1px solid rgba(100, 225, 232, .24);
  --e-mnav-r: 22px;
  --e-mnav-active: rgba(var(--t-accent-rgb), .20);

  /* «НЕ НРАВИТСЯ ВОТ ЭТА КНОПКА НА ОТС 500, ОНА КАКАЯ-ТО ИГРУШНАЯ, А НЕ СЕРЬЁЗНАЯ,
     БУДТО БЫ НЕ ТО, ДОЛЖНО БЫТЬ ИНТЕРЕСНО НО И ПО-ВЗРОСЛОМУ» (владелец 26.09).

     Игрушной её делали две вещи, и обе — свечение, а не цвет. Первая: тень в 28 пикселей
     светилась бирюзой ВОКРУГ кнопки. Предмет, светящийся сам по себе, бывает в игре и в
     рекламной вывеске; у денежной кнопки свет исходит от источника сверху, а не изнутри.
     Вторая: почти белый край в 55% яркости обводил кнопку контуром, как наклейку.

     Мир ОТС 500 остаётся бирюзовым — цвет ступени не трогаем, иначе исчезнет ступень.
     Убираем свечение и даём материал: заливка темнеет к низу (значит, свет сверху),
     светлый только верхний край в один пиксель, тень падает ВНИЗ. То же «интересно»,
     но предметом, а не лампочкой. */
  --e-btn: linear-gradient(180deg, #3fe0e8 0%, var(--t-accent) 52%, #108898 100%);
  --e-btn-fg: #02161a;
  --e-btn-border: 1px solid rgba(12, 90, 102, .55);
  --e-btn-r: 14px;
  --e-btn-shadow: 0 10px 26px rgba(0, 30, 35, .5), inset 0 1px 0 rgba(210, 252, 255, .55);
  --e-btn-track: .01em;
  --e-btn2-border: 1px solid rgba(100, 225, 232, .40);
  --e-btn2-fg: #bff5f7;
  --e-progress: linear-gradient(90deg, var(--t-accent-strong), #1aa3c6);
  --e-progress-track: rgba(var(--t-accent-rgb), .14);

  --e-mark: linear-gradient(145deg, #b6fbf6 0%, var(--t-accent) 45%, #05444c 100%);
  --e-mark-fg: #02161a;
}

/* ── EXCLUSIVE · ЗАКРЫТЫЙ КЛУБ ───────────────────────────────────────────────
   Private. Бархатная темнота с виньеткой и одним узким лучом сверху — светится не
   зал, а только то, на что смотрят. Никакой декорации рынка: здесь не терминал.
   Поверхности строгие, почти квадратные, сплошные; глубокая тень, никакого свечения.
   13.09, владелец: «малиновый, нет желания включать». Малиновость давал осветлённый
   красный: чтобы красный читался на чёрном, его осветляли — и он становился розовым.
   Теперь красный — только глубокий рубин в заливке и тонких линиях, а всё светлое
   (текст на кнопке, активный пункт, второстепенные кнопки) — слоновая кость. Рубин ·
   чёрный · кость: так выглядит клуб, а не распродажа. */
.app[data-look="level"][data-tier="4"] {
  --e-page:
    radial-gradient(ellipse 34% 28% at 50% -6%, rgba(var(--t-accent-rgb), .20), transparent 66%),
    radial-gradient(ellipse 120% 100% at 50% 40%, transparent 52%, rgba(0, 0, 0, .80) 100%),
    linear-gradient(180deg, #0a0506 0%, #050303 100%);
  /* 07.10 владелец: «линия глаза мозолит». Рубиновая нить на высоте 164 px шла через весь экран
     поверх заголовка — привязана к окну, а не к содержимому, поэтому резала дату и приветствие. */
  --e-texture: none;
  --e-aura-o: 0; --e-orbit-o: 0; --e-hud-o: 0; --e-code-o: 0; --e-beacon-o: 0;
  --e-canvas-o: 0; --e-candles-o: 0; --e-canvas-filter: none;

  --e-r: 3px; --e-r-sm: 2px;
  --e-card: linear-gradient(#0e0708, #0e0708) padding-box, linear-gradient(90deg, rgba(var(--t-accent-rgb), .14), rgba(255, 140, 156, .55) 50%, rgba(var(--t-accent-rgb), .14)) border-box;
  --e-card-border: 1px solid transparent;
  --e-card-top: inset 0 1px 0 rgba(var(--t-accent-rgb), .85);
  --e-card-shadow: 0 34px 76px rgba(0, 0, 0, .86);
  --e-hero: 
    radial-gradient(ellipse 50% 90% at 50% -20%, rgba(var(--t-accent-rgb), .24), transparent 70%) padding-box,
    linear-gradient(#100708, #100708) padding-box,
    linear-gradient(90deg, rgba(var(--t-accent-rgb), .50), rgba(255, 150, 165, .90) 50%, rgba(var(--t-accent-rgb), .50)) border-box;
  --e-hero-border: 1px solid transparent;
  --e-inset: #090405;
  --e-inset-border: 1px solid rgba(var(--t-third-rgb), .14);

  --e-nav: #090405;
  --e-nav-edge: 1px solid rgba(var(--t-third-rgb), .14);
  --e-head: rgba(9, 4, 5, .97);
  --e-nav-active: linear-gradient(90deg, rgba(var(--t-accent-rgb), .20), transparent 80%);
  --e-nav-active-border: 1px solid transparent;
  --e-nav-active-shadow: inset 2px 0 0 var(--t-accent-strong);
  --e-nav-active-r: 0px;
  --e-nav-active-fg: var(--t-accent-soft);
  --e-mnav: #080405;
  --e-mnav-edge: 1px solid rgba(var(--t-accent-rgb), .55);
  --e-mnav-r: 0px;
  --e-mnav-active: rgba(var(--t-accent-rgb), .18);

  --e-btn: 
    linear-gradient(112deg, rgba(255, 255, 255, .20) 0 15%, transparent 15.5% 64%, rgba(255, 255, 255, .08) 64.5% 79%, transparent 79.5%),
    linear-gradient(180deg, var(--t-accent-strong) 0%, var(--t-accent) 45%, #7e0d20 100%);
  --e-btn-fg: #fff6f0;
  --e-btn-border: 1px solid rgba(var(--t-accent-strong-rgb), .9);
  --e-btn-r: 3px;
  --e-btn-shadow: 0 16px 34px rgba(0, 0, 0, .7), inset 0 1px 0 rgba(255, 230, 220, .22);
  --e-btn-track: .06em;
  --e-btn2-border: 1px solid rgba(var(--t-third-soft-rgb), .40);
  --e-btn2-fg: var(--t-accent-soft);
  --e-progress: linear-gradient(90deg, #7e0d20, var(--t-accent-strong));
  /* Знак бренда и аватар: у остальных сред это переход от акцента к светлому тону. У
     красного такой переход ПО ФИЗИКЕ проходит через розовый — поэтому здесь рубин
     переходит не в светлое, а в глубину. */
  --e-mark: linear-gradient(135deg, var(--t-accent-strong) 0%, var(--t-accent) 50%, #5e0a18 100%);
  --e-mark-fg: #fff6f0;
  --e-progress-track: rgba(var(--t-accent-rgb), .16);

}

/* ── GOLD · ЧЁРНЫЙ ЛАК И ЗОЛОТО ─────────────────────────────────────────────
   Финальная ступень. Не жёлтый сайт: чёрный лак с тончайшей гравировкой по
   диагонали и ровной подсветкой по краям, как у витрины ювелира. Орбиты — тонкие
   золотые кольца, табло и свечей нет. Золото — материал детали, а не заливка экрана.
   13.09, владелец: «золотой не золотой, каляный». Прежний «шампань» был выцветшим хаки
   на оливковой основе. Золото глаз узнаёт по БЛИКУ — перепаду от тёмного янтаря к почти
   белому свету на одной поверхности. Поэтому кнопка и прогресс — металл с резким
   бликом, край карточки — светлая кромка, основа — чистый чёрный без оливы. */
.app[data-look="level"][data-tier="5"] {
  --e-page:
    radial-gradient(ellipse 60% 30% at 50% -4%, rgba(var(--t-accent-rgb), .14), transparent 70%),
    linear-gradient(180deg, rgba(var(--t-accent-rgb), .06) 0%, transparent 22%, transparent 80%, rgba(var(--t-accent-rgb), .06) 100%),
    linear-gradient(180deg, #0a0908 0%, #050505 100%);
  --e-texture: repeating-linear-gradient(135deg, rgba(var(--t-accent-soft-rgb), .030) 0 1px, transparent 1px 22px);
  --e-aura-o: 0; --e-orbit-o: .45; --e-hud-o: 0; --e-code-o: .45; --e-beacon-o: 0;
  --e-canvas-o: 0; --e-candles-o: 0; --e-canvas-filter: none;

  --e-r: 14px; --e-r-sm: 10px;
  --e-card: linear-gradient(170deg, #141311 0%, #0b0a09 100%) padding-box, linear-gradient(135deg, rgba(255, 236, 180, .70) 0%, rgba(200, 145, 42, .28) 30%, rgba(122, 84, 16, .22) 62%, rgba(255, 211, 107, .60) 100%) border-box;
  --e-card-border: 1px solid transparent;
  --e-card-top: inset 0 1px 0 rgba(var(--t-accent-soft-rgb), .45);
  --e-card-shadow: 0 24px 58px rgba(0, 0, 0, .72);
  --e-hero: 
    linear-gradient(115deg, transparent 28%, rgba(255, 232, 170, .11) 40%, transparent 52%) padding-box,
    repeating-linear-gradient(0deg, rgba(255, 225, 150, .022) 0 1px, transparent 1px 3px) padding-box,
    linear-gradient(170deg, #17150f 0%, #0c0b09 100%) padding-box,
    linear-gradient(135deg, #fff0b8 0%, var(--t-alt) 38%, #5a3d0c 62%, var(--t-accent-strong) 100%) border-box;
  --e-hero-border: 1px solid transparent;
  --e-inset: rgba(0, 0, 0, .35);
  --e-inset-border: 1px solid rgba(var(--t-accent-rgb), .18);

  --e-nav: #080807;
  --e-nav-edge: 1px solid rgba(var(--t-accent-rgb), .22);
  --e-head: rgba(8, 8, 7, .96);
  --e-nav-active: linear-gradient(180deg, rgba(var(--t-accent-rgb), .14), rgba(var(--t-accent-rgb), .04));
  --e-nav-active-border: 1px solid rgba(var(--t-accent-rgb), .60);
  --e-nav-active-shadow: inset 0 1px 0 rgba(var(--t-accent-soft-rgb), .30);
  --e-nav-active-r: 10px;
  --e-nav-active-fg: var(--t-accent-soft);
  --e-mnav: rgba(8, 8, 7, .97);
  --e-mnav-edge: 1px solid rgba(var(--t-accent-rgb), .40);
  --e-mnav-r: 18px;
  --e-mnav-active: rgba(var(--t-accent-rgb), .14);

  /* «КНОПКА НАСТОЛЬКО ЖЁЛТАЯ, ЧТО ТЕКСТ РЕЖЕТ ГЛАЗА, НУЖНО ЕГО СДЕЛАТЬ КРУПНЕЕ И
     РАСТЯНУТЬ» (владелец 26.09).

     Режут глаза не буквы — буквы тут почти чёрные. Режет ФОН под ними: в заливке стояло
     ПЯТЬ переходов, и два крайних (#fff2c2 и #fff0b8) — это почти белый. Плюс белая
     внутренняя кромка в 75% яркости. Получалась не золотая кнопка, а вспышка света, и
     тёмная надпись кеглем 14 лежала прямо в этой вспышке: глаз наводится на самое яркое
     место, а прочитать надо самое тёмное. Отсюда «режет».

     Золото остаётся золотом: тот же жёлтый ступени, те же три перехода металла. Но
     светлые крайние стопы опущены до тёплого золотого, кромка притушена вдвое — под
     надписью больше нет белого. Крупнее надпись сделана там, где у кнопки один размер
     на весь кабинет (`components/ui/button.tsx`, 15px вместо 14), а не отдельным
     правилом для GOLD: жалоба про эту кнопку, беда — у всех. */
  --e-btn: linear-gradient(180deg, #f7d98a 0%, var(--t-accent) 46%, var(--t-alt) 78%, #c99a34 100%);
  --e-btn-fg: #140e02;
  --e-btn-border: 1px solid rgba(214, 168, 80, .75);
  --e-btn-r: 10px;
  --e-btn-shadow: 0 10px 30px rgba(var(--t-accent-rgb), .22), inset 0 1px 0 rgba(255, 246, 214, .38), inset 0 -1px 0 rgba(90, 60, 10, .45);
  --e-btn-track: .02em;
  --e-btn2-border: 1px solid rgba(var(--t-accent-rgb), .55);
  --e-btn2-fg: var(--t-accent-soft);
  --e-progress: linear-gradient(90deg, var(--t-alt), var(--t-accent-strong) 55%, #fff0b8);
  --e-progress-track: rgba(var(--t-accent-rgb), .14);

  --e-mark: linear-gradient(160deg, #fff2c2 0%, var(--t-accent-strong) 30%, var(--t-alt) 66%, #7a5410 100%);
  --e-mark-fg: #1a1203;
}


/* ═══ §2. ПРАВИЛА — ОДИН РАЗ ДЛЯ ВСЕХ МИРОВ ═══════════════════════════════════ */

/* ── 2.1 АТМОСФЕРА ─────────────────────────────────────────────────────────── */
.app[data-look="level"]:not(#am-env) {
  background: var(--e-motif, none), var(--e-texture), var(--e-page) !important;
  background-attachment: fixed !important;
}
.app[data-look="level"] .market-atmosphere:not(#am-env) { background: none !important; }
.app[data-look="level"] .market-aura:not(#am-env) { opacity: var(--e-aura-o) !important; }
.app[data-look="level"] .market-orbit:not(#am-env) { opacity: var(--e-orbit-o) !important; }
.app[data-look="level"] .market-hud:not(#am-env) { opacity: var(--e-hud-o) !important; }
.app[data-look="level"] .market-code:not(#am-env) { opacity: var(--e-code-o) !important; }
.app[data-look="level"] .market-beacon:not(#am-env) { opacity: var(--e-beacon-o) !important; }
.app[data-look="level"] .market-canvas:not(#am-env) {
  opacity: var(--e-canvas-o) !important;
  filter: var(--e-canvas-filter) !important;
}
.app[data-look="level"] .market-canvas .candles:not(#am-env) { opacity: var(--e-candles-o) !important; }

/* ── 2.2 ПОВЕРХНОСТИ ───────────────────────────────────────────────────────── */
/* Карточки всех экранов — одно семейство. Новый экран из тех же блоков встаёт в
   среду без правок здесь. Раскладка и отступы не трогаются. */
.app[data-look="level"] :is(
  .balance-card, .next-signal, .home-challenge, .next-level, .next-lesson, .am-state,
  .ch-card, .signal-primary-action, .signal-stream-card, .signal-command-card,
  .signal-analysis-card, .signal-hub-summary, .signal-access-gate, .account-why,
  .account-sub, .amir-context-guide, .explain-card, .sp-manager, .support-hero,
  .support-categories, .support-status-card, .support-faq, .learning-summary,
  .learning-next-card, .lesson-player, .prize-summary, .reward-summary, .lv-current,
  .lv-next, .lv-list, .rooms-panel, .nf-head, .nf-group > article, .page article.locked,
  .identity-chain, .path-empty, .free-strategies, .chat-composer, .explain-card, .os-row, .os-rule,
  .kb-today, .kb-tile, .kb-race, .kb-streak, .goal-page .gl-card, .gl-rows, .ps-bubble, .ps-choice
):not(#am-env) {
  background: var(--w-card-orn, none), var(--e-card) !important;
  border: var(--e-card-border) !important;
  border-radius: var(--e-r) !important;
  box-shadow: var(--e-card-top), var(--e-card-shadow) !important;
}

/* СПЕЦИФИЧНОСТЬ ГЕРОЯ. `:is()` берёт вес САМОГО тяжёлого селектора в списке, а в списке
   карточек есть `.page article.locked` — поэтому правило карточек весило больше и молча
   побеждало героя: главная карточка никогда не получала свой материал. Лишний
   `:not(#am-hero)` делает героя явно старше карточки. */
/* ГЕРОИ — главная поверхность каждого экрана: рынок на «Сегодня», счёт на «Балансе»,
   главное действие на «Сигналах», предложение на «Испытаниях», текущий уровень. Именно
   на них среда должна читаться сильнее всего — поэтому у героя свой материал. */
.app[data-look="level"] :is(
  .today-market, .wallet-hero, .account-hero, .signal-primary-action, .ch-card,
  .lv-current, .support-hero, .path-empty, .kb-bal
):not(#am-env):not(#am-hero) {
  background: var(--w-hero-orn, none), var(--e-hero) !important;
  border: var(--e-hero-border) !important;
  border-radius: var(--e-r) !important;
  box-shadow: var(--e-card-top), var(--e-card-shadow) !important;
}

/* ВЛОЖЕННЫЕ поверхности — внутри карточки. Тише карточки, но того же характера. */
.app[data-look="level"] :is(
  .ch-reward, .rooms-locked, .account-side, .signal-facts, .ch-card article,
  .ch-blocks > *, .lesson-info, .signal-stream-facts
):not(#am-env) {
  background: var(--e-inset) !important;
  border: var(--e-inset-border) !important;
  border-radius: var(--e-r-sm) !important;
  box-shadow: none !important;
}

/* ── 2.3 НАВИГАЦИЯ ─────────────────────────────────────────────────────────── */
.app[data-look="level"] .sidebar:not(#am-env) {
  background: var(--e-nav) !important;
  border-right: var(--e-nav-edge) !important;
}
.app[data-look="level"] .app-head:not(#am-env) {
  background: var(--e-head) !important;
  border-bottom: var(--e-nav-edge) !important;
}
.app[data-look="level"] .sidebar button.active:not(#am-env) {
  background: var(--e-nav-active) !important;
  border: var(--e-nav-active-border) !important;
  border-radius: var(--e-nav-active-r) !important;
  box-shadow: var(--e-nav-active-shadow) !important;
  color: var(--e-nav-active-fg) !important;
}
.app[data-look="level"] .side-level:not(#am-env),
.app[data-look="level"] .profile-pop:not(#am-env) {
  background: var(--e-card) !important;
  border: var(--e-card-border) !important;
  border-radius: var(--e-r) !important;
  box-shadow: var(--e-card-top), var(--e-card-shadow) !important;
}

/* НИЖНЯЯ ПАНЕЛЬ ТЕЛЕФОНА. На 375 бокового меню нет — значит характер уровня обязан
   жить здесь: у Семьи и ОТС 500 панель плавающая и скруглённая, у стола и клуба —
   строгая полоса во всю ширину, у Free — ровная. */
.app[data-look="level"] .mobile-nav:not(#am-env) {
  background: var(--e-mnav) !important;
  border-top: var(--e-mnav-edge) !important;
  border-radius: var(--e-mnav-r) var(--e-mnav-r) 0 0 !important;
}
.app[data-look="level"] .mobile-nav button.active:not(#am-env) {
  background: var(--e-mnav-active) !important;
  border-radius: var(--e-nav-active-r) !important;
  box-shadow: var(--e-nav-active-shadow) !important;
  color: var(--e-nav-active-fg) !important;
}

/* ── 2.4 АКЦЕНТ ────────────────────────────────────────────────────────────── */
/* Главная кнопка меняет не цвет, а ФОРМУ И МАТЕРИАЛ: таблетка Семьи, острая кнопка
   стола, светящееся стекло ОТС 500, строгая кнопка клуба, металл GOLD. */
.app[data-look="level"] [data-slot="button"][data-variant="default"]:not(#am-env) {
  background: var(--e-btn) !important;
  color: var(--e-btn-fg) !important;
  border: var(--e-btn-border) !important;
  border-radius: var(--e-btn-r) !important;
  box-shadow: var(--e-btn-shadow) !important;
  letter-spacing: var(--e-btn-track) !important;
}
.app[data-look="level"] [data-slot="button"][data-variant="default"] svg:not(#am-env) {
  color: var(--e-btn-fg) !important;
}
.app[data-look="level"] [data-slot="button"]:is([data-variant="outline"], [data-variant="secondary"]):not(#am-env),
.app[data-look="level"] .nf-go:not(#am-env) {
  border: var(--e-btn2-border) !important;
  border-radius: var(--e-btn-r) !important;
  color: var(--e-btn2-fg) !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* ЗНАК БРЕНДА, АВАТАР, КНОПКА ЗНАКОМСТВА — градиентные плитки. Пакет может задать им
   свой материал (`--e-mark`); не задал — остаётся сгенерированный слой. */
.app[data-look="level"] .logo > span:not(#am-env),
.app[data-look="level"]:is([data-tier="4"], [data-tier="5"]) :is(.avatar, .firstrun-go):not(#am-env) {
  background: var(--e-mark) !important;
  color: var(--e-mark-fg) !important;
}

/* ЭМБЛЕМА СТУПЕНИ — камень или металл в панели «Мой уровень». Декор, не кнопка:
   указатель не ловит, текст не перекрывает (у панели справа сверху свободно). */
.app[data-look="level"] .side-level:not(#am-env) { position: relative !important; }
.app[data-look="level"] .side-level:not(#am-env)::before {
  content: "";
  position: absolute;
  top: 10px;
  right: 10px;
  width: 34px;
  height: 34px;
  background: var(--e-emblem) center / contain no-repeat;
  filter: drop-shadow(0 4px 10px rgba(0, 0, 0, .55));
  pointer-events: none;
}

/* ФИРМЕННАЯ МЯТА НЕ ПРОТЕКАЕТ В ЧУЖОЙ МИР. `--am-mint` — цвет стандартного кабинета,
   и 27 правил вёрстки берут его ПЕРЕМЕННОЙ, а не hex: генератор слоя темы перекрашивает
   hex и их не видит. Итог — мятные подписи над заголовком и мятная кнопка в рубиновом и
   золотом мире. Переменная переназначается на акцент ступени — у всех правил сразу. */
.app[data-look="level"]:not(#am-env) {
  --am-mint: var(--t-accent-strong);
}

/* ПРОГРЕСС — заливка и дорожка из пакета. Ширину по-прежнему задаёт данные. */
.app[data-look="level"] :is([class*="progress"], [class*="-bar"]) :is(i, span, div)[style*="width"]:not(#am-env) {
  background: var(--e-progress) !important;
  border-radius: 999px !important;
}
.app[data-look="level"] :is(.wallet-progress, .account-progress, .learn-bar, .learn-progress) > :is(div, span):not([style*="width"]):not(#am-env) {
  background: var(--e-progress-track) !important;
}


/* ═══ §3. СМЫСЛОВЫЕ ЦВЕТА НЕ ВХОДЯТ В СРЕДУ ══════════════════════════════════
   Ошибка остаётся ошибкой в любом мире: у Эксклюзива все края бордовые, и без этого
   правила карточка аварии стала бы неотличима от обычной карточки клуба. Поэтому
   состояния с СМЫСЛОМ получают свой край поверх среды — и выигрывают у неё. */
.app[data-look] :is(.am-state-error, .lesson-error, .sp-err):not(#am-env):not(#am-sem) {
  border-color: rgba(255, 107, 107, .55) !important;
}
/* Исход «в плюс» — смысл, а не оформление: мята переназначена на акцент ступени, но
   выигрыш остаётся зелёным в любом мире. */
.app[data-look] :is(.res-win):not(#am-env):not(#am-sem) { color: #55e6b2 !important; }
.app[data-look] .settle-actions .win:hover:not(:disabled):not(#am-env):not(#am-sem) { border-color: #55e6b2 !important; }
.app[data-look] :is(.sp-ok):not(#am-env):not(#am-sem) {
  border-color: rgba(55, 226, 154, .5) !important;
}
/* СГЕНЕРИРОВАНО scripts/worlds.py — НЕ ПРАВИТЬ РУКАМИ. Смысл и доводы — в шапке генератора. */

/* Слои погоды — псевдоэлементы корня, за карточками и над фоном. `isolation` делает корень
   отдельным слоем, иначе z-index:-1 унёс бы погоду ПОД фон ступени. Слой больше экрана
   ровно на один шаг движения и сдвигается на этот шаг — стык плиток невидим. */
.app[data-look="level"]:not(#am-w) { isolation: isolate; }
.app[data-look="level"]:not(#am-w)::before,
.app[data-look="level"]:not(#am-w)::after {
  content: "";
  position: fixed;
  z-index: -1;
  pointer-events: none;
  top: min(0px, calc(-1 * var(--dy, 0px)));
  bottom: min(0px, var(--dy, 0px));
  left: min(0px, calc(-1 * var(--dx, 0px)));
  right: min(0px, var(--dx, 0px));
  will-change: transform, opacity;
}
.app[data-look="level"]:not(#am-w)::before {
  --dx: var(--w-far-dx, 0px); --dy: var(--w-far-dy, 0px);
  background: var(--w-far, none);
  opacity: var(--w-far-o, 1);
  animation: var(--w-far-anim, none);
}
.app[data-look="level"]:not(#am-w)::after {
  --dx: var(--w-near-dx, 0px); --dy: var(--w-near-dy, 0px);
  background: var(--w-near, none);
  opacity: var(--w-near-o, 1);
  animation: var(--w-near-anim, none);
}
@keyframes am-w-drift { from { transform: translate3d(0, 0, 0); } to { transform: translate3d(var(--dx), var(--dy), 0); } }
@keyframes am-w-sway { from { transform: translate3d(-6%, 0, 0) scaleY(1); } to { transform: translate3d(4%, 0, 0) scaleY(1.12); } }
@keyframes am-w-twinkle { 0%, 100% { opacity: .35; } 50% { opacity: 1; } }
@keyframes am-w-spin { to { transform: rotate(360deg); } }
@keyframes am-w-gloss { 0%, 55% { transform: translateX(-180%) skewX(-12deg); } 100% { transform: translateX(260%) skewX(-12deg); } }
@keyframes am-w-text { from { background-position: 0% 50%; } to { background-position: 200% 50%; } }

/* Деталь в углу экрана — поверх зоны старой декорации рынка. */
.app[data-look="level"] .market-atmosphere:not(#am-w)::before {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--w-corner, none);
  opacity: var(--w-corner-o, 1);
  animation: var(--w-corner-anim, none);
  pointer-events: none;
}


/* Телефон: подпись над заголовком в одну строку — орнамент справа убирается, разрядка меньше. */
@media (max-width: 640px) {
  .app[data-look="level"][data-tier] .page-title > div:first-child > span:not(#am-w):not(#am-m) { letter-spacing: .14em !important; }
  .app[data-look="level"][data-tier] .page-title > div:first-child > span:not(#am-w):not(#am-m)::after { display: none !important; }
}

@media (prefers-reduced-motion: reduce) {
  .app[data-look="level"]:not(#am-w)::before,
  .app[data-look="level"]:not(#am-w)::after,
  .app[data-look="level"] .market-atmosphere:not(#am-w)::before,
  .app[data-look="level"] :is(h1, [data-slot="button"], [data-slot="button"]::after):not(#am-w) { animation: none !important; }
}

/* ── СЕМЬЯ · ЯНТАРЬ ── */
.app[data-look="level"][data-tier="1"] {
  --e-motif:
    radial-gradient(circle 70px at 12% 74%, rgba(255, 190, 100, .10), transparent 72%),
    radial-gradient(circle 44px at 22% 88%, rgba(255, 170, 80, .09), transparent 72%),
    radial-gradient(circle 90px at 6% 96%, rgba(255, 150, 60, .08), transparent 72%),
    radial-gradient(circle 36px at 31% 70%, rgba(255, 210, 140, .07), transparent 72%),
    radial-gradient(circle 60px at 88% 12%, rgba(255, 170, 90, .06), transparent 72%);
  --e-emblem: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'%3E%3Cdefs%3E%3CradialGradient id='g' cx='.38' cy='.32' r='.75'%3E%3Cstop offset='0' stop-color='%23ffe2a3'/%3E%3Cstop offset='.45' stop-color='%23f29a2e'/%3E%3Cstop offset='1' stop-color='%236b3312'/%3E%3C/radialGradient%3E%3C/defs%3E%3Cpath d='M20 4c8.5 0 15 7.5 15 16.5S28.5 36 20 36 5 29.5 5 20.5 11.5 4 20 4z' fill='url(%23g)'/%3E%3Cellipse cx='14.5' cy='13' rx='4.2' ry='2.6' fill='%23fff' fill-opacity='.45' transform='rotate(-30 14.5 13)'/%3E%3Ccircle cx='24' cy='24' r='1.3' fill='%235a2a0c' fill-opacity='.45'/%3E%3C/svg%3E");
}

/* ── ОТС 250 · МЕТЕЛЬ ──────────────────────────────────────────────────────
   ОТС придуман зимой — и стол трейдера здесь стоит посреди зимы. Косой снег в два слоя
   с разной скоростью (так глаз читает глубину), вихрь метели в углу, иней в углах
   карточек, сосульки на кромке главной карточки, снежная шапка и сосульки на кнопке. */
.app[data-look="level"][data-tier="2"] {
  --e-emblem: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%23e6f3ff'/%3E%3Cstop offset='.6' stop-color='%234a8cff'/%3E%3Cstop offset='1' stop-color='%230a2a80'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cg transform='translate(20 20)'%3E%3Cpath d='M0 -17 L3.2 -7 L0 0 L-3.2 -7z' fill='url(%23g)' transform='rotate(0)'/%3E%3Cpath d='M0 -17 L3.2 -7 L0 0 L-3.2 -7z' fill='url(%23g)' transform='rotate(60)'/%3E%3Cpath d='M0 -17 L3.2 -7 L0 0 L-3.2 -7z' fill='url(%23g)' transform='rotate(120)'/%3E%3Cpath d='M0 -17 L3.2 -7 L0 0 L-3.2 -7z' fill='url(%23g)' transform='rotate(180)'/%3E%3Cpath d='M0 -17 L3.2 -7 L0 0 L-3.2 -7z' fill='url(%23g)' transform='rotate(240)'/%3E%3Cpath d='M0 -17 L3.2 -7 L0 0 L-3.2 -7z' fill='url(%23g)' transform='rotate(300)'/%3E%3C/g%3E%3Cg transform='translate(20.0 20.0)' stroke='%23ffffff' stroke-width='0.9' stroke-linecap='round' fill='none' opacity='0.85'%3E%3Cpath d='M0 0V-17.00M0 -8.09l-3.80 -2.85M0 -8.09l3.80 -2.85M0 -11.20l-2.85 -2.14M0 -11.20l2.85 -2.14' transform='rotate(0)'/%3E%3Cpath d='M0 0V-17.00M0 -8.09l-3.80 -2.85M0 -8.09l3.80 -2.85M0 -11.20l-2.85 -2.14M0 -11.20l2.85 -2.14' transform='rotate(60)'/%3E%3Cpath d='M0 0V-17.00M0 -8.09l-3.80 -2.85M0 -8.09l3.80 -2.85M0 -11.20l-2.85 -2.14M0 -11.20l2.85 -2.14' transform='rotate(120)'/%3E%3Cpath d='M0 0V-17.00M0 -8.09l-3.80 -2.85M0 -8.09l3.80 -2.85M0 -11.20l-2.85 -2.14M0 -11.20l2.85 -2.14' transform='rotate(180)'/%3E%3Cpath d='M0 0V-17.00M0 -8.09l-3.80 -2.85M0 -8.09l3.80 -2.85M0 -11.20l-2.85 -2.14M0 -11.20l2.85 -2.14' transform='rotate(240)'/%3E%3Cpath d='M0 0V-17.00M0 -8.09l-3.80 -2.85M0 -8.09l3.80 -2.85M0 -11.20l-2.85 -2.14M0 -11.20l2.85 -2.14' transform='rotate(300)'/%3E%3Ccircle r='2.04' fill='%23ffffff' stroke='none'/%3E%3C/g%3E%3C/svg%3E");
  /* Зима живёт на ФОНЕ, карточки чистые (владелец 15.09: «много непонятно чего» на
     карточках — и «зимы мало», когда её сняли совсем). Фон: метель в два слоя разной
     скорости, вихрь за контентом, иней по краям экрана. На карточках — ни одной накладки. */
  --e-motif:
    url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='900' height='620' viewBox='0 0 900 620'%3E%3Cdefs%3E%3Cfilter id='b' x='-10%' y='-10%' width='120%' height='120%'%3E%3CfeGaussianBlur stdDeviation='1.6'/%3E%3C/filter%3E%3C/defs%3E%3Cg filter='url(%23b)' fill='none' stroke='%238fb2dd' stroke-linecap='round'%3E%3Cpath d='M698 174 L709 175 L720 177 L730 180 L741 183 L751 187 L760 191 L769 196 L778 201 L786 207 L793 213 L799 220 L805 227 L810 234 L815 242 L818 250 L820 258 L822 267 L822 276 L822 285 L820 294 L817 303 L813 312 L808 322 L802 331 L795 341 L787 350 L777 359 L766 368 L755 377 L742 386 L728 394 L712 402 L696 410 L679 418 L660 424 L641 431 L621 437 L599 442 L577 447 L554 451 L531 455 L506 457 L481 460 L456 461 L429 462 L403 461 L376 461 L348 459 L321 456 L293 453 L265 448 L237 443 L209 437 L181 430 L154 422 L127 413 L100 404 L74 393 L48 381' stroke-width='2.2' stroke-opacity='0.10'/%3E%3Cpath d='M686 192 L693 197 L699 203 L704 209 L708 215 L712 222 L714 228 L716 235 L717 243 L716 250 L715 257 L713 265 L709 272 L705 280 L700 287 L693 295 L686 302 L677 309 L668 316 L657 323 L646 329 L633 335 L620 341 L605 347 L590 352 L574 356 L557 360 L540 364 L521 367 L502 369 L483 371 L463 372 L442 373 L421 373 L399 372 L378 370 L356 368 L333 365 L311 361 L289 357 L267 351 L245 345 L223 339 L201 331 L180 322 L159 313 L139 303 L119 293 L100 281 L82 269 L64 256 L48 242 L32 228 L18 213 L4 197 L-8 181 L-19 164 L-28 147 L-37 129 L-43 111' stroke-width='3.6' stroke-opacity='0.15'/%3E%3Cpath d='M657 202 L656 208 L654 215 L652 221 L648 228 L643 234 L638 240 L631 246 L624 252 L615 257 L606 263 L596 267 L585 272 L573 276 L561 280 L547 283 L534 286 L519 288 L504 290 L488 291 L472 292 L456 292 L439 292 L422 290 L405 289 L388 286 L370 283 L353 279 L335 275 L318 269 L301 264 L284 257 L268 250 L252 242 L236 233 L221 224 L207 214 L193 204 L181 193 L169 181 L157 169 L147 156 L138 142 L130 129 L123 114 L118 100 L113 84 L110 69 L108 53 L108 37 L109 21 L112 4 L116 -13 L121 -30 L129 -47 L137 -63 L148 -80 L160 -97 L173 -114 L188 -131' stroke-width='5.0' stroke-opacity='0.20'/%3E%3Cpath d='M623 199 L615 203 L607 208 L597 212 L587 215 L577 218 L566 221 L554 223 L542 225 L529 226 L516 226 L503 226 L490 226 L476 224 L462 223 L449 220 L435 217 L421 214 L408 210 L394 205 L381 199 L369 193 L357 187 L345 179 L334 172 L323 163 L313 155 L304 145 L296 135 L288 125 L282 114 L276 103 L272 91 L268 79 L266 67 L265 54 L265 42 L266 28 L269 15 L272 2 L278 -12 L284 -25 L292 -39 L301 -53 L312 -66 L324 -79 L338 -93 L353 -106 L369 -119 L387 -131 L406 -143 L426 -155 L448 -166 L471 -177 L496 -187 L521 -197 L548 -206 L576 -215 L605 -222 L635 -230' stroke-width='2.2' stroke-opacity='0.25'/%3E%3Cpath d='M601 183 L590 184 L578 184 L567 184 L555 183 L544 181 L532 179 L521 177 L510 173 L499 170 L489 165 L478 160 L469 155 L460 149 L451 142 L443 136 L436 128 L429 120 L424 112 L419 104 L415 95 L412 85 L410 76 L409 66 L409 56 L410 45 L413 35 L416 24 L421 14 L427 3 L434 -8 L442 -18 L452 -29 L462 -39 L474 -50 L487 -60 L502 -69 L517 -79 L534 -88 L552 -97 L571 -106 L591 -114 L613 -121 L635 -128 L658 -134 L682 -140 L708 -145 L734 -150 L760 -153 L788 -156 L816 -159 L845 -160 L874 -161 L904 -160 L934 -159 L965 -157 L995 -154 L1026 -150 L1057 -146 L1088 -140' stroke-width='3.6' stroke-opacity='0.10'/%3E%3Cpath d='M601 164 L592 160 L583 156 L574 151 L567 146 L559 141 L553 135 L547 129 L542 122 L538 115 L535 108 L533 101 L532 93 L531 85 L532 77 L534 69 L536 60 L540 52 L545 44 L551 35 L558 27 L566 19 L575 11 L585 3 L597 -5 L609 -12 L622 -20 L637 -26 L652 -33 L669 -39 L686 -44 L704 -50 L723 -54 L743 -58 L764 -62 L785 -65 L807 -67 L830 -68 L853 -69 L877 -69 L901 -69 L925 -67 L950 -65 L975 -62 L999 -59 L1025 -54 L1049 -49 L1074 -42 L1099 -35 L1123 -27 L1148 -19 L1171 -9 L1194 1 L1217 13 L1239 25 L1260 37 L1280 51 L1299 65 L1318 81 L1335 96' stroke-width='5.0' stroke-opacity='0.15'/%3E%3Cpath d='M623 149 L620 142 L618 136 L616 129 L616 123 L617 116 L618 109 L621 102 L624 95 L629 88 L635 82 L641 75 L649 69 L658 62 L667 56 L677 51 L689 45 L701 40 L714 36 L728 32 L743 28 L758 24 L774 22 L791 19 L808 18 L826 17 L844 16 L863 16 L882 17 L901 19 L921 21 L940 23 L960 27 L980 31 L999 36 L1019 42 L1038 48 L1057 56 L1076 64 L1094 72 L1112 82 L1129 92 L1146 102 L1161 114 L1176 126 L1190 139 L1204 152 L1216 166 L1227 181 L1237 196 L1245 211 L1253 227 L1259 244 L1264 261 L1267 278 L1269 296 L1269 314 L1268 332 L1265 350 L1260 369' stroke-width='2.2' stroke-opacity='0.20'/%3E%3Cpath d='M657 145 L661 139 L667 134 L673 128 L680 123 L688 118 L697 113 L707 109 L717 105 L729 101 L740 98 L753 96 L766 94 L779 92 L793 91 L808 90 L822 91 L837 91 L853 92 L868 94 L883 97 L899 100 L914 104 L929 108 L945 113 L959 119 L974 126 L988 133 L1002 140 L1015 148 L1027 157 L1039 167 L1051 177 L1061 187 L1070 199 L1079 210 L1087 222 L1093 235 L1099 248 L1103 261 L1106 275 L1108 289 L1109 303 L1108 318 L1106 333 L1102 348 L1098 363 L1091 378 L1084 393 L1074 408 L1064 424 L1051 439 L1037 454 L1022 468 L1005 483 L987 497 L967 511 L946 524 L923 537 L899 550' stroke-width='3.6' stroke-opacity='0.25'/%3E%3Cpath d='M686 155 L696 152 L707 150 L718 148 L730 147 L741 146 L753 145 L766 146 L778 147 L790 148 L803 150 L815 153 L828 156 L840 160 L852 164 L863 169 L874 175 L885 181 L895 187 L905 194 L914 202 L922 210 L930 219 L936 228 L942 237 L947 247 L951 257 L954 268 L956 279 L957 290 L957 302 L955 313 L953 325 L949 337 L944 349 L937 361 L930 373 L921 385 L910 397 L899 409 L886 421 L872 432 L856 443 L839 454 L821 465 L802 475 L781 485 L760 494 L737 503 L713 511 L687 519 L661 526 L634 532 L606 538 L577 543 L547 547 L516 550 L485 553 L453 554 L420 555' stroke-width='5.0' stroke-opacity='0.10'/%3E%3Ccircle cx='902' cy='421' r='1.8' fill='%237ba0d0' stroke='none' opacity='0.51'/%3E%3Ccircle cx='768' cy='492' r='2.1' fill='%237ba0d0' stroke='none' opacity='0.53'/%3E%3Ccircle cx='445' cy='170' r='0.8' fill='%237ba0d0' stroke='none' opacity='0.45'/%3E%3Ccircle cx='566' cy='146' r='2.1' fill='%237ba0d0' stroke='none' opacity='0.38'/%3E%3Ccircle cx='656' cy='218' r='2.4' fill='%237ba0d0' stroke='none' opacity='0.66'/%3E%3Ccircle cx='967' cy='-10' r='0.9' fill='%237ba0d0' stroke='none' opacity='0.43'/%3E%3Ccircle cx='523' cy='175' r='2.3' fill='%237ba0d0' stroke='none' opacity='0.45'/%3E%3Ccircle cx='975' cy='450' r='1.0' fill='%237ba0d0' stroke='none' opacity='0.76'/%3E%3Ccircle cx='257' cy='242' r='1.3' fill='%237ba0d0' stroke='none' opacity='0.52'/%3E%3Ccircle cx='677' cy='213' r='2.2' fill='%237ba0d0' stroke='none' opacity='0.38'/%3E%3Ccircle cx='683' cy='69' r='2.4' fill='%237ba0d0' stroke='none' opacity='0.74'/%3E%3Ccircle cx='664' cy='-141' r='1.7' fill='%237ba0d0' stroke='none' opacity='0.65'/%3E%3Ccircle cx='906' cy='318' r='2.1' fill='%237ba0d0' stroke='none' opacity='0.36'/%3E%3Ccircle cx='1203' cy='6' r='1.5' fill='%237ba0d0' stroke='none' opacity='0.45'/%3E%3Ccircle cx='361' cy='226' r='2.4' fill='%237ba0d0' stroke='none' opacity='0.46'/%3E%3Ccircle cx='757' cy='184' r='1.9' fill='%237ba0d0' stroke='none' opacity='0.80'/%3E%3Ccircle cx='279' cy='179' r='1.7' fill='%237ba0d0' stroke='none' opacity='0.66'/%3E%3Ccircle cx='726' cy='426' r='1.7' fill='%237ba0d0' stroke='none' opacity='0.59'/%3E%3Ccircle cx='716' cy='257' r='1.4' fill='%237ba0d0' stroke='none' opacity='0.76'/%3E%3Ccircle cx='398' cy='381' r='1.3' fill='%237ba0d0' stroke='none' opacity='0.31'/%3E%3Ccircle cx='1178' cy='307' r='2.0' fill='%237ba0d0' stroke='none' opacity='0.46'/%3E%3Ccircle cx='449' cy='-84' r='2.2' fill='%237ba0d0' stroke='none' opacity='0.78'/%3E%3Ccircle cx='70' cy='394' r='2.3' fill='%237ba0d0' stroke='none' opacity='0.57'/%3E%3Ccircle cx='922' cy='31' r='1.4' fill='%237ba0d0' stroke='none' opacity='0.39'/%3E%3Ccircle cx='759' cy='111' r='0.9' fill='%237ba0d0' stroke='none' opacity='0.69'/%3E%3Ccircle cx='703' cy='-34' r='2.1' fill='%237ba0d0' stroke='none' opacity='0.28'/%3E%3Ccircle cx='636' cy='311' r='1.5' fill='%237ba0d0' stroke='none' opacity='0.34'/%3E%3Ccircle cx='892' cy='239' r='2.2' fill='%237ba0d0' stroke='none' opacity='0.79'/%3E%3Ccircle cx='639' cy='-34' r='1.2' fill='%237ba0d0' stroke='none' opacity='0.78'/%3E%3Ccircle cx='131' cy='125' r='0.8' fill='%237ba0d0' stroke='none' opacity='0.37'/%3E%3Ccircle cx='947' cy='-104' r='2.2' fill='%237ba0d0' stroke='none' opacity='0.58'/%3E%3Ccircle cx='266' cy='284' r='2.2' fill='%237ba0d0' stroke='none' opacity='0.42'/%3E%3Ccircle cx='424' cy='145' r='2.0' fill='%237ba0d0' stroke='none' opacity='0.26'/%3E%3Ccircle cx='383' cy='-181' r='0.8' fill='%237ba0d0' stroke='none' opacity='0.58'/%3E%3Ccircle cx='275' cy='-100' r='1.7' fill='%237ba0d0' stroke='none' opacity='0.39'/%3E%3Ccircle cx='90' cy='390' r='2.2' fill='%237ba0d0' stroke='none' opacity='0.32'/%3E%3Ccircle cx='740' cy='210' r='0.8' fill='%237ba0d0' stroke='none' opacity='0.50'/%3E%3Ccircle cx='1037' cy='447' r='1.8' fill='%237ba0d0' stroke='none' opacity='0.32'/%3E%3Ccircle cx='395' cy='137' r='1.6' fill='%237ba0d0' stroke='none' opacity='0.37'/%3E%3Ccircle cx='733' cy='258' r='1.4' fill='%237ba0d0' stroke='none' opacity='0.64'/%3E%3Ccircle cx='572' cy='159' r='1.9' fill='%237ba0d0' stroke='none' opacity='0.73'/%3E%3Ccircle cx='734' cy='-147' r='0.8' fill='%237ba0d0' stroke='none' opacity='0.51'/%3E%3Ccircle cx='1152' cy='296' r='1.1' fill='%237ba0d0' stroke='none' opacity='0.64'/%3E%3Ccircle cx='639' cy='463' r='1.3' fill='%237ba0d0' stroke='none' opacity='0.27'/%3E%3Ccircle cx='456' cy='267' r='2.2' fill='%237ba0d0' stroke='none' opacity='0.41'/%3E%3Ccircle cx='241' cy='169' r='2.3' fill='%237ba0d0' stroke='none' opacity='0.30'/%3E%3Ccircle cx='342' cy='44' r='2.0' fill='%237ba0d0' stroke='none' opacity='0.78'/%3E%3Ccircle cx='462' cy='444' r='1.6' fill='%237ba0d0' stroke='none' opacity='0.56'/%3E%3Ccircle cx='1182' cy='304' r='2.4' fill='%237ba0d0' stroke='none' opacity='0.45'/%3E%3Ccircle cx='359' cy='538' r='1.0' fill='%237ba0d0' stroke='none' opacity='0.29'/%3E%3Ccircle cx='1167' cy='322' r='2.0' fill='%237ba0d0' stroke='none' opacity='0.50'/%3E%3Ccircle cx='603' cy='149' r='1.8' fill='%237ba0d0' stroke='none' opacity='0.49'/%3E%3Ccircle cx='347' cy='155' r='1.4' fill='%237ba0d0' stroke='none' opacity='0.37'/%3E%3Ccircle cx='965' cy='231' r='1.2' fill='%237ba0d0' stroke='none' opacity='0.64'/%3E%3Ccircle cx='862' cy='-100' r='1.5' fill='%237ba0d0' stroke='none' opacity='0.38'/%3E%3Ccircle cx='373' cy='313' r='1.8' fill='%237ba0d0' stroke='none' opacity='0.78'/%3E%3Ccircle cx='959' cy='280' r='1.6' fill='%237ba0d0' stroke='none' opacity='0.64'/%3E%3Ccircle cx='1078' cy='-30' r='1.8' fill='%237ba0d0' stroke='none' opacity='0.67'/%3E%3Ccircle cx='348' cy='-131' r='1.9' fill='%237ba0d0' stroke='none' opacity='0.63'/%3E%3Ccircle cx='667' cy='545' r='1.4' fill='%237ba0d0' stroke='none' opacity='0.59'/%3E%3Ccircle cx='954' cy='-174' r='2.4' fill='%237ba0d0' stroke='none' opacity='0.25'/%3E%3Ccircle cx='551' cy='308' r='1.4' fill='%237ba0d0' stroke='none' opacity='0.33'/%3E%3Ccircle cx='552' cy='154' r='1.3' fill='%237ba0d0' stroke='none' opacity='0.77'/%3E%3Ccircle cx='631' cy='-28' r='1.0' fill='%237ba0d0' stroke='none' opacity='0.78'/%3E%3Ccircle cx='596' cy='72' r='1.3' fill='%237ba0d0' stroke='none' opacity='0.60'/%3E%3Ccircle cx='557' cy='59' r='2.3' fill='%237ba0d0' stroke='none' opacity='0.43'/%3E%3Ccircle cx='632' cy='519' r='1.0' fill='%237ba0d0' stroke='none' opacity='0.62'/%3E%3Ccircle cx='784' cy='414' r='1.2' fill='%237ba0d0' stroke='none' opacity='0.46'/%3E%3Ccircle cx='977' cy='100' r='1.5' fill='%237ba0d0' stroke='none' opacity='0.59'/%3E%3Ccircle cx='617' cy='266' r='1.4' fill='%237ba0d0' stroke='none' opacity='0.40'/%3E%3Ccircle cx='902' cy='533' r='0.9' fill='%237ba0d0' stroke='none' opacity='0.70'/%3E%3Ccircle cx='1114' cy='57' r='0.8' fill='%237ba0d0' stroke='none' opacity='0.53'/%3E%3Ccircle cx='1080' cy='236' r='1.9' fill='%237ba0d0' stroke='none' opacity='0.38'/%3E%3Ccircle cx='1051' cy='185' r='1.0' fill='%237ba0d0' stroke='none' opacity='0.42'/%3E%3Ccircle cx='43' cy='277' r='1.4' fill='%237ba0d0' stroke='none' opacity='0.32'/%3E%3Ccircle cx='799' cy='-152' r='1.6' fill='%237ba0d0' stroke='none' opacity='0.28'/%3E%3Ccircle cx='767' cy='340' r='1.7' fill='%237ba0d0' stroke='none' opacity='0.37'/%3E%3Ccircle cx='841' cy='-153' r='2.3' fill='%237ba0d0' stroke='none' opacity='0.74'/%3E%3Ccircle cx='1074' cy='201' r='0.9' fill='%237ba0d0' stroke='none' opacity='0.74'/%3E%3Ccircle cx='638' cy='-139' r='1.1' fill='%237ba0d0' stroke='none' opacity='0.28'/%3E%3Ccircle cx='825' cy='-61' r='1.8' fill='%237ba0d0' stroke='none' opacity='0.51'/%3E%3Ccircle cx='732' cy='26' r='1.2' fill='%237ba0d0' stroke='none' opacity='0.44'/%3E%3Ccircle cx='512' cy='425' r='2.2' fill='%237ba0d0' stroke='none' opacity='0.29'/%3E%3Ccircle cx='997' cy='264' r='1.9' fill='%237ba0d0' stroke='none' opacity='0.35'/%3E%3Ccircle cx='637' cy='224' r='0.9' fill='%237ba0d0' stroke='none' opacity='0.52'/%3E%3Ccircle cx='448' cy='-74' r='1.1' fill='%237ba0d0' stroke='none' opacity='0.31'/%3E%3Ccircle cx='1011' cy='77' r='1.5' fill='%237ba0d0' stroke='none' opacity='0.63'/%3E%3Ccircle cx='594' cy='-49' r='0.9' fill='%237ba0d0' stroke='none' opacity='0.71'/%3E%3Ccircle cx='665' cy='216' r='1.4' fill='%237ba0d0' stroke='none' opacity='0.54'/%3E%3Ccircle cx='535' cy='106' r='1.9' fill='%237ba0d0' stroke='none' opacity='0.52'/%3E%3Ccircle cx='965' cy='469' r='2.1' fill='%237ba0d0' stroke='none' opacity='0.75'/%3E%3Ccircle cx='566' cy='74' r='2.0' fill='%237ba0d0' stroke='none' opacity='0.75'/%3E%3Ccircle cx='21' cy='97' r='2.4' fill='%237ba0d0' stroke='none' opacity='0.46'/%3E%3Ccircle cx='1263' cy='38' r='2.1' fill='%237ba0d0' stroke='none' opacity='0.26'/%3E%3Ccircle cx='380' cy='381' r='1.8' fill='%237ba0d0' stroke='none' opacity='0.67'/%3E%3Ccircle cx='554' cy='102' r='2.3' fill='%237ba0d0' stroke='none' opacity='0.54'/%3E%3Ccircle cx='784' cy='102' r='2.4' fill='%237ba0d0' stroke='none' opacity='0.56'/%3E%3Ccircle cx='733' cy='-128' r='2.2' fill='%237ba0d0' stroke='none' opacity='0.45'/%3E%3Ccircle cx='920' cy='263' r='1.1' fill='%237ba0d0' stroke='none' opacity='0.55'/%3E%3Ccircle cx='761' cy='23' r='1.0' fill='%237ba0d0' stroke='none' opacity='0.26'/%3E%3Ccircle cx='270' cy='288' r='0.8' fill='%237ba0d0' stroke='none' opacity='0.62'/%3E%3Ccircle cx='677' cy='240' r='2.3' fill='%237ba0d0' stroke='none' opacity='0.54'/%3E%3Ccircle cx='952' cy='38' r='1.0' fill='%237ba0d0' stroke='none' opacity='0.38'/%3E%3Ccircle cx='233' cy='297' r='2.0' fill='%237ba0d0' stroke='none' opacity='0.66'/%3E%3Ccircle cx='523' cy='73' r='1.5' fill='%237ba0d0' stroke='none' opacity='0.46'/%3E%3Ccircle cx='426' cy='182' r='1.7' fill='%237ba0d0' stroke='none' opacity='0.50'/%3E%3Ccircle cx='1218' cy='248' r='1.7' fill='%237ba0d0' stroke='none' opacity='0.69'/%3E%3Ccircle cx='604' cy='-128' r='2.4' fill='%237ba0d0' stroke='none' opacity='0.46'/%3E%3Ccircle cx='607' cy='192' r='1.9' fill='%237ba0d0' stroke='none' opacity='0.57'/%3E%3Ccircle cx='29' cy='-12' r='1.1' fill='%237ba0d0' stroke='none' opacity='0.37'/%3E%3Ccircle cx='591' cy='-158' r='1.6' fill='%237ba0d0' stroke='none' opacity='0.28'/%3E%3Ccircle cx='245' cy='420' r='1.6' fill='%237ba0d0' stroke='none' opacity='0.50'/%3E%3Ccircle cx='296' cy='343' r='1.8' fill='%237ba0d0' stroke='none' opacity='0.63'/%3E%3Ccircle cx='1005' cy='-59' r='1.4' fill='%237ba0d0' stroke='none' opacity='0.39'/%3E%3Ccircle cx='761' cy='-146' r='2.3' fill='%237ba0d0' stroke='none' opacity='0.36'/%3E%3Ccircle cx='1010' cy='-123' r='0.9' fill='%237ba0d0' stroke='none' opacity='0.42'/%3E%3Ccircle cx='551' cy='111' r='2.1' fill='%237ba0d0' stroke='none' opacity='0.40'/%3E%3Ccircle cx='548' cy='46' r='1.1' fill='%237ba0d0' stroke='none' opacity='0.36'/%3E%3Ccircle cx='135' cy='178' r='1.1' fill='%237ba0d0' stroke='none' opacity='0.63'/%3E%3Ccircle cx='407' cy='408' r='1.4' fill='%237ba0d0' stroke='none' opacity='0.36'/%3E%3Ccircle cx='703' cy='213' r='1.9' fill='%237ba0d0' stroke='none' opacity='0.48'/%3E%3Ccircle cx='1093' cy='424' r='1.8' fill='%237ba0d0' stroke='none' opacity='0.26'/%3E%3Ccircle cx='579' cy='-75' r='1.5' fill='%237ba0d0' stroke='none' opacity='0.53'/%3E%3Ccircle cx='933' cy='134' r='1.8' fill='%237ba0d0' stroke='none' opacity='0.60'/%3E%3Ccircle cx='465' cy='292' r='2.0' fill='%237ba0d0' stroke='none' opacity='0.60'/%3E%3Ccircle cx='278' cy='233' r='1.2' fill='%237ba0d0' stroke='none' opacity='0.68'/%3E%3Ccircle cx='1112' cy='207' r='1.5' fill='%237ba0d0' stroke='none' opacity='0.37'/%3E%3Ccircle cx='281' cy='45' r='0.9' fill='%237ba0d0' stroke='none' opacity='0.52'/%3E%3Ccircle cx='938' cy='456' r='1.3' fill='%237ba0d0' stroke='none' opacity='0.43'/%3E%3Ccircle cx='666' cy='219' r='1.1' fill='%237ba0d0' stroke='none' opacity='0.33'/%3E%3Ccircle cx='221' cy='-70' r='1.2' fill='%237ba0d0' stroke='none' opacity='0.31'/%3E%3Ccircle cx='526' cy='158' r='1.4' fill='%237ba0d0' stroke='none' opacity='0.67'/%3E%3Ccircle cx='794' cy='452' r='1.7' fill='%237ba0d0' stroke='none' opacity='0.30'/%3E%3Ccircle cx='669' cy='427' r='1.0' fill='%237ba0d0' stroke='none' opacity='0.36'/%3E%3Ccircle cx='133' cy='18' r='1.6' fill='%237ba0d0' stroke='none' opacity='0.61'/%3E%3Ccircle cx='894' cy='182' r='1.3' fill='%237ba0d0' stroke='none' opacity='0.75'/%3E%3Ccircle cx='298' cy='425' r='0.9' fill='%237ba0d0' stroke='none' opacity='0.52'/%3E%3Ccircle cx='1076' cy='-27' r='1.7' fill='%237ba0d0' stroke='none' opacity='0.35'/%3E%3Ccircle cx='739' cy='147' r='2.3' fill='%237ba0d0' stroke='none' opacity='0.68'/%3E%3Ccircle cx='573' cy='-50' r='1.1' fill='%237ba0d0' stroke='none' opacity='0.44'/%3E%3C/g%3E%3C/svg%3E") 100% 0 / max(120vw, 900px) auto no-repeat,
    url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='420' height='420' viewBox='0 0 420 420'%3E%3Cdefs%3E%3CradialGradient id='m' cx='0' cy='0' r='1' gradientUnits='objectBoundingBox'%3E%3Cstop offset='0' stop-color='%23fff'/%3E%3Cstop offset='.85' stop-color='%23fff' stop-opacity='0'/%3E%3C/radialGradient%3E%3Cmask id='k'%3E%3Crect width='420' height='420' fill='url(%23m)'/%3E%3C/mask%3E%3C/defs%3E%3Cg transform='rotate(0 210.0 210.0)'%3E%3Cg mask='url(%23k)' stroke='%239dbde2' stroke-linecap='round'%3E%3Cpath d='M0 0L268 36' stroke-opacity='0.61' stroke-width='1.2'/%3E%3Cpath d='M67 9L144 -71' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M86 -11L72 -55' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M86 -11L132 -6' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M106 -31L101 -61' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M106 -31L136 -27' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M125 -51L122 -66' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M125 -51L140 -48' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M67 9L121 107' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M80 33L126 35' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M80 33L62 75' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M94 58L124 59' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M94 58L81 86' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M107 82L122 84' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M107 82L101 96' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M134 18L180 -40' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M146 4L138 -26' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M146 4L176 5' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M157 -11L150 -30' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M157 -11L178 -9' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M169 -25L166 -35' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M169 -25L179 -25' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M134 18L169 83' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M143 34L173 36' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M143 34L127 60' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M152 51L172 50' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M152 51L143 69' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M161 67L171 68' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M161 67L155 75' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M201 27L224 -2' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M207 20L201 5' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M207 20L222 21' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M212 13L208 3' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M212 13L222 14' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M218 5L216 0' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M218 5L223 5' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M201 27L217 61' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M205 36L220 38' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M205 36L196 48' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M209 44L219 45' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M209 44L204 53' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M213 52L218 53' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M213 52L210 56' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M0 0L243 145' stroke-opacity='0.61' stroke-width='1.2'/%3E%3Cpath d='M61 36L166 -14' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M87 24L89 -24' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M87 24L128 49' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M113 11L116 -21' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M113 11L139 30' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M140 -1L141 -17' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M140 -1L153 8' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M61 36L72 152' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M63 65L105 90' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M63 65L25 94' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M66 94L94 110' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M66 94L41 114' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M69 123L83 131' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M69 123L56 133' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M121 72L193 42' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M139 65L146 34' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M139 65L164 85' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M157 57L161 36' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M157 57L176 68' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M175 50L176 39' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M175 50L184 56' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M121 72L124 150' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M122 92L151 106' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M122 92L97 112' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M123 111L141 123' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M123 111L104 122' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M124 131L133 135' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M124 131L114 136' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M182 109L218 93' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M191 105L193 89' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M191 105L205 113' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M200 101L202 90' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M200 101L209 106' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M209 97L210 92' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M209 97L213 100' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M182 109L181 148' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M182 118L195 128' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M182 118L169 128' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M182 128L191 134' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M182 128L173 134' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M182 138L186 141' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M182 138L177 140' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M0 0L158 211' stroke-opacity='0.61' stroke-width='1.2'/%3E%3Cpath d='M40 53L148 40' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M67 49L83 8' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M67 49L93 86' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M94 46L105 19' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M94 46L111 70' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M121 43L126 29' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M121 43L131 54' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M40 53L-4 153' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M29 78L57 112' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M29 78L-16 85' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M18 103L37 126' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M18 103L-12 108' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M7 128L16 140' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M7 128L-8 129' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M79 106L151 97' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M97 103L111 77' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M97 103L116 127' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M115 101L124 83' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M115 101L128 116' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M133 99L138 90' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M133 99L139 107' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M79 106L59 175' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M74 123L96 144' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M74 123L46 133' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M69 141L83 155' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M69 141L50 146' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M64 158L70 166' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M64 158L54 160' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M119 158L155 156' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M128 158L133 144' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M128 158L136 170' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M137 157L142 149' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M137 157L142 165' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M146 156L148 152' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M146 156L149 161' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M119 158L106 192' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M116 167L125 179' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M116 167L101 170' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M112 175L118 184' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M112 175L102 177' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M109 184L112 188' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M109 184L104 185' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M0 0L78 247' stroke-opacity='0.61' stroke-width='1.2'/%3E%3Cpath d='M20 62L121 94' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M45 70L80 43' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M45 70L57 112' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M70 78L94 60' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M70 78L75 107' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M96 86L107 77' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M96 86L98 100' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M20 62L-43 148' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M4 83L19 125' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M4 83L-40 82' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M-12 105L-1 132' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M-12 105L-41 103' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M-27 127L-23 141' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M-27 127L-42 126' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M39 123L109 136' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M57 126L75 103' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M57 126L67 154' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M74 130L89 116' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M74 130L80 148' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M92 133L99 126' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M92 133L96 141' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M39 123L-4 180' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M28 138L40 165' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M28 138L-1 137' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M18 152L23 171' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M18 152L-2 151' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M7 166L10 175' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M7 166L-3 164' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M59 185L94 191' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M68 186L78 176' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M68 186L74 200' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M76 188L83 180' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M76 188L81 196' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M85 189L88 185' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M85 189L87 194' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M59 185L35 211' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M53 192L56 206' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M53 192L38 188' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M47 198L50 207' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M47 198L37 197' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M41 205L42 209' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M41 205L36 204' stroke-opacity='0.37' stroke-width='0.7'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E") left top / min(70vw, 560px) auto no-repeat,
    url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='420' height='420' viewBox='0 0 420 420'%3E%3Cdefs%3E%3CradialGradient id='m' cx='0' cy='0' r='1' gradientUnits='objectBoundingBox'%3E%3Cstop offset='0' stop-color='%23fff'/%3E%3Cstop offset='.85' stop-color='%23fff' stop-opacity='0'/%3E%3C/radialGradient%3E%3Cmask id='k'%3E%3Crect width='420' height='420' fill='url(%23m)'/%3E%3C/mask%3E%3C/defs%3E%3Cg transform='rotate(180 210.0 210.0)'%3E%3Cg mask='url(%23k)' stroke='%239dbde2' stroke-linecap='round'%3E%3Cpath d='M0 0L309 51' stroke-opacity='0.61' stroke-width='1.2'/%3E%3Cpath d='M77 13L162 -84' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M99 -12L83 -63' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M99 -12L151 -5' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M120 -36L113 -71' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M120 -36L155 -33' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M141 -60L135 -77' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M141 -60L159 -58' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M77 13L127 132' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M90 43L142 55' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M90 43L61 88' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M102 72L137 80' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M102 72L84 103' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M115 102L132 107' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M115 102L106 118' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M155 26L218 -33' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M170 11L165 -24' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M170 11L205 18' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M186 -4L182 -27' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M186 -4L209 4' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M202 -18L200 -30' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M202 -18L213 -14' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M155 26L182 107' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M161 46L197 51' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M161 46L140 74' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M168 67L191 73' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M168 67L152 84' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M175 87L187 89' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M175 87L168 96' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M232 38L261 7' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M239 31L233 14' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M239 31L257 33' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M247 23L244 11' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M247 23L258 24' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M254 15L253 9' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M254 15L260 16' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M232 38L252 77' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M237 48L255 50' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M237 48L229 64' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M242 58L254 58' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M242 58L236 68' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M247 67L253 68' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M247 67L244 72' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M0 0L260 175' stroke-opacity='0.61' stroke-width='1.2'/%3E%3Cpath d='M65 44L186 -2' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M95 32L105 -20' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M95 32L139 62' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M126 21L132 -14' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M126 21L156 39' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M156 9L158 -8' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M156 9L170 21' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M65 44L50 172' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M61 76L102 110' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M61 76L15 102' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M57 108L84 131' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M57 108L26 126' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M53 140L68 150' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M53 140L37 146' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M130 88L211 58' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M150 80L156 45' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M150 80L179 102' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M171 73L175 49' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M171 73L190 87' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M191 65L193 53' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M191 65L200 73' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M130 88L131 174' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M130 109L162 125' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M130 109L101 129' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M131 131L151 144' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M131 131L110 142' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M131 152L141 159' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M131 152L121 159' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M195 131L235 114' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M205 127L209 110' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M205 127L219 138' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M215 123L216 111' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M215 123L225 129' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M225 118L225 112' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M225 118L230 122' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M195 131L195 175' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M195 142L210 151' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M195 142L181 153' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M195 153L204 160' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M195 153L184 158' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M195 164L200 166' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M195 164L190 167' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M0 0L147 204' stroke-opacity='0.61' stroke-width='1.2'/%3E%3Cpath d='M37 51L139 35' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M62 47L82 9' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M62 47L90 79' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M88 43L101 17' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M88 43L108 62' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M113 39L120 26' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M113 39L122 50' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M37 51L-4 146' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M27 75L51 109' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M27 75L-15 86' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M16 99L34 121' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M16 99L-12 102' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M6 122L14 134' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M6 122L-8 125' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M73 102L142 102' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M91 102L107 79' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M91 102L107 125' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M108 102L118 86' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M108 102L117 119' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M125 102L130 94' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M125 102L129 111' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M73 102L51 167' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M68 118L86 140' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M68 118L40 125' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M62 134L76 148' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M62 134L44 139' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M57 151L63 158' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M57 151L48 154' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M110 153L144 153' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M119 153L126 141' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M119 153L126 165' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M127 153L132 145' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M127 153L133 160' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M136 153L138 148' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M136 153L138 157' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M110 153L95 184' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M106 160L115 172' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M106 160L92 161' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M102 168L107 177' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M102 168L93 169' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M99 176L101 180' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M99 176L94 177' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M0 0L67 238' stroke-opacity='0.61' stroke-width='1.2'/%3E%3Cpath d='M17 59L113 93' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M41 68L75 43' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M41 68L47 110' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M65 76L87 59' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M65 76L69 104' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M89 85L100 76' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M89 85L93 98' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M17 59L-58 129' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M-2 77L11 117' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M-2 77L-43 69' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M-20 94L-17 122' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M-20 94L-48 90' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M-39 112L-37 126' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M-39 112L-52 108' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M33 119L100 135' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M50 123L70 104' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M50 123L61 149' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M67 127L80 114' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M67 127L72 145' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M83 131L89 124' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M83 131L85 140' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M33 119L-11 170' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M22 132L31 159' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M22 132L-6 129' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M11 145L18 162' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M11 145L-7 142' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M-0 157L2 166' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M-0 157L-9 156' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M50 178L82 191' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M58 182L70 174' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M58 182L61 195' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M66 185L73 179' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M66 185L69 194' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M74 188L78 185' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M74 188L75 192' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M50 178L29 205' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M45 185L49 199' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M45 185L31 184' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M40 192L43 201' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M40 192L31 191' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M35 199L36 203' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M35 199L30 198' stroke-opacity='0.37' stroke-width='0.7'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E") right bottom / min(70vw, 560px) auto no-repeat;
  --w-far: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='320' height='320' viewBox='0 0 320 320'%3E%3Cdefs%3E%3CradialGradient id='p'%3E%3Cstop offset='0' stop-color='%236f96c8'/%3E%3Cstop offset='.45' stop-color='%236f96c8' stop-opacity='.75'/%3E%3Cstop offset='1' stop-color='%236f96c8' stop-opacity='0'/%3E%3C/radialGradient%3E%3C/defs%3E%3Ccircle cx='43.0' cy='271.2' r='1.39' fill='%236f96c8' opacity='0.50'/%3E%3Ccircle cx='158.5' cy='143.8' r='1.29' fill='%236f96c8' opacity='0.82'/%3E%3Ccircle cx='30.0' cy='9.1' r='1.45' fill='%236f96c8' opacity='0.61'/%3E%3Ccircle cx='243.9' cy='0.7' r='1.10' fill='%236f96c8' opacity='0.78'/%3E%3Ccircle cx='243.9' cy='320.7' r='1.10' fill='%236f96c8' opacity='0.78'/%3E%3Ccircle cx='73.2' cy='302.5' r='1.51' fill='%236f96c8' opacity='0.37'/%3E%3Ccircle cx='8.1' cy='173.3' r='1.55' fill='%236f96c8' opacity='0.58'/%3E%3Ccircle cx='69.3' cy='135.1' r='0.73' fill='%236f96c8' opacity='0.48'/%3E%3Ccircle cx='140.1' cy='158.7' r='0.91' fill='%236f96c8' opacity='0.49'/%3E%3Ccircle cx='70.0' cy='147.1' r='0.96' fill='%236f96c8' opacity='0.36'/%3E%3Ccircle cx='268.0' cy='178.1' r='1.28' fill='%236f96c8' opacity='0.46'/%3E%3Ccircle cx='-2.4' cy='275.2' r='0.81' fill='%236f96c8' opacity='0.55'/%3E%3Ccircle cx='317.6' cy='275.2' r='0.81' fill='%236f96c8' opacity='0.55'/%3E%3Ccircle cx='230.9' cy='227.6' r='1.54' fill='%236f96c8' opacity='0.60'/%3E%3Ccircle cx='265.6' cy='214.5' r='0.97' fill='%236f96c8' opacity='0.70'/%3E%3Ccircle cx='282.4' cy='270.8' r='1.15' fill='%236f96c8' opacity='0.70'/%3E%3Ccircle cx='11.0' cy='77.7' r='1.42' fill='%236f96c8' opacity='0.60'/%3E%3Ccircle cx='55.4' cy='175.6' r='1.33' fill='%236f96c8' opacity='0.75'/%3E%3Ccircle cx='119.9' cy='140.5' r='1.16' fill='%236f96c8' opacity='0.82'/%3E%3Ccircle cx='166.7' cy='125.8' r='1.14' fill='%236f96c8' opacity='0.37'/%3E%3Ccircle cx='13.9' cy='225.1' r='1.58' fill='%236f96c8' opacity='0.71'/%3E%3Ccircle cx='126.0' cy='54.5' r='1.15' fill='%236f96c8' opacity='0.94'/%3E%3Ccircle cx='246.6' cy='172.7' r='1.47' fill='%236f96c8' opacity='0.49'/%3E%3Ccircle cx='164.4' cy='304.8' r='1.22' fill='%236f96c8' opacity='0.63'/%3E%3Ccircle cx='86.2' cy='175.4' r='1.56' fill='%236f96c8' opacity='0.35'/%3E%3Ccircle cx='250.8' cy='262.6' r='1.50' fill='%236f96c8' opacity='0.79'/%3E%3Ccircle cx='258.9' cy='166.0' r='1.21' fill='%236f96c8' opacity='0.61'/%3E%3Ccircle cx='18.0' cy='278.4' r='1.21' fill='%236f96c8' opacity='0.47'/%3E%3Ccircle cx='161.5' cy='155.2' r='1.02' fill='%236f96c8' opacity='0.56'/%3E%3Ccircle cx='172.3' cy='199.5' r='1.25' fill='%236f96c8' opacity='0.62'/%3E%3Ccircle cx='9.0' cy='73.5' r='0.86' fill='%236f96c8' opacity='0.70'/%3E%3Ccircle cx='275.5' cy='255.5' r='1.42' fill='%236f96c8' opacity='0.84'/%3E%3Ccircle cx='81.7' cy='269.4' r='1.31' fill='%236f96c8' opacity='0.40'/%3E%3Ccircle cx='5.3' cy='4.7' r='1.38' fill='%236f96c8' opacity='0.50'/%3E%3Ccircle cx='5.3' cy='324.7' r='1.38' fill='%236f96c8' opacity='0.50'/%3E%3Ccircle cx='35.0' cy='199.9' r='1.01' fill='%236f96c8' opacity='0.39'/%3E%3Ccircle cx='51.1' cy='168.8' r='0.85' fill='%236f96c8' opacity='0.51'/%3E%3Ccircle cx='227.7' cy='145.5' r='0.99' fill='%236f96c8' opacity='0.63'/%3E%3Ccircle cx='7.6' cy='123.7' r='1.08' fill='%236f96c8' opacity='0.46'/%3E%3Ccircle cx='34.8' cy='287.9' r='1.16' fill='%236f96c8' opacity='0.48'/%3E%3Ccircle cx='193.8' cy='261.5' r='0.72' fill='%236f96c8' opacity='0.36'/%3E%3Ccircle cx='46.9' cy='230.0' r='0.84' fill='%236f96c8' opacity='0.77'/%3E%3Ccircle cx='217.0' cy='174.3' r='0.90' fill='%236f96c8' opacity='0.94'/%3E%3Ccircle cx='255.3' cy='165.3' r='0.90' fill='%236f96c8' opacity='0.74'/%3E%3Ccircle cx='126.4' cy='184.3' r='0.99' fill='%236f96c8' opacity='0.73'/%3E%3Ccircle cx='18.8' cy='95.6' r='1.57' fill='%236f96c8' opacity='0.88'/%3E%3Ccircle cx='98.0' cy='274.7' r='0.98' fill='%236f96c8' opacity='0.91'/%3E%3Ccircle cx='238.0' cy='133.2' r='0.93' fill='%236f96c8' opacity='0.36'/%3E%3Ccircle cx='281.2' cy='12.1' r='1.44' fill='%236f96c8' opacity='0.93'/%3E%3Ccircle cx='182.5' cy='54.9' r='1.48' fill='%236f96c8' opacity='0.93'/%3E%3Ccircle cx='225.3' cy='162.8' r='1.04' fill='%236f96c8' opacity='0.56'/%3E%3Ccircle cx='65.8' cy='215.7' r='1.09' fill='%236f96c8' opacity='0.47'/%3E%3Ccircle cx='33.4' cy='213.1' r='0.97' fill='%236f96c8' opacity='0.65'/%3E%3Ccircle cx='104.1' cy='278.9' r='1.51' fill='%236f96c8' opacity='0.36'/%3E%3Ccircle cx='64.3' cy='104.9' r='1.59' fill='%236f96c8' opacity='0.82'/%3E%3Ccircle cx='108.5' cy='68.2' r='1.31' fill='%236f96c8' opacity='0.85'/%3E%3Ccircle cx='298.3' cy='110.0' r='1.49' fill='%236f96c8' opacity='0.76'/%3E%3Ccircle cx='155.0' cy='-4.6' r='0.91' fill='%236f96c8' opacity='0.79'/%3E%3Ccircle cx='155.0' cy='315.4' r='0.91' fill='%236f96c8' opacity='0.79'/%3E%3Ccircle cx='27.1' cy='54.3' r='1.52' fill='%236f96c8' opacity='0.48'/%3E%3Ccircle cx='242.9' cy='192.1' r='1.46' fill='%236f96c8' opacity='0.57'/%3E%3Ccircle cx='108.9' cy='93.2' r='1.48' fill='%236f96c8' opacity='0.71'/%3E%3Ccircle cx='305.4' cy='283.9' r='0.82' fill='%236f96c8' opacity='0.68'/%3E%3Ccircle cx='33.4' cy='12.5' r='0.77' fill='%236f96c8' opacity='0.87'/%3E%3Ccircle cx='252.2' cy='265.1' r='1.01' fill='%236f96c8' opacity='0.72'/%3E%3Ccircle cx='250.2' cy='121.0' r='1.21' fill='%236f96c8' opacity='0.48'/%3E%3Ccircle cx='26.2' cy='85.4' r='1.50' fill='%236f96c8' opacity='0.69'/%3E%3Ccircle cx='296.0' cy='146.5' r='0.95' fill='%236f96c8' opacity='0.82'/%3E%3Ccircle cx='264.9' cy='4.0' r='1.30' fill='%236f96c8' opacity='0.41'/%3E%3Ccircle cx='264.9' cy='324.0' r='1.30' fill='%236f96c8' opacity='0.41'/%3E%3Ccircle cx='36.8' cy='283.2' r='0.74' fill='%236f96c8' opacity='0.49'/%3E%3Ccircle cx='-3.8' cy='134.7' r='0.80' fill='%236f96c8' opacity='0.45'/%3E%3Ccircle cx='316.2' cy='134.7' r='0.80' fill='%236f96c8' opacity='0.45'/%3E%3Ccircle cx='77.3' cy='238.1' r='0.79' fill='%236f96c8' opacity='0.90'/%3E%3Ccircle cx='121.0' cy='310.5' r='1.52' fill='%236f96c8' opacity='0.53'/%3E%3Ccircle cx='81.1' cy='152.6' r='0.79' fill='%236f96c8' opacity='0.74'/%3E%3C/svg%3E") 0 0 / 320px 320px repeat;
  --w-far-dx: -320px; --w-far-dy: 960px; --w-far-o: .6;
  --w-far-anim: am-w-drift 46s linear infinite;
  --w-near: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='560' height='560' viewBox='0 0 560 560'%3E%3Cdefs%3E%3CradialGradient id='p'%3E%3Cstop offset='0' stop-color='%236f96c8'/%3E%3Cstop offset='.45' stop-color='%236f96c8' stop-opacity='.75'/%3E%3Cstop offset='1' stop-color='%236f96c8' stop-opacity='0'/%3E%3C/radialGradient%3E%3C/defs%3E%3Ccircle cx='535.4' cy='530.8' r='4.06' fill='url(%23p)' opacity='0.40'/%3E%3Ccircle cx='467.9' cy='412.1' r='6.41' fill='url(%23p)' opacity='0.53'/%3E%3Ccircle cx='339.3' cy='339.8' r='6.07' fill='url(%23p)' opacity='0.45'/%3E%3Ccircle cx='241.2' cy='220.4' r='6.62' fill='url(%23p)' opacity='0.95'/%3E%3Ccircle cx='531.7' cy='304.7' r='5.55' fill='url(%23p)' opacity='0.51'/%3E%3Ccircle cx='20.1' cy='15.4' r='5.63' fill='url(%23p)' opacity='0.54'/%3E%3Ccircle cx='212.8' cy='499.4' r='5.86' fill='url(%23p)' opacity='0.69'/%3E%3Ccircle cx='132.2' cy='13.4' r='5.09' fill='url(%23p)' opacity='0.43'/%3E%3Ccircle cx='285.7' cy='-0.7' r='6.43' fill='url(%23p)' opacity='0.46'/%3E%3Ccircle cx='285.7' cy='559.3' r='6.43' fill='url(%23p)' opacity='0.46'/%3E%3Ccircle cx='500.4' cy='446.2' r='6.66' fill='url(%23p)' opacity='0.89'/%3E%3Ccircle cx='427.2' cy='442.3' r='5.20' fill='url(%23p)' opacity='0.94'/%3E%3Ccircle cx='538.7' cy='90.3' r='6.74' fill='url(%23p)' opacity='0.78'/%3E%3Ccircle cx='258.4' cy='297.0' r='5.72' fill='url(%23p)' opacity='0.90'/%3E%3Ccircle cx='280.5' cy='465.7' r='5.20' fill='url(%23p)' opacity='0.88'/%3E%3Ccircle cx='503.8' cy='258.2' r='6.02' fill='url(%23p)' opacity='0.90'/%3E%3Ccircle cx='405.3' cy='272.5' r='4.69' fill='url(%23p)' opacity='0.54'/%3E%3Ccircle cx='391.8' cy='93.0' r='7.33' fill='url(%23p)' opacity='0.51'/%3E%3Ccircle cx='510.4' cy='173.4' r='7.52' fill='url(%23p)' opacity='0.77'/%3E%3Ccircle cx='282.4' cy='289.9' r='6.34' fill='url(%23p)' opacity='0.70'/%3E%3Ccircle cx='174.6' cy='116.4' r='5.81' fill='url(%23p)' opacity='0.91'/%3E%3Ccircle cx='349.0' cy='42.2' r='6.99' fill='url(%23p)' opacity='0.79'/%3E%3Ccircle cx='508.3' cy='107.2' r='6.70' fill='url(%23p)' opacity='0.39'/%3E%3Ccircle cx='365.6' cy='152.9' r='4.71' fill='url(%23p)' opacity='0.88'/%3E%3Ccircle cx='59.5' cy='292.5' r='7.12' fill='url(%23p)' opacity='0.50'/%3E%3Ccircle cx='117.9' cy='493.1' r='5.46' fill='url(%23p)' opacity='0.78'/%3E%3Ccircle cx='17.8' cy='202.9' r='4.50' fill='url(%23p)' opacity='0.75'/%3E%3Ccircle cx='46.4' cy='534.6' r='3.94' fill='url(%23p)' opacity='0.79'/%3E%3Ccircle cx='11.8' cy='143.2' r='6.96' fill='url(%23p)' opacity='0.44'/%3E%3Ccircle cx='102.9' cy='387.2' r='5.32' fill='url(%23p)' opacity='0.38'/%3E%3Ccircle cx='-5.6' cy='84.8' r='3.98' fill='url(%23p)' opacity='0.56'/%3E%3Ccircle cx='554.4' cy='84.8' r='3.98' fill='url(%23p)' opacity='0.56'/%3E%3Ccircle cx='344.5' cy='415.8' r='4.27' fill='url(%23p)' opacity='0.55'/%3E%3Ccircle cx='17.3' cy='251.2' r='6.78' fill='url(%23p)' opacity='0.79'/%3E%3Ccircle cx='505.1' cy='423.2' r='7.15' fill='url(%23p)' opacity='0.77'/%3E%3Ccircle cx='264.8' cy='126.3' r='6.38' fill='url(%23p)' opacity='0.54'/%3E%3Cg transform='translate(73.1 252.9)' stroke='%236f96c8' stroke-width='1.1' stroke-linecap='round' fill='none' opacity='0.5946377626165757'%3E%3Cpath d='M0 0V-11.37M0 -5.56l-2.92 -2.19M0 -5.56l2.92 -2.19M0 -7.99l-1.95 -1.46M0 -7.99l1.95 -1.46' transform='rotate(0)'/%3E%3Cpath d='M0 0V-11.37M0 -5.56l-2.92 -2.19M0 -5.56l2.92 -2.19M0 -7.99l-1.95 -1.46M0 -7.99l1.95 -1.46' transform='rotate(60)'/%3E%3Cpath d='M0 0V-11.37M0 -5.56l-2.92 -2.19M0 -5.56l2.92 -2.19M0 -7.99l-1.95 -1.46M0 -7.99l1.95 -1.46' transform='rotate(120)'/%3E%3Cpath d='M0 0V-11.37M0 -5.56l-2.92 -2.19M0 -5.56l2.92 -2.19M0 -7.99l-1.95 -1.46M0 -7.99l1.95 -1.46' transform='rotate(180)'/%3E%3Cpath d='M0 0V-11.37M0 -5.56l-2.92 -2.19M0 -5.56l2.92 -2.19M0 -7.99l-1.95 -1.46M0 -7.99l1.95 -1.46' transform='rotate(240)'/%3E%3Cpath d='M0 0V-11.37M0 -5.56l-2.92 -2.19M0 -5.56l2.92 -2.19M0 -7.99l-1.95 -1.46M0 -7.99l1.95 -1.46' transform='rotate(300)'/%3E%3Ccircle r='1.36' fill='%236f96c8' stroke='none'/%3E%3C/g%3E%3Cg transform='translate(324.2 224.3)' stroke='%236f96c8' stroke-width='1.1' stroke-linecap='round' fill='none' opacity='0.6003403123919304'%3E%3Cpath d='M0 0V-9.57M0 -3.83l-2.38 -1.79M0 -3.83l2.38 -1.79M0 -6.73l-1.45 -1.08M0 -6.73l1.45 -1.08' transform='rotate(0)'/%3E%3Cpath d='M0 0V-9.57M0 -3.83l-2.38 -1.79M0 -3.83l2.38 -1.79M0 -6.73l-1.45 -1.08M0 -6.73l1.45 -1.08' transform='rotate(60)'/%3E%3Cpath d='M0 0V-9.57M0 -3.83l-2.38 -1.79M0 -3.83l2.38 -1.79M0 -6.73l-1.45 -1.08M0 -6.73l1.45 -1.08' transform='rotate(120)'/%3E%3Cpath d='M0 0V-9.57M0 -3.83l-2.38 -1.79M0 -3.83l2.38 -1.79M0 -6.73l-1.45 -1.08M0 -6.73l1.45 -1.08' transform='rotate(180)'/%3E%3Cpath d='M0 0V-9.57M0 -3.83l-2.38 -1.79M0 -3.83l2.38 -1.79M0 -6.73l-1.45 -1.08M0 -6.73l1.45 -1.08' transform='rotate(240)'/%3E%3Cpath d='M0 0V-9.57M0 -3.83l-2.38 -1.79M0 -3.83l2.38 -1.79M0 -6.73l-1.45 -1.08M0 -6.73l1.45 -1.08' transform='rotate(300)'/%3E%3Ccircle r='1.15' fill='%236f96c8' stroke='none'/%3E%3C/g%3E%3Cg transform='translate(519.1 154.7)' stroke='%236f96c8' stroke-width='1.1' stroke-linecap='round' fill='none' opacity='0.6969144409795114'%3E%3Cpath d='M0 0V-10.03M0 -4.96l-2.10 -1.58M0 -4.96l2.10 -1.58M0 -6.39l-1.76 -1.32M0 -6.39l1.76 -1.32' transform='rotate(0)'/%3E%3Cpath d='M0 0V-10.03M0 -4.96l-2.10 -1.58M0 -4.96l2.10 -1.58M0 -6.39l-1.76 -1.32M0 -6.39l1.76 -1.32' transform='rotate(60)'/%3E%3Cpath d='M0 0V-10.03M0 -4.96l-2.10 -1.58M0 -4.96l2.10 -1.58M0 -6.39l-1.76 -1.32M0 -6.39l1.76 -1.32' transform='rotate(120)'/%3E%3Cpath d='M0 0V-10.03M0 -4.96l-2.10 -1.58M0 -4.96l2.10 -1.58M0 -6.39l-1.76 -1.32M0 -6.39l1.76 -1.32' transform='rotate(180)'/%3E%3Cpath d='M0 0V-10.03M0 -4.96l-2.10 -1.58M0 -4.96l2.10 -1.58M0 -6.39l-1.76 -1.32M0 -6.39l1.76 -1.32' transform='rotate(240)'/%3E%3Cpath d='M0 0V-10.03M0 -4.96l-2.10 -1.58M0 -4.96l2.10 -1.58M0 -6.39l-1.76 -1.32M0 -6.39l1.76 -1.32' transform='rotate(300)'/%3E%3Ccircle r='1.20' fill='%236f96c8' stroke='none'/%3E%3C/g%3E%3Cg transform='translate(29.4 310.1)' stroke='%236f96c8' stroke-width='1.1' stroke-linecap='round' fill='none' opacity='0.5698733485381188'%3E%3Cpath d='M0 0V-7.70M0 -3.78l-2.04 -1.53M0 -3.78l2.04 -1.53M0 -5.65l-1.02 -0.76M0 -5.65l1.02 -0.76' transform='rotate(0)'/%3E%3Cpath d='M0 0V-7.70M0 -3.78l-2.04 -1.53M0 -3.78l2.04 -1.53M0 -5.65l-1.02 -0.76M0 -5.65l1.02 -0.76' transform='rotate(60)'/%3E%3Cpath d='M0 0V-7.70M0 -3.78l-2.04 -1.53M0 -3.78l2.04 -1.53M0 -5.65l-1.02 -0.76M0 -5.65l1.02 -0.76' transform='rotate(120)'/%3E%3Cpath d='M0 0V-7.70M0 -3.78l-2.04 -1.53M0 -3.78l2.04 -1.53M0 -5.65l-1.02 -0.76M0 -5.65l1.02 -0.76' transform='rotate(180)'/%3E%3Cpath d='M0 0V-7.70M0 -3.78l-2.04 -1.53M0 -3.78l2.04 -1.53M0 -5.65l-1.02 -0.76M0 -5.65l1.02 -0.76' transform='rotate(240)'/%3E%3Cpath d='M0 0V-7.70M0 -3.78l-2.04 -1.53M0 -3.78l2.04 -1.53M0 -5.65l-1.02 -0.76M0 -5.65l1.02 -0.76' transform='rotate(300)'/%3E%3Ccircle r='0.92' fill='%236f96c8' stroke='none'/%3E%3C/g%3E%3Cg transform='translate(37.4 103.8)' stroke='%236f96c8' stroke-width='1.1' stroke-linecap='round' fill='none' opacity='0.7722764941385334'%3E%3Cpath d='M0 0V-7.48M0 -3.48l-1.64 -1.23M0 -3.48l1.64 -1.23M0 -5.39l-1.32 -0.99M0 -5.39l1.32 -0.99' transform='rotate(0)'/%3E%3Cpath d='M0 0V-7.48M0 -3.48l-1.64 -1.23M0 -3.48l1.64 -1.23M0 -5.39l-1.32 -0.99M0 -5.39l1.32 -0.99' transform='rotate(60)'/%3E%3Cpath d='M0 0V-7.48M0 -3.48l-1.64 -1.23M0 -3.48l1.64 -1.23M0 -5.39l-1.32 -0.99M0 -5.39l1.32 -0.99' transform='rotate(120)'/%3E%3Cpath d='M0 0V-7.48M0 -3.48l-1.64 -1.23M0 -3.48l1.64 -1.23M0 -5.39l-1.32 -0.99M0 -5.39l1.32 -0.99' transform='rotate(180)'/%3E%3Cpath d='M0 0V-7.48M0 -3.48l-1.64 -1.23M0 -3.48l1.64 -1.23M0 -5.39l-1.32 -0.99M0 -5.39l1.32 -0.99' transform='rotate(240)'/%3E%3Cpath d='M0 0V-7.48M0 -3.48l-1.64 -1.23M0 -3.48l1.64 -1.23M0 -5.39l-1.32 -0.99M0 -5.39l1.32 -0.99' transform='rotate(300)'/%3E%3Ccircle r='0.90' fill='%236f96c8' stroke='none'/%3E%3C/g%3E%3C/svg%3E") 0 0 / 560px 560px repeat;
  --w-near-dx: -560px; --w-near-dy: 1120px; --w-near-o: .5;
  --w-near-anim: am-w-drift 28s linear infinite;
  /* Сосульки — только у главной карточки экрана (--w-hero-orn). Снимки с телефона 15.09:
     когда они висели на каждой карточке, пять рядов сосулек на экране читались как рябь,
     и деталь переставала быть деталью. Остальным карточкам — иней в углу. */
  --w-card-orn: none;
  --w-hero-orn:
    linear-gradient(90deg, transparent, rgba(31, 107, 255, .35), transparent) 0 0 / 100% 1px no-repeat padding-box;
  --w-flake: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cdefs%3E%3C/defs%3E%3Cg transform='translate(8.0 8.0)' stroke='%232f6bc4' stroke-width='1.2' stroke-linecap='round' fill='none' opacity='1.0'%3E%3Cpath d='M0 0V-7.00M0 -3.18l-1.81 -1.36M0 -3.18l1.81 -1.36M0 -4.96l-1.21 -0.91M0 -4.96l1.21 -0.91' transform='rotate(0)'/%3E%3Cpath d='M0 0V-7.00M0 -3.18l-1.81 -1.36M0 -3.18l1.81 -1.36M0 -4.96l-1.21 -0.91M0 -4.96l1.21 -0.91' transform='rotate(60)'/%3E%3Cpath d='M0 0V-7.00M0 -3.18l-1.81 -1.36M0 -3.18l1.81 -1.36M0 -4.96l-1.21 -0.91M0 -4.96l1.21 -0.91' transform='rotate(120)'/%3E%3Cpath d='M0 0V-7.00M0 -3.18l-1.81 -1.36M0 -3.18l1.81 -1.36M0 -4.96l-1.21 -0.91M0 -4.96l1.21 -0.91' transform='rotate(180)'/%3E%3Cpath d='M0 0V-7.00M0 -3.18l-1.81 -1.36M0 -3.18l1.81 -1.36M0 -4.96l-1.21 -0.91M0 -4.96l1.21 -0.91' transform='rotate(240)'/%3E%3Cpath d='M0 0V-7.00M0 -3.18l-1.81 -1.36M0 -3.18l1.81 -1.36M0 -4.96l-1.21 -0.91M0 -4.96l1.21 -0.91' transform='rotate(300)'/%3E%3Ccircle r='0.84' fill='%232f6bc4' stroke='none'/%3E%3C/g%3E%3C/svg%3E");
  /* Заголовки: синие чернила по бумаге. Прежний бело-голубой перелив на белом фоне
     пропадал целиком — это и был «текст сверху тёмно-синий» в жалобе владельца. */
  --aurora-text: linear-gradient(90deg, #0b1c35 0%, #10407f 28%, #1f6bff 50%, #10407f 72%, #0b1c35 100%);
  /* На тёмной карте участника чернила не видны — там перелив остаётся светлым. */
  --aurora-on-dark: linear-gradient(90deg, #ffffff 0%, #cfe8ff 30%, #7fb6ff 50%, #cfe8ff 70%, #ffffff 100%);
}
/* Метель в углу: старая декорация рынка уступает зиме — её слои приглушены, контейнер
   открыт, чтобы вихрь был виден. */
.app[data-look="level"][data-tier="2"] .market-atmosphere:not(#am-w) { opacity: 1 !important; z-index: -1 !important; }
.app[data-look="level"][data-tier="2"] :is(.market-orbit, .market-hud, .market-code, .market-beacon, .market-canvas):not(#am-w) { opacity: .07 !important; }

/* ── ОТС 500 · ПОЛЯРНАЯ НОЧЬ ─────────────────────────────────────────────────
   Та же зима ОТС, но глубже: над столом ночь и северное сияние, звёзды, редкий снег.
   Отличие от ОТС 250 в сюжете, а не в оттенке: там день и метель, здесь ночь и свет. */
.app[data-look="level"][data-tier="3"] {
  --e-motif:
    url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='420' height='420' viewBox='0 0 420 420'%3E%3Cdefs%3E%3CradialGradient id='m' cx='0' cy='0' r='1' gradientUnits='objectBoundingBox'%3E%3Cstop offset='0' stop-color='%23fff'/%3E%3Cstop offset='.85' stop-color='%23fff' stop-opacity='0'/%3E%3C/radialGradient%3E%3Cmask id='k'%3E%3Crect width='420' height='420' fill='url(%23m)'/%3E%3C/mask%3E%3C/defs%3E%3Cg transform='rotate(90 210.0 210.0)'%3E%3Cg mask='url(%23k)' stroke='%23e6f4ff' stroke-linecap='round'%3E%3Cpath d='M0 0L304 26' stroke-opacity='0.61' stroke-width='1.2'/%3E%3Cpath d='M76 6L148 -96' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M94 -19L69 -65' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M94 -19L146 -18' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M112 -45L97 -76' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M112 -45L147 -46' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M130 -71L124 -87' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M130 -71L147 -71' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M76 6L126 122' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M88 35L140 43' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M88 35L63 80' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M101 64L135 69' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M101 64L79 91' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M114 93L131 94' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M114 93L105 108' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M152 13L195 -59' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M163 -5L146 -36' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M163 -5L197 -8' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M173 -23L164 -44' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M173 -23L197 -23' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M184 -41L179 -51' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M184 -41L196 -42' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M152 13L189 88' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M161 32L196 36' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M161 32L145 62' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M171 50L193 53' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M171 50L159 70' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M180 69L191 71' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M180 69L175 79' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M228 19L253 -14' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M234 11L227 -5' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M234 11L251 13' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M241 3L236 -8' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M241 3L252 5' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M247 -6L244 -11' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M247 -6L253 -4' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M228 19L247 57' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M233 29L250 32' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M233 29L222 43' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M237 38L249 39' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M237 38L231 48' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M242 47L248 47' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M242 47L239 52' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M0 0L290 161' stroke-opacity='0.61' stroke-width='1.2'/%3E%3Cpath d='M73 40L196 -18' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M104 26L107 -31' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M104 26L152 54' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M134 11L139 -26' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M134 11L164 34' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M165 -3L168 -22' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M165 -3L182 5' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M73 40L73 177' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M73 74L120 105' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M73 74L23 102' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M73 109L104 129' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M73 109L41 130' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M73 143L88 153' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M73 143L56 152' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M145 80L226 39' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M165 70L166 32' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M165 70L198 89' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M186 59L190 35' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M186 59L208 70' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M206 49L206 37' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M206 49L217 55' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M145 80L146 172' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M145 103L178 122' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M145 103L115 126' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M146 126L166 140' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M146 126L125 140' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M146 149L157 155' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M146 149L135 154' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M218 120L258 99' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M228 115L228 96' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M228 115L244 125' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M238 109L239 97' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M238 109L249 115' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M248 104L249 98' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M248 104L253 107' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M218 120L225 166' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M219 132L237 138' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M219 132L206 145' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M221 143L232 149' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M221 143L211 151' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M223 154L229 156' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M223 154L218 158' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M0 0L131 194' stroke-opacity='0.61' stroke-width='1.2'/%3E%3Cpath d='M33 48L129 55' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M57 50L83 20' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M57 50L77 85' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M81 52L95 29' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M81 52L91 76' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M105 53L112 42' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M105 53L111 65' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M33 48L-11 135' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M22 70L41 105' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M22 70L-18 72' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M11 91L25 114' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M11 91L-16 93' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M-0 113L7 124' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M-0 113L-13 114' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M66 97L130 91' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M82 95L91 71' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M82 95L97 117' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M98 94L106 78' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M98 94L110 107' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M114 92L117 84' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M114 92L119 99' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M66 97L42 157' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M60 112L77 132' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M60 112L33 115' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M54 127L65 140' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M54 127L36 128' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M48 142L53 149' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M48 142L39 142' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M98 145L130 143' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M106 145L113 133' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M106 145L114 155' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M114 144L119 137' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M114 144L119 151' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M122 144L124 140' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M122 144L125 147' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M98 145L87 176' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M96 153L103 164' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M96 153L82 154' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M93 161L98 168' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M93 161L84 163' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M90 168L93 171' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M90 168L86 169' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M0 0L75 303' stroke-opacity='0.61' stroke-width='1.2'/%3E%3Cpath d='M19 76L138 125' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M49 88L95 61' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M49 88L60 140' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M78 100L106 78' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M78 100L87 135' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M108 113L121 101' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M108 113L110 130' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M19 76L-77 162' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M-5 97L8 149' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M-5 97L-56 83' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M-29 119L-24 154' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M-29 119L-63 109' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M-53 141L-50 158' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M-53 141L-70 137' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M38 152L117 184' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M58 160L85 138' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M58 160L67 194' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M77 168L97 155' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M77 168L83 191' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M97 176L107 169' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M97 176L100 187' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M38 152L-19 216' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M23 168L30 202' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M23 168L-11 159' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M9 184L14 207' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M9 184L-14 180' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M-5 200L-3 211' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M-5 200L-17 199' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M57 227L96 243' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M67 231L82 222' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M67 231L70 249' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M76 235L87 229' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M76 235L79 247' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M86 239L91 236' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M86 239L87 245' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M57 227L25 256' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M49 235L53 252' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M49 235L31 230' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M41 242L44 253' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M41 242L29 240' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M33 249L34 255' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M33 249L27 248' stroke-opacity='0.37' stroke-width='0.7'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E") right top / min(70vw, 560px) auto no-repeat,
    url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='420' height='420' viewBox='0 0 420 420'%3E%3Cdefs%3E%3CradialGradient id='m' cx='0' cy='0' r='1' gradientUnits='objectBoundingBox'%3E%3Cstop offset='0' stop-color='%23fff'/%3E%3Cstop offset='.85' stop-color='%23fff' stop-opacity='0'/%3E%3C/radialGradient%3E%3Cmask id='k'%3E%3Crect width='420' height='420' fill='url(%23m)'/%3E%3C/mask%3E%3C/defs%3E%3Cg transform='rotate(270 210.0 210.0)'%3E%3Cg mask='url(%23k)' stroke='%23e6f4ff' stroke-linecap='round'%3E%3Cpath d='M0 0L324 65' stroke-opacity='0.61' stroke-width='1.2'/%3E%3Cpath d='M81 16L166 -90' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M102 -10L88 -65' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M102 -10L158 -7' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M124 -37L110 -72' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M124 -37L160 -29' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M145 -63L140 -82' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M145 -63L164 -63' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M81 16L135 142' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M95 48L150 55' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M95 48L62 94' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M108 79L145 84' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M108 79L87 110' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M121 110L140 113' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M121 110L112 127' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M162 33L224 -34' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M178 16L170 -21' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M178 16L215 22' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M193 -1L185 -24' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M193 -1L218 5' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M209 -17L206 -29' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M209 -17L221 -15' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M162 33L187 120' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M168 54L204 67' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M168 54L143 83' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M175 76L198 85' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M175 76L159 96' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M181 98L193 102' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M181 98L173 108' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M243 49L274 16' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M251 41L246 23' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M251 41L269 42' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M258 32L255 20' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M258 32L271 34' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M266 24L264 18' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M266 24L272 25' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M243 49L261 91' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M247 59L266 62' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M247 59L235 74' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M252 70L264 71' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M252 70L245 81' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M256 80L262 82' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M256 80L253 85' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M0 0L249 167' stroke-opacity='0.61' stroke-width='1.2'/%3E%3Cpath d='M62 42L176 -7' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M91 30L103 -20' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M91 30L130 63' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M119 17L127 -16' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M119 17L149 35' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M148 5L151 -12' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M148 5L161 16' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M62 42L67 166' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M64 73L109 96' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M64 73L20 99' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M65 104L95 121' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M65 104L36 122' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M66 135L81 143' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M66 135L52 144' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M125 84L200 50' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M144 75L145 41' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M144 75L171 96' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M162 67L163 44' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M162 67L181 80' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M181 58L182 47' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M181 58L191 64' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M125 84L123 166' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M124 104L151 125' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M124 104L94 120' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M124 125L144 136' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M124 125L104 137' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M123 146L132 152' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M123 146L114 152' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M187 125L223 105' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M196 120L198 104' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M196 120L211 129' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M205 115L206 104' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M205 115L215 122' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M214 110L215 105' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M214 110L219 113' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M187 125L189 167' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M188 136L203 144' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M188 136L174 147' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M188 146L197 153' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M188 146L178 152' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M188 156L194 159' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M188 156L183 159' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M0 0L182 263' stroke-opacity='0.61' stroke-width='1.2'/%3E%3Cpath d='M46 66L177 61' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M79 65L108 19' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M79 65L113 107' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M112 64L132 33' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M112 64L135 91' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M145 62L154 47' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M145 62L153 78' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M46 66L-13 184' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M31 95L55 144' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M31 95L-23 104' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M16 125L33 157' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M16 125L-19 132' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M2 155L10 171' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M2 155L-16 156' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M91 132L179 122' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M113 129L126 95' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M113 129L137 156' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M135 127L144 105' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M135 127L151 145' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M157 124L161 113' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M157 124L164 134' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M91 132L62 215' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M84 152L109 179' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M84 152L49 163' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M77 173L92 192' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M77 173L53 179' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M69 194L77 204' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M69 194L58 198' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M137 197L181 200' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M148 198L157 183' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M148 198L157 213' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M159 198L166 189' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M159 198L164 209' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M170 199L173 194' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M170 199L173 204' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M137 197L123 239' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M133 208L145 222' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M133 208L116 213' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M130 218L137 228' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M130 218L118 221' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M127 229L131 233' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M127 229L121 231' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M0 0L75 299' stroke-opacity='0.61' stroke-width='1.2'/%3E%3Cpath d='M19 75L142 104' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M50 82L86 44' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M50 82L68 131' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M81 90L104 63' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M81 90L91 123' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M112 97L124 85' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M112 97L117 114' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M19 75L-70 166' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M-3 98L8 149' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M-3 98L-55 92' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M-25 121L-18 155' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M-25 121L-59 111' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M-47 143L-45 161' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M-47 143L-64 139' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M38 150L116 182' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M57 158L86 138' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M57 158L67 191' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M77 166L94 150' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M77 166L82 188' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M96 174L106 167' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M96 174L97 185' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M38 150L-20 212' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M23 165L30 199' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M23 165L-11 157' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M9 181L14 203' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M9 181L-14 176' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M-6 196L-2 207' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M-6 196L-17 194' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M56 224L96 239' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M66 228L80 217' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M66 228L71 245' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M76 231L86 225' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M76 231L78 243' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M86 235L90 231' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M86 235L88 241' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M56 224L29 256' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M49 232L53 249' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M49 232L32 229' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M42 240L46 251' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M42 240L31 238' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M35 248L37 254' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M35 248L30 247' stroke-opacity='0.37' stroke-width='0.7'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E") left bottom / min(70vw, 560px) auto no-repeat,
    url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='520' height='520' viewBox='0 0 520 520'%3E%3Cdefs%3E%3C/defs%3E%3Ccircle cx='198' cy='120' r='0.6' fill='%23e9fbff' opacity='0.79'/%3E%3Ccircle cx='201' cy='466' r='0.8' fill='%23e9fbff' opacity='0.58'/%3E%3Ccircle cx='199' cy='380' r='1.3' fill='%23e9fbff' opacity='0.26'/%3E%3Ccircle cx='130' cy='519' r='0.5' fill='%23e9fbff' opacity='0.51'/%3E%3Ccircle cx='81' cy='78' r='0.8' fill='%23e9fbff' opacity='0.35'/%3E%3Ccircle cx='340' cy='323' r='0.5' fill='%23e9fbff' opacity='0.32'/%3E%3Ccircle cx='306' cy='225' r='0.8' fill='%23e9fbff' opacity='0.75'/%3E%3Ccircle cx='112' cy='378' r='1.0' fill='%23e9fbff' opacity='0.33'/%3E%3Ccircle cx='348' cy='64' r='0.6' fill='%23e9fbff' opacity='0.66'/%3E%3Ccircle cx='510' cy='28' r='0.8' fill='%23e9fbff' opacity='0.39'/%3E%3Ccircle cx='14' cy='300' r='1.0' fill='%23e9fbff' opacity='0.78'/%3E%3Ccircle cx='440' cy='157' r='0.6' fill='%23e9fbff' opacity='0.31'/%3E%3Ccircle cx='49' cy='11' r='1.0' fill='%23e9fbff' opacity='0.77'/%3E%3Ccircle cx='120' cy='45' r='0.5' fill='%23e9fbff' opacity='0.53'/%3E%3Ccircle cx='379' cy='221' r='0.8' fill='%23e9fbff' opacity='0.57'/%3E%3Ccircle cx='458' cy='341' r='0.8' fill='%23e9fbff' opacity='0.36'/%3E%3Ccircle cx='420' cy='372' r='0.5' fill='%23e9fbff' opacity='0.84'/%3E%3Ccircle cx='367' cy='465' r='1.0' fill='%23e9fbff' opacity='0.64'/%3E%3Ccircle cx='390' cy='317' r='1.0' fill='%23e9fbff' opacity='0.61'/%3E%3Ccircle cx='52' cy='492' r='0.6' fill='%23e9fbff' opacity='0.51'/%3E%3Ccircle cx='381' cy='354' r='1.0' fill='%23e9fbff' opacity='0.72'/%3E%3Ccircle cx='43' cy='348' r='1.3' fill='%23e9fbff' opacity='0.38'/%3E%3Ccircle cx='357' cy='144' r='0.8' fill='%23e9fbff' opacity='0.73'/%3E%3Ccircle cx='324' cy='410' r='0.8' fill='%23e9fbff' opacity='0.70'/%3E%3Ccircle cx='381' cy='111' r='0.6' fill='%23e9fbff' opacity='0.38'/%3E%3Ccircle cx='117' cy='244' r='0.6' fill='%23e9fbff' opacity='0.29'/%3E%3Ccircle cx='123' cy='295' r='0.6' fill='%23e9fbff' opacity='0.55'/%3E%3Ccircle cx='63' cy='200' r='0.5' fill='%23e9fbff' opacity='0.74'/%3E%3Ccircle cx='233' cy='385' r='0.6' fill='%23e9fbff' opacity='0.58'/%3E%3Ccircle cx='259' cy='505' r='0.8' fill='%23e9fbff' opacity='0.74'/%3E%3Ccircle cx='16' cy='307' r='0.6' fill='%23e9fbff' opacity='0.63'/%3E%3Ccircle cx='267' cy='338' r='0.6' fill='%23e9fbff' opacity='0.50'/%3E%3Ccircle cx='506' cy='500' r='0.5' fill='%23e9fbff' opacity='0.56'/%3E%3Ccircle cx='310' cy='183' r='1.0' fill='%23e9fbff' opacity='0.80'/%3E%3Ccircle cx='471' cy='160' r='0.6' fill='%23e9fbff' opacity='0.41'/%3E%3Ccircle cx='197' cy='120' r='0.5' fill='%23e9fbff' opacity='0.77'/%3E%3Ccircle cx='145' cy='305' r='0.8' fill='%23e9fbff' opacity='0.49'/%3E%3Ccircle cx='256' cy='442' r='0.5' fill='%23e9fbff' opacity='0.55'/%3E%3Ccircle cx='309' cy='121' r='0.6' fill='%23e9fbff' opacity='0.79'/%3E%3Ccircle cx='152' cy='128' r='1.0' fill='%23e9fbff' opacity='0.81'/%3E%3Ccircle cx='430' cy='28' r='1.3' fill='%23e9fbff' opacity='0.27'/%3E%3Ccircle cx='395' cy='102' r='1.0' fill='%23e9fbff' opacity='0.44'/%3E%3Ccircle cx='191' cy='90' r='0.5' fill='%23e9fbff' opacity='0.38'/%3E%3Ccircle cx='454' cy='267' r='0.6' fill='%23e9fbff' opacity='0.27'/%3E%3Ccircle cx='307' cy='195' r='0.6' fill='%23e9fbff' opacity='0.74'/%3E%3Ccircle cx='141' cy='12' r='1.3' fill='%23e9fbff' opacity='0.69'/%3E%3Ccircle cx='201' cy='97' r='1.3' fill='%23e9fbff' opacity='0.45'/%3E%3Ccircle cx='265' cy='96' r='0.5' fill='%23e9fbff' opacity='0.59'/%3E%3Ccircle cx='375' cy='99' r='0.6' fill='%23e9fbff' opacity='0.42'/%3E%3Ccircle cx='45' cy='343' r='1.0' fill='%23e9fbff' opacity='0.26'/%3E%3Ccircle cx='161' cy='158' r='0.5' fill='%23e9fbff' opacity='0.58'/%3E%3Ccircle cx='464' cy='166' r='1.0' fill='%23e9fbff' opacity='0.70'/%3E%3Ccircle cx='194' cy='413' r='0.5' fill='%23e9fbff' opacity='0.29'/%3E%3Ccircle cx='202' cy='83' r='1.0' fill='%23e9fbff' opacity='0.35'/%3E%3Ccircle cx='83' cy='46' r='0.5' fill='%23e9fbff' opacity='0.44'/%3E%3Ccircle cx='470' cy='163' r='0.5' fill='%23e9fbff' opacity='0.37'/%3E%3Ccircle cx='469' cy='506' r='0.5' fill='%23e9fbff' opacity='0.79'/%3E%3Ccircle cx='475' cy='501' r='0.8' fill='%23e9fbff' opacity='0.57'/%3E%3Ccircle cx='486' cy='142' r='0.6' fill='%23e9fbff' opacity='0.70'/%3E%3Ccircle cx='454' cy='401' r='1.0' fill='%23e9fbff' opacity='0.54'/%3E%3Ccircle cx='131' cy='357' r='1.3' fill='%23e9fbff' opacity='0.67'/%3E%3Ccircle cx='298' cy='84' r='0.6' fill='%23e9fbff' opacity='0.73'/%3E%3Ccircle cx='13' cy='143' r='0.5' fill='%23e9fbff' opacity='0.37'/%3E%3Ccircle cx='346' cy='146' r='0.8' fill='%23e9fbff' opacity='0.81'/%3E%3Ccircle cx='152' cy='149' r='0.5' fill='%23e9fbff' opacity='0.76'/%3E%3Ccircle cx='517' cy='159' r='1.0' fill='%23e9fbff' opacity='0.78'/%3E%3Ccircle cx='285' cy='374' r='0.8' fill='%23e9fbff' opacity='0.64'/%3E%3Ccircle cx='122' cy='483' r='1.0' fill='%23e9fbff' opacity='0.61'/%3E%3Ccircle cx='346' cy='218' r='0.6' fill='%23e9fbff' opacity='0.27'/%3E%3Ccircle cx='105' cy='154' r='0.8' fill='%23e9fbff' opacity='0.26'/%3E%3Cpath d='M257.6556328096451 345.23601587338095L258.75563280964514 350.1360158733809L263.6556328096451 351.23601587338095L258.75563280964514 352.336015873381L257.6556328096451 357.23601587338095L256.5556328096451 352.336015873381L251.6556328096451 351.23601587338095L256.5556328096451 350.1360158733809z' fill='%23fff' opacity='.8'/%3E%3Cpath d='M264.75822651245096 283.39987169362587L265.858226512451 288.29987169362585L270.75822651245096 289.39987169362587L265.858226512451 290.4998716936259L264.75822651245096 295.39987169362587L263.65822651245094 290.4998716936259L258.75822651245096 289.39987169362587L263.65822651245094 288.29987169362585z' fill='%23fff' opacity='.8'/%3E%3Cpath d='M246.67052575536928 397.7418149302564L247.77052575536928 402.6418149302564L252.67052575536928 403.7418149302564L247.77052575536928 404.8418149302564L246.67052575536928 409.7418149302564L245.5705257553693 404.8418149302564L240.67052575536928 403.7418149302564L245.5705257553693 402.6418149302564z' fill='%23fff' opacity='.8'/%3E%3Cpath d='M42.93246858744357 419.84090731807345L44.032468587443574 424.7409073180734L48.93246858744357 425.84090731807345L44.032468587443574 426.94090731807347L42.93246858744357 431.84090731807345L41.83246858744357 426.94090731807347L36.93246858744357 425.84090731807345L41.83246858744357 424.7409073180734z' fill='%23fff' opacity='.8'/%3E%3C/svg%3E") 0 0 / 520px 520px repeat;
  --e-emblem: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%23e9fffd'/%3E%3Cstop offset='.6' stop-color='%2321ccd6'/%3E%3Cstop offset='1' stop-color='%2305444c'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cg transform='translate(20 20)'%3E%3Cpath d='M0 -17 L3.2 -7 L0 0 L-3.2 -7z' fill='url(%23g)' transform='rotate(0)'/%3E%3Cpath d='M0 -17 L3.2 -7 L0 0 L-3.2 -7z' fill='url(%23g)' transform='rotate(60)'/%3E%3Cpath d='M0 -17 L3.2 -7 L0 0 L-3.2 -7z' fill='url(%23g)' transform='rotate(120)'/%3E%3Cpath d='M0 -17 L3.2 -7 L0 0 L-3.2 -7z' fill='url(%23g)' transform='rotate(180)'/%3E%3Cpath d='M0 -17 L3.2 -7 L0 0 L-3.2 -7z' fill='url(%23g)' transform='rotate(240)'/%3E%3Cpath d='M0 -17 L3.2 -7 L0 0 L-3.2 -7z' fill='url(%23g)' transform='rotate(300)'/%3E%3C/g%3E%3Cg transform='translate(20.0 20.0)' stroke='%23ffffff' stroke-width='0.9' stroke-linecap='round' fill='none' opacity='0.85'%3E%3Cpath d='M0 0V-17.00M0 -8.09l-3.80 -2.85M0 -8.09l3.80 -2.85M0 -11.20l-2.85 -2.14M0 -11.20l2.85 -2.14' transform='rotate(0)'/%3E%3Cpath d='M0 0V-17.00M0 -8.09l-3.80 -2.85M0 -8.09l3.80 -2.85M0 -11.20l-2.85 -2.14M0 -11.20l2.85 -2.14' transform='rotate(60)'/%3E%3Cpath d='M0 0V-17.00M0 -8.09l-3.80 -2.85M0 -8.09l3.80 -2.85M0 -11.20l-2.85 -2.14M0 -11.20l2.85 -2.14' transform='rotate(120)'/%3E%3Cpath d='M0 0V-17.00M0 -8.09l-3.80 -2.85M0 -8.09l3.80 -2.85M0 -11.20l-2.85 -2.14M0 -11.20l2.85 -2.14' transform='rotate(180)'/%3E%3Cpath d='M0 0V-17.00M0 -8.09l-3.80 -2.85M0 -8.09l3.80 -2.85M0 -11.20l-2.85 -2.14M0 -11.20l2.85 -2.14' transform='rotate(240)'/%3E%3Cpath d='M0 0V-17.00M0 -8.09l-3.80 -2.85M0 -8.09l3.80 -2.85M0 -11.20l-2.85 -2.14M0 -11.20l2.85 -2.14' transform='rotate(300)'/%3E%3Ccircle r='2.04' fill='%23ffffff' stroke='none'/%3E%3C/g%3E%3C/svg%3E");
  --w-far: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1600' height='760' viewBox='0 0 1600 760'%3E%3Cdefs%3E%3Cfilter id='b' x='-5%' y='-30%' width='110%' height='160%'%3E%3CfeGaussianBlur stdDeviation='18'/%3E%3C/filter%3E%3Cfilter id='b2'%3E%3CfeGaussianBlur stdDeviation='9'/%3E%3C/filter%3E%3C/defs%3E%3Cg%3E%3ClinearGradient id='g2fffc1' x1='0' y1='1' x2='0' y2='0'%3E%3Cstop offset='0' stop-color='%232fffc1' stop-opacity='0.55'/%3E%3Cstop offset='.35' stop-color='%232fffc1' stop-opacity='0.30'/%3E%3Cstop offset='1' stop-color='%232fffc1' stop-opacity='0'/%3E%3C/linearGradient%3E%3Cpath d='M0 0 L40 26 L80 49 L120 66 L160 75 L200 77 L240 72 L280 62 L320 52 L360 43 L400 37 L440 34 L480 34 L520 34 L560 33 L600 28 L640 17 L680 1 L720 -20 L760 -43 L800 -65 L840 -82 L880 -93 L920 -95 L960 -89 L1000 -75 L1040 -55 L1080 -34 L1120 -15 L1160 1 L1200 12 L1240 18 L1280 21 L1320 22 L1360 23 L1400 28 L1440 36 L1480 48 L1520 61 L1560 73 L1600 82 L1600 232 L1560 223 L1520 211 L1480 198 L1440 186 L1400 178 L1360 173 L1320 172 L1280 171 L1240 168 L1200 162 L1160 151 L1120 135 L1080 116 L1040 95 L1000 75 L960 61 L920 55 L880 57 L840 68 L800 85 L760 107 L720 130 L680 151 L640 167 L600 178 L560 183 L520 184 L480 184 L440 184 L400 187 L360 193 L320 202 L280 212 L240 222 L200 227 L160 225 L120 216 L80 199 L40 176 L0 150z' fill='url(%23g2fffc1)' filter='url(%23b)'/%3E%3ClinearGradient id='g21ccd6' x1='0' y1='1' x2='0' y2='0'%3E%3Cstop offset='0' stop-color='%2321ccd6' stop-opacity='0.45'/%3E%3Cstop offset='.35' stop-color='%2321ccd6' stop-opacity='0.25'/%3E%3Cstop offset='1' stop-color='%2321ccd6' stop-opacity='0'/%3E%3C/linearGradient%3E%3Cpath d='M0 175 L40 167 L80 152 L120 131 L160 108 L200 87 L240 69 L280 57 L320 50 L360 48 L400 48 L440 48 L480 46 L520 40 L560 31 L600 21 L640 11 L680 4 L720 2 L760 9 L800 23 L840 44 L880 70 L920 96 L960 121 L1000 140 L1040 152 L1080 156 L1120 153 L1160 145 L1200 135 L1240 126 L1280 119 L1320 115 L1360 115 L1400 115 L1440 115 L1480 112 L1520 103 L1560 88 L1600 69 L1600 219 L1560 238 L1520 253 L1480 262 L1440 265 L1400 265 L1360 265 L1320 265 L1280 269 L1240 276 L1200 285 L1160 295 L1120 303 L1080 306 L1040 302 L1000 290 L960 271 L920 246 L880 220 L840 194 L800 173 L760 159 L720 152 L680 154 L640 161 L600 171 L560 181 L520 190 L480 196 L440 198 L400 198 L360 198 L320 200 L280 207 L240 219 L200 237 L160 258 L120 281 L80 302 L40 317 L0 325z' fill='url(%23g21ccd6)' filter='url(%23b)'/%3E%3ClinearGradient id='g8a6bff' x1='0' y1='1' x2='0' y2='0'%3E%3Cstop offset='0' stop-color='%236eecdc' stop-opacity='0.3'/%3E%3Cstop offset='.35' stop-color='%236eecdc' stop-opacity='0.17'/%3E%3Cstop offset='1' stop-color='%236eecdc' stop-opacity='0'/%3E%3C/linearGradient%3E%3Cpath d='M0 154 L40 127 L80 104 L120 86 L160 76 L200 74 L240 78 L280 87 L320 97 L360 106 L400 112 L440 115 L480 115 L520 115 L560 115 L600 120 L640 130 L680 146 L720 166 L760 189 L800 212 L840 230 L880 242 L920 246 L960 240 L1000 227 L1040 208 L1080 187 L1120 168 L1160 151 L1200 140 L1240 134 L1280 131 L1320 130 L1360 128 L1400 124 L1440 116 L1480 104 L1520 90 L1560 78 L1600 68 L1600 218 L1560 228 L1520 240 L1480 254 L1440 266 L1400 274 L1360 278 L1320 280 L1280 281 L1240 284 L1200 290 L1160 301 L1120 318 L1080 337 L1040 358 L1000 377 L960 390 L920 396 L880 392 L840 380 L800 362 L760 339 L720 316 L680 296 L640 280 L600 270 L560 265 L520 265 L480 265 L440 265 L400 262 L360 256 L320 247 L280 237 L240 228 L200 224 L160 226 L120 236 L80 254 L40 277 L0 304z' fill='url(%23g8a6bff)' filter='url(%23b)'/%3E%3C/g%3E%3Cg filter='url(%23b2)' style='mix-blend-mode:multiply'%3E%3Crect x='913' y='0' width='25.2' height='760' fill='%23000' opacity='0.12'/%3E%3Crect x='444' y='0' width='25.6' height='760' fill='%23000' opacity='0.13'/%3E%3Crect x='1454' y='0' width='14.5' height='760' fill='%23000' opacity='0.11'/%3E%3Crect x='987' y='0' width='22.1' height='760' fill='%23000' opacity='0.14'/%3E%3Crect x='845' y='0' width='20.7' height='760' fill='%23000' opacity='0.13'/%3E%3Crect x='1017' y='0' width='17.2' height='760' fill='%23000' opacity='0.08'/%3E%3Crect x='794' y='0' width='11.3' height='760' fill='%23000' opacity='0.10'/%3E%3Crect x='1177' y='0' width='20.2' height='760' fill='%23000' opacity='0.13'/%3E%3Crect x='1485' y='0' width='23.3' height='760' fill='%23000' opacity='0.11'/%3E%3Crect x='188' y='0' width='11.3' height='760' fill='%23000' opacity='0.14'/%3E%3Crect x='455' y='0' width='15.1' height='760' fill='%23000' opacity='0.13'/%3E%3Crect x='1200' y='0' width='13.0' height='760' fill='%23000' opacity='0.08'/%3E%3Crect x='388' y='0' width='16.5' height='760' fill='%23000' opacity='0.05'/%3E%3Crect x='839' y='0' width='17.3' height='760' fill='%23000' opacity='0.09'/%3E%3Crect x='297' y='0' width='12.6' height='760' fill='%23000' opacity='0.05'/%3E%3Crect x='1396' y='0' width='27.9' height='760' fill='%23000' opacity='0.10'/%3E%3Crect x='198' y='0' width='13.6' height='760' fill='%23000' opacity='0.06'/%3E%3Crect x='506' y='0' width='11.4' height='760' fill='%23000' opacity='0.07'/%3E%3Crect x='325' y='0' width='14.6' height='760' fill='%23000' opacity='0.11'/%3E%3Crect x='732' y='0' width='21.4' height='760' fill='%23000' opacity='0.08'/%3E%3Crect x='862' y='0' width='28.8' height='760' fill='%23000' opacity='0.08'/%3E%3Crect x='112' y='0' width='21.5' height='760' fill='%23000' opacity='0.08'/%3E%3Crect x='1249' y='0' width='12.7' height='760' fill='%23000' opacity='0.13'/%3E%3Crect x='24' y='0' width='23.0' height='760' fill='%23000' opacity='0.09'/%3E%3Crect x='505' y='0' width='31.3' height='760' fill='%23000' opacity='0.11'/%3E%3Crect x='261' y='0' width='21.9' height='760' fill='%23000' opacity='0.11'/%3E%3Crect x='54' y='0' width='12.1' height='760' fill='%23000' opacity='0.10'/%3E%3Crect x='1167' y='0' width='21.1' height='760' fill='%23000' opacity='0.09'/%3E%3Crect x='811' y='0' width='16.3' height='760' fill='%23000' opacity='0.13'/%3E%3Crect x='1539' y='0' width='21.6' height='760' fill='%23000' opacity='0.05'/%3E%3Crect x='635' y='0' width='29.3' height='760' fill='%23000' opacity='0.08'/%3E%3Crect x='169' y='0' width='14.4' height='760' fill='%23000' opacity='0.11'/%3E%3Crect x='995' y='0' width='16.9' height='760' fill='%23000' opacity='0.11'/%3E%3Crect x='1217' y='0' width='33.2' height='760' fill='%23000' opacity='0.12'/%3E%3Crect x='694' y='0' width='29.4' height='760' fill='%23000' opacity='0.13'/%3E%3Crect x='1390' y='0' width='28.0' height='760' fill='%23000' opacity='0.10'/%3E%3Crect x='818' y='0' width='30.4' height='760' fill='%23000' opacity='0.11'/%3E%3Crect x='1154' y='0' width='15.5' height='760' fill='%23000' opacity='0.06'/%3E%3Crect x='433' y='0' width='24.0' height='760' fill='%23000' opacity='0.10'/%3E%3Crect x='318' y='0' width='14.5' height='760' fill='%23000' opacity='0.14'/%3E%3C/g%3E%3C/svg%3E") 50% 0 / 1600px 760px no-repeat;
  --w-far-dx: 0px; --w-far-dy: 0px; --w-far-o: .95;
  --w-far-anim: am-w-sway 22s ease-in-out infinite alternate;
  --w-near: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='420' height='420' viewBox='0 0 420 420'%3E%3Cdefs%3E%3CradialGradient id='p'%3E%3Cstop offset='0' stop-color='%23fff'/%3E%3Cstop offset='.45' stop-color='%23fff' stop-opacity='.75'/%3E%3Cstop offset='1' stop-color='%23fff' stop-opacity='0'/%3E%3C/radialGradient%3E%3C/defs%3E%3Ccircle cx='99.9' cy='228.6' r='3.47' fill='url(%23p)' opacity='0.54'/%3E%3Ccircle cx='262.8' cy='27.5' r='2.44' fill='url(%23p)' opacity='0.63'/%3E%3Ccircle cx='108.9' cy='98.4' r='5.27' fill='url(%23p)' opacity='0.49'/%3E%3Ccircle cx='351.3' cy='200.1' r='4.24' fill='url(%23p)' opacity='0.36'/%3E%3Ccircle cx='266.6' cy='364.6' r='3.91' fill='url(%23p)' opacity='0.60'/%3E%3Ccircle cx='282.0' cy='26.9' r='4.58' fill='url(%23p)' opacity='0.54'/%3E%3Ccircle cx='126.5' cy='13.0' r='4.89' fill='url(%23p)' opacity='0.49'/%3E%3Ccircle cx='301.9' cy='369.1' r='4.46' fill='url(%23p)' opacity='0.67'/%3E%3Ccircle cx='165.9' cy='336.4' r='3.68' fill='url(%23p)' opacity='0.67'/%3E%3Ccircle cx='369.1' cy='40.9' r='2.79' fill='url(%23p)' opacity='0.39'/%3E%3Ccircle cx='405.5' cy='183.2' r='4.20' fill='url(%23p)' opacity='0.42'/%3E%3Ccircle cx='213.0' cy='162.1' r='3.41' fill='url(%23p)' opacity='0.53'/%3E%3Ccircle cx='245.4' cy='379.8' r='4.36' fill='url(%23p)' opacity='0.67'/%3E%3Ccircle cx='359.7' cy='-3.8' r='4.33' fill='url(%23p)' opacity='0.37'/%3E%3Ccircle cx='359.7' cy='416.2' r='4.33' fill='url(%23p)' opacity='0.37'/%3E%3Ccircle cx='361.5' cy='405.1' r='5.01' fill='url(%23p)' opacity='0.53'/%3E%3Ccircle cx='299.8' cy='88.7' r='4.80' fill='url(%23p)' opacity='0.53'/%3E%3C/svg%3E") 0 0 / 420px 420px repeat;
  --w-near-dx: 420px; --w-near-dy: 840px; --w-near-o: .65;
  --w-near-anim: am-w-drift 60s linear infinite;
  --w-card-orn: none;
  --w-hero-orn:
    linear-gradient(90deg, transparent, rgba(47, 255, 193, .45), rgba(33, 204, 214, .6), rgba(110, 236, 220, .45), transparent) 0 0 / 100% 1px no-repeat padding-box;
  --w-flake: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cdefs%3E%3C/defs%3E%3Cg transform='translate(8.0 8.0)' stroke='%239ff6f0' stroke-width='1.1' stroke-linecap='round' fill='none' opacity='1.0'%3E%3Cpath d='M0 0V-7.00M0 -3.18l-1.81 -1.36M0 -3.18l1.81 -1.36M0 -4.96l-1.21 -0.91M0 -4.96l1.21 -0.91' transform='rotate(0)'/%3E%3Cpath d='M0 0V-7.00M0 -3.18l-1.81 -1.36M0 -3.18l1.81 -1.36M0 -4.96l-1.21 -0.91M0 -4.96l1.21 -0.91' transform='rotate(60)'/%3E%3Cpath d='M0 0V-7.00M0 -3.18l-1.81 -1.36M0 -3.18l1.81 -1.36M0 -4.96l-1.21 -0.91M0 -4.96l1.21 -0.91' transform='rotate(120)'/%3E%3Cpath d='M0 0V-7.00M0 -3.18l-1.81 -1.36M0 -3.18l1.81 -1.36M0 -4.96l-1.21 -0.91M0 -4.96l1.21 -0.91' transform='rotate(180)'/%3E%3Cpath d='M0 0V-7.00M0 -3.18l-1.81 -1.36M0 -3.18l1.81 -1.36M0 -4.96l-1.21 -0.91M0 -4.96l1.21 -0.91' transform='rotate(240)'/%3E%3Cpath d='M0 0V-7.00M0 -3.18l-1.81 -1.36M0 -3.18l1.81 -1.36M0 -4.96l-1.21 -0.91M0 -4.96l1.21 -0.91' transform='rotate(300)'/%3E%3Ccircle r='0.84' fill='%239ff6f0' stroke='none'/%3E%3C/g%3E%3C/svg%3E");
  --aurora-text: linear-gradient(90deg, #e9fffd 0%, #2fffc1 25%, #21ccd6 50%, #6eecdc 75%, #e9fffd 100%);
}

/* ── ЗИМА ОТС НА КОМПЬЮТЕРЕ: ЗИМА ПО КРАЯМ, ЦЕНТР ТИХИЙ ────────────────────────
   Владелец 15.09 про ПК: «будто засран, глаза путаются о главном». На телефоне карточки
   закрывают почти весь экран, и фон виден полосками; на широком экране тот же фон открыт
   между карточками, и вихрь, иней-«трещины», декоративный график и резкий снег спорят
   с цифрами. Проверено пятью вариантами (scripts/winter-variants.mjs): без вихря — зимы
   мало; размытие — каша; оверлей на всём — гаснет сияние ОТС 500. Остался этот: вихрь
   в углу, под контентом приглушённый центр, снег смешивается с фоном (overlay) и тает
   к центру. Резкие перепады фона за контентом: ОТС 250 12.1 → 1.4 на тысячу точек; центр затемнён сильнее после второго замечания владельца («менее прозрачным либо темнее»).
   Телефон не трогаем — его вид одобрен. */
@media (min-width: 761px) {
  .app[data-look="level"][data-tier="2"]:not(#am-w):not(#am-d) {
    /* Мир светлый — значит и вуаль над центром светлая. Тёмная вуаль на белой бумаге
       читалась бы как грязное пятно, а не как тишина. */
    --e-motif:
      radial-gradient(ellipse 60% 70% at 58% 52%, rgba(247, 250, 255, .88), rgba(247, 250, 255, .5) 70%, transparent 100%),
      url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='900' height='620' viewBox='0 0 900 620'%3E%3Cdefs%3E%3Cfilter id='b' x='-10%' y='-10%' width='120%' height='120%'%3E%3CfeGaussianBlur stdDeviation='1.6'/%3E%3C/filter%3E%3C/defs%3E%3Cg filter='url(%23b)' fill='none' stroke='%238fb2dd' stroke-linecap='round'%3E%3Cpath d='M698 174 L709 175 L720 177 L730 180 L741 183 L751 187 L760 191 L769 196 L778 201 L786 207 L793 213 L799 220 L805 227 L810 234 L815 242 L818 250 L820 258 L822 267 L822 276 L822 285 L820 294 L817 303 L813 312 L808 322 L802 331 L795 341 L787 350 L777 359 L766 368 L755 377 L742 386 L728 394 L712 402 L696 410 L679 418 L660 424 L641 431 L621 437 L599 442 L577 447 L554 451 L531 455 L506 457 L481 460 L456 461 L429 462 L403 461 L376 461 L348 459 L321 456 L293 453 L265 448 L237 443 L209 437 L181 430 L154 422 L127 413 L100 404 L74 393 L48 381' stroke-width='2.2' stroke-opacity='0.10'/%3E%3Cpath d='M686 192 L693 197 L699 203 L704 209 L708 215 L712 222 L714 228 L716 235 L717 243 L716 250 L715 257 L713 265 L709 272 L705 280 L700 287 L693 295 L686 302 L677 309 L668 316 L657 323 L646 329 L633 335 L620 341 L605 347 L590 352 L574 356 L557 360 L540 364 L521 367 L502 369 L483 371 L463 372 L442 373 L421 373 L399 372 L378 370 L356 368 L333 365 L311 361 L289 357 L267 351 L245 345 L223 339 L201 331 L180 322 L159 313 L139 303 L119 293 L100 281 L82 269 L64 256 L48 242 L32 228 L18 213 L4 197 L-8 181 L-19 164 L-28 147 L-37 129 L-43 111' stroke-width='3.6' stroke-opacity='0.15'/%3E%3Cpath d='M657 202 L656 208 L654 215 L652 221 L648 228 L643 234 L638 240 L631 246 L624 252 L615 257 L606 263 L596 267 L585 272 L573 276 L561 280 L547 283 L534 286 L519 288 L504 290 L488 291 L472 292 L456 292 L439 292 L422 290 L405 289 L388 286 L370 283 L353 279 L335 275 L318 269 L301 264 L284 257 L268 250 L252 242 L236 233 L221 224 L207 214 L193 204 L181 193 L169 181 L157 169 L147 156 L138 142 L130 129 L123 114 L118 100 L113 84 L110 69 L108 53 L108 37 L109 21 L112 4 L116 -13 L121 -30 L129 -47 L137 -63 L148 -80 L160 -97 L173 -114 L188 -131' stroke-width='5.0' stroke-opacity='0.20'/%3E%3Cpath d='M623 199 L615 203 L607 208 L597 212 L587 215 L577 218 L566 221 L554 223 L542 225 L529 226 L516 226 L503 226 L490 226 L476 224 L462 223 L449 220 L435 217 L421 214 L408 210 L394 205 L381 199 L369 193 L357 187 L345 179 L334 172 L323 163 L313 155 L304 145 L296 135 L288 125 L282 114 L276 103 L272 91 L268 79 L266 67 L265 54 L265 42 L266 28 L269 15 L272 2 L278 -12 L284 -25 L292 -39 L301 -53 L312 -66 L324 -79 L338 -93 L353 -106 L369 -119 L387 -131 L406 -143 L426 -155 L448 -166 L471 -177 L496 -187 L521 -197 L548 -206 L576 -215 L605 -222 L635 -230' stroke-width='2.2' stroke-opacity='0.25'/%3E%3Cpath d='M601 183 L590 184 L578 184 L567 184 L555 183 L544 181 L532 179 L521 177 L510 173 L499 170 L489 165 L478 160 L469 155 L460 149 L451 142 L443 136 L436 128 L429 120 L424 112 L419 104 L415 95 L412 85 L410 76 L409 66 L409 56 L410 45 L413 35 L416 24 L421 14 L427 3 L434 -8 L442 -18 L452 -29 L462 -39 L474 -50 L487 -60 L502 -69 L517 -79 L534 -88 L552 -97 L571 -106 L591 -114 L613 -121 L635 -128 L658 -134 L682 -140 L708 -145 L734 -150 L760 -153 L788 -156 L816 -159 L845 -160 L874 -161 L904 -160 L934 -159 L965 -157 L995 -154 L1026 -150 L1057 -146 L1088 -140' stroke-width='3.6' stroke-opacity='0.10'/%3E%3Cpath d='M601 164 L592 160 L583 156 L574 151 L567 146 L559 141 L553 135 L547 129 L542 122 L538 115 L535 108 L533 101 L532 93 L531 85 L532 77 L534 69 L536 60 L540 52 L545 44 L551 35 L558 27 L566 19 L575 11 L585 3 L597 -5 L609 -12 L622 -20 L637 -26 L652 -33 L669 -39 L686 -44 L704 -50 L723 -54 L743 -58 L764 -62 L785 -65 L807 -67 L830 -68 L853 -69 L877 -69 L901 -69 L925 -67 L950 -65 L975 -62 L999 -59 L1025 -54 L1049 -49 L1074 -42 L1099 -35 L1123 -27 L1148 -19 L1171 -9 L1194 1 L1217 13 L1239 25 L1260 37 L1280 51 L1299 65 L1318 81 L1335 96' stroke-width='5.0' stroke-opacity='0.15'/%3E%3Cpath d='M623 149 L620 142 L618 136 L616 129 L616 123 L617 116 L618 109 L621 102 L624 95 L629 88 L635 82 L641 75 L649 69 L658 62 L667 56 L677 51 L689 45 L701 40 L714 36 L728 32 L743 28 L758 24 L774 22 L791 19 L808 18 L826 17 L844 16 L863 16 L882 17 L901 19 L921 21 L940 23 L960 27 L980 31 L999 36 L1019 42 L1038 48 L1057 56 L1076 64 L1094 72 L1112 82 L1129 92 L1146 102 L1161 114 L1176 126 L1190 139 L1204 152 L1216 166 L1227 181 L1237 196 L1245 211 L1253 227 L1259 244 L1264 261 L1267 278 L1269 296 L1269 314 L1268 332 L1265 350 L1260 369' stroke-width='2.2' stroke-opacity='0.20'/%3E%3Cpath d='M657 145 L661 139 L667 134 L673 128 L680 123 L688 118 L697 113 L707 109 L717 105 L729 101 L740 98 L753 96 L766 94 L779 92 L793 91 L808 90 L822 91 L837 91 L853 92 L868 94 L883 97 L899 100 L914 104 L929 108 L945 113 L959 119 L974 126 L988 133 L1002 140 L1015 148 L1027 157 L1039 167 L1051 177 L1061 187 L1070 199 L1079 210 L1087 222 L1093 235 L1099 248 L1103 261 L1106 275 L1108 289 L1109 303 L1108 318 L1106 333 L1102 348 L1098 363 L1091 378 L1084 393 L1074 408 L1064 424 L1051 439 L1037 454 L1022 468 L1005 483 L987 497 L967 511 L946 524 L923 537 L899 550' stroke-width='3.6' stroke-opacity='0.25'/%3E%3Cpath d='M686 155 L696 152 L707 150 L718 148 L730 147 L741 146 L753 145 L766 146 L778 147 L790 148 L803 150 L815 153 L828 156 L840 160 L852 164 L863 169 L874 175 L885 181 L895 187 L905 194 L914 202 L922 210 L930 219 L936 228 L942 237 L947 247 L951 257 L954 268 L956 279 L957 290 L957 302 L955 313 L953 325 L949 337 L944 349 L937 361 L930 373 L921 385 L910 397 L899 409 L886 421 L872 432 L856 443 L839 454 L821 465 L802 475 L781 485 L760 494 L737 503 L713 511 L687 519 L661 526 L634 532 L606 538 L577 543 L547 547 L516 550 L485 553 L453 554 L420 555' stroke-width='5.0' stroke-opacity='0.10'/%3E%3Ccircle cx='902' cy='421' r='1.8' fill='%237ba0d0' stroke='none' opacity='0.51'/%3E%3Ccircle cx='768' cy='492' r='2.1' fill='%237ba0d0' stroke='none' opacity='0.53'/%3E%3Ccircle cx='445' cy='170' r='0.8' fill='%237ba0d0' stroke='none' opacity='0.45'/%3E%3Ccircle cx='566' cy='146' r='2.1' fill='%237ba0d0' stroke='none' opacity='0.38'/%3E%3Ccircle cx='656' cy='218' r='2.4' fill='%237ba0d0' stroke='none' opacity='0.66'/%3E%3Ccircle cx='967' cy='-10' r='0.9' fill='%237ba0d0' stroke='none' opacity='0.43'/%3E%3Ccircle cx='523' cy='175' r='2.3' fill='%237ba0d0' stroke='none' opacity='0.45'/%3E%3Ccircle cx='975' cy='450' r='1.0' fill='%237ba0d0' stroke='none' opacity='0.76'/%3E%3Ccircle cx='257' cy='242' r='1.3' fill='%237ba0d0' stroke='none' opacity='0.52'/%3E%3Ccircle cx='677' cy='213' r='2.2' fill='%237ba0d0' stroke='none' opacity='0.38'/%3E%3Ccircle cx='683' cy='69' r='2.4' fill='%237ba0d0' stroke='none' opacity='0.74'/%3E%3Ccircle cx='664' cy='-141' r='1.7' fill='%237ba0d0' stroke='none' opacity='0.65'/%3E%3Ccircle cx='906' cy='318' r='2.1' fill='%237ba0d0' stroke='none' opacity='0.36'/%3E%3Ccircle cx='1203' cy='6' r='1.5' fill='%237ba0d0' stroke='none' opacity='0.45'/%3E%3Ccircle cx='361' cy='226' r='2.4' fill='%237ba0d0' stroke='none' opacity='0.46'/%3E%3Ccircle cx='757' cy='184' r='1.9' fill='%237ba0d0' stroke='none' opacity='0.80'/%3E%3Ccircle cx='279' cy='179' r='1.7' fill='%237ba0d0' stroke='none' opacity='0.66'/%3E%3Ccircle cx='726' cy='426' r='1.7' fill='%237ba0d0' stroke='none' opacity='0.59'/%3E%3Ccircle cx='716' cy='257' r='1.4' fill='%237ba0d0' stroke='none' opacity='0.76'/%3E%3Ccircle cx='398' cy='381' r='1.3' fill='%237ba0d0' stroke='none' opacity='0.31'/%3E%3Ccircle cx='1178' cy='307' r='2.0' fill='%237ba0d0' stroke='none' opacity='0.46'/%3E%3Ccircle cx='449' cy='-84' r='2.2' fill='%237ba0d0' stroke='none' opacity='0.78'/%3E%3Ccircle cx='70' cy='394' r='2.3' fill='%237ba0d0' stroke='none' opacity='0.57'/%3E%3Ccircle cx='922' cy='31' r='1.4' fill='%237ba0d0' stroke='none' opacity='0.39'/%3E%3Ccircle cx='759' cy='111' r='0.9' fill='%237ba0d0' stroke='none' opacity='0.69'/%3E%3Ccircle cx='703' cy='-34' r='2.1' fill='%237ba0d0' stroke='none' opacity='0.28'/%3E%3Ccircle cx='636' cy='311' r='1.5' fill='%237ba0d0' stroke='none' opacity='0.34'/%3E%3Ccircle cx='892' cy='239' r='2.2' fill='%237ba0d0' stroke='none' opacity='0.79'/%3E%3Ccircle cx='639' cy='-34' r='1.2' fill='%237ba0d0' stroke='none' opacity='0.78'/%3E%3Ccircle cx='131' cy='125' r='0.8' fill='%237ba0d0' stroke='none' opacity='0.37'/%3E%3Ccircle cx='947' cy='-104' r='2.2' fill='%237ba0d0' stroke='none' opacity='0.58'/%3E%3Ccircle cx='266' cy='284' r='2.2' fill='%237ba0d0' stroke='none' opacity='0.42'/%3E%3Ccircle cx='424' cy='145' r='2.0' fill='%237ba0d0' stroke='none' opacity='0.26'/%3E%3Ccircle cx='383' cy='-181' r='0.8' fill='%237ba0d0' stroke='none' opacity='0.58'/%3E%3Ccircle cx='275' cy='-100' r='1.7' fill='%237ba0d0' stroke='none' opacity='0.39'/%3E%3Ccircle cx='90' cy='390' r='2.2' fill='%237ba0d0' stroke='none' opacity='0.32'/%3E%3Ccircle cx='740' cy='210' r='0.8' fill='%237ba0d0' stroke='none' opacity='0.50'/%3E%3Ccircle cx='1037' cy='447' r='1.8' fill='%237ba0d0' stroke='none' opacity='0.32'/%3E%3Ccircle cx='395' cy='137' r='1.6' fill='%237ba0d0' stroke='none' opacity='0.37'/%3E%3Ccircle cx='733' cy='258' r='1.4' fill='%237ba0d0' stroke='none' opacity='0.64'/%3E%3Ccircle cx='572' cy='159' r='1.9' fill='%237ba0d0' stroke='none' opacity='0.73'/%3E%3Ccircle cx='734' cy='-147' r='0.8' fill='%237ba0d0' stroke='none' opacity='0.51'/%3E%3Ccircle cx='1152' cy='296' r='1.1' fill='%237ba0d0' stroke='none' opacity='0.64'/%3E%3Ccircle cx='639' cy='463' r='1.3' fill='%237ba0d0' stroke='none' opacity='0.27'/%3E%3Ccircle cx='456' cy='267' r='2.2' fill='%237ba0d0' stroke='none' opacity='0.41'/%3E%3Ccircle cx='241' cy='169' r='2.3' fill='%237ba0d0' stroke='none' opacity='0.30'/%3E%3Ccircle cx='342' cy='44' r='2.0' fill='%237ba0d0' stroke='none' opacity='0.78'/%3E%3Ccircle cx='462' cy='444' r='1.6' fill='%237ba0d0' stroke='none' opacity='0.56'/%3E%3Ccircle cx='1182' cy='304' r='2.4' fill='%237ba0d0' stroke='none' opacity='0.45'/%3E%3Ccircle cx='359' cy='538' r='1.0' fill='%237ba0d0' stroke='none' opacity='0.29'/%3E%3Ccircle cx='1167' cy='322' r='2.0' fill='%237ba0d0' stroke='none' opacity='0.50'/%3E%3Ccircle cx='603' cy='149' r='1.8' fill='%237ba0d0' stroke='none' opacity='0.49'/%3E%3Ccircle cx='347' cy='155' r='1.4' fill='%237ba0d0' stroke='none' opacity='0.37'/%3E%3Ccircle cx='965' cy='231' r='1.2' fill='%237ba0d0' stroke='none' opacity='0.64'/%3E%3Ccircle cx='862' cy='-100' r='1.5' fill='%237ba0d0' stroke='none' opacity='0.38'/%3E%3Ccircle cx='373' cy='313' r='1.8' fill='%237ba0d0' stroke='none' opacity='0.78'/%3E%3Ccircle cx='959' cy='280' r='1.6' fill='%237ba0d0' stroke='none' opacity='0.64'/%3E%3Ccircle cx='1078' cy='-30' r='1.8' fill='%237ba0d0' stroke='none' opacity='0.67'/%3E%3Ccircle cx='348' cy='-131' r='1.9' fill='%237ba0d0' stroke='none' opacity='0.63'/%3E%3Ccircle cx='667' cy='545' r='1.4' fill='%237ba0d0' stroke='none' opacity='0.59'/%3E%3Ccircle cx='954' cy='-174' r='2.4' fill='%237ba0d0' stroke='none' opacity='0.25'/%3E%3Ccircle cx='551' cy='308' r='1.4' fill='%237ba0d0' stroke='none' opacity='0.33'/%3E%3Ccircle cx='552' cy='154' r='1.3' fill='%237ba0d0' stroke='none' opacity='0.77'/%3E%3Ccircle cx='631' cy='-28' r='1.0' fill='%237ba0d0' stroke='none' opacity='0.78'/%3E%3Ccircle cx='596' cy='72' r='1.3' fill='%237ba0d0' stroke='none' opacity='0.60'/%3E%3Ccircle cx='557' cy='59' r='2.3' fill='%237ba0d0' stroke='none' opacity='0.43'/%3E%3Ccircle cx='632' cy='519' r='1.0' fill='%237ba0d0' stroke='none' opacity='0.62'/%3E%3Ccircle cx='784' cy='414' r='1.2' fill='%237ba0d0' stroke='none' opacity='0.46'/%3E%3Ccircle cx='977' cy='100' r='1.5' fill='%237ba0d0' stroke='none' opacity='0.59'/%3E%3Ccircle cx='617' cy='266' r='1.4' fill='%237ba0d0' stroke='none' opacity='0.40'/%3E%3Ccircle cx='902' cy='533' r='0.9' fill='%237ba0d0' stroke='none' opacity='0.70'/%3E%3Ccircle cx='1114' cy='57' r='0.8' fill='%237ba0d0' stroke='none' opacity='0.53'/%3E%3Ccircle cx='1080' cy='236' r='1.9' fill='%237ba0d0' stroke='none' opacity='0.38'/%3E%3Ccircle cx='1051' cy='185' r='1.0' fill='%237ba0d0' stroke='none' opacity='0.42'/%3E%3Ccircle cx='43' cy='277' r='1.4' fill='%237ba0d0' stroke='none' opacity='0.32'/%3E%3Ccircle cx='799' cy='-152' r='1.6' fill='%237ba0d0' stroke='none' opacity='0.28'/%3E%3Ccircle cx='767' cy='340' r='1.7' fill='%237ba0d0' stroke='none' opacity='0.37'/%3E%3Ccircle cx='841' cy='-153' r='2.3' fill='%237ba0d0' stroke='none' opacity='0.74'/%3E%3Ccircle cx='1074' cy='201' r='0.9' fill='%237ba0d0' stroke='none' opacity='0.74'/%3E%3Ccircle cx='638' cy='-139' r='1.1' fill='%237ba0d0' stroke='none' opacity='0.28'/%3E%3Ccircle cx='825' cy='-61' r='1.8' fill='%237ba0d0' stroke='none' opacity='0.51'/%3E%3Ccircle cx='732' cy='26' r='1.2' fill='%237ba0d0' stroke='none' opacity='0.44'/%3E%3Ccircle cx='512' cy='425' r='2.2' fill='%237ba0d0' stroke='none' opacity='0.29'/%3E%3Ccircle cx='997' cy='264' r='1.9' fill='%237ba0d0' stroke='none' opacity='0.35'/%3E%3Ccircle cx='637' cy='224' r='0.9' fill='%237ba0d0' stroke='none' opacity='0.52'/%3E%3Ccircle cx='448' cy='-74' r='1.1' fill='%237ba0d0' stroke='none' opacity='0.31'/%3E%3Ccircle cx='1011' cy='77' r='1.5' fill='%237ba0d0' stroke='none' opacity='0.63'/%3E%3Ccircle cx='594' cy='-49' r='0.9' fill='%237ba0d0' stroke='none' opacity='0.71'/%3E%3Ccircle cx='665' cy='216' r='1.4' fill='%237ba0d0' stroke='none' opacity='0.54'/%3E%3Ccircle cx='535' cy='106' r='1.9' fill='%237ba0d0' stroke='none' opacity='0.52'/%3E%3Ccircle cx='965' cy='469' r='2.1' fill='%237ba0d0' stroke='none' opacity='0.75'/%3E%3Ccircle cx='566' cy='74' r='2.0' fill='%237ba0d0' stroke='none' opacity='0.75'/%3E%3Ccircle cx='21' cy='97' r='2.4' fill='%237ba0d0' stroke='none' opacity='0.46'/%3E%3Ccircle cx='1263' cy='38' r='2.1' fill='%237ba0d0' stroke='none' opacity='0.26'/%3E%3Ccircle cx='380' cy='381' r='1.8' fill='%237ba0d0' stroke='none' opacity='0.67'/%3E%3Ccircle cx='554' cy='102' r='2.3' fill='%237ba0d0' stroke='none' opacity='0.54'/%3E%3Ccircle cx='784' cy='102' r='2.4' fill='%237ba0d0' stroke='none' opacity='0.56'/%3E%3Ccircle cx='733' cy='-128' r='2.2' fill='%237ba0d0' stroke='none' opacity='0.45'/%3E%3Ccircle cx='920' cy='263' r='1.1' fill='%237ba0d0' stroke='none' opacity='0.55'/%3E%3Ccircle cx='761' cy='23' r='1.0' fill='%237ba0d0' stroke='none' opacity='0.26'/%3E%3Ccircle cx='270' cy='288' r='0.8' fill='%237ba0d0' stroke='none' opacity='0.62'/%3E%3Ccircle cx='677' cy='240' r='2.3' fill='%237ba0d0' stroke='none' opacity='0.54'/%3E%3Ccircle cx='952' cy='38' r='1.0' fill='%237ba0d0' stroke='none' opacity='0.38'/%3E%3Ccircle cx='233' cy='297' r='2.0' fill='%237ba0d0' stroke='none' opacity='0.66'/%3E%3Ccircle cx='523' cy='73' r='1.5' fill='%237ba0d0' stroke='none' opacity='0.46'/%3E%3Ccircle cx='426' cy='182' r='1.7' fill='%237ba0d0' stroke='none' opacity='0.50'/%3E%3Ccircle cx='1218' cy='248' r='1.7' fill='%237ba0d0' stroke='none' opacity='0.69'/%3E%3Ccircle cx='604' cy='-128' r='2.4' fill='%237ba0d0' stroke='none' opacity='0.46'/%3E%3Ccircle cx='607' cy='192' r='1.9' fill='%237ba0d0' stroke='none' opacity='0.57'/%3E%3Ccircle cx='29' cy='-12' r='1.1' fill='%237ba0d0' stroke='none' opacity='0.37'/%3E%3Ccircle cx='591' cy='-158' r='1.6' fill='%237ba0d0' stroke='none' opacity='0.28'/%3E%3Ccircle cx='245' cy='420' r='1.6' fill='%237ba0d0' stroke='none' opacity='0.50'/%3E%3Ccircle cx='296' cy='343' r='1.8' fill='%237ba0d0' stroke='none' opacity='0.63'/%3E%3Ccircle cx='1005' cy='-59' r='1.4' fill='%237ba0d0' stroke='none' opacity='0.39'/%3E%3Ccircle cx='761' cy='-146' r='2.3' fill='%237ba0d0' stroke='none' opacity='0.36'/%3E%3Ccircle cx='1010' cy='-123' r='0.9' fill='%237ba0d0' stroke='none' opacity='0.42'/%3E%3Ccircle cx='551' cy='111' r='2.1' fill='%237ba0d0' stroke='none' opacity='0.40'/%3E%3Ccircle cx='548' cy='46' r='1.1' fill='%237ba0d0' stroke='none' opacity='0.36'/%3E%3Ccircle cx='135' cy='178' r='1.1' fill='%237ba0d0' stroke='none' opacity='0.63'/%3E%3Ccircle cx='407' cy='408' r='1.4' fill='%237ba0d0' stroke='none' opacity='0.36'/%3E%3Ccircle cx='703' cy='213' r='1.9' fill='%237ba0d0' stroke='none' opacity='0.48'/%3E%3Ccircle cx='1093' cy='424' r='1.8' fill='%237ba0d0' stroke='none' opacity='0.26'/%3E%3Ccircle cx='579' cy='-75' r='1.5' fill='%237ba0d0' stroke='none' opacity='0.53'/%3E%3Ccircle cx='933' cy='134' r='1.8' fill='%237ba0d0' stroke='none' opacity='0.60'/%3E%3Ccircle cx='465' cy='292' r='2.0' fill='%237ba0d0' stroke='none' opacity='0.60'/%3E%3Ccircle cx='278' cy='233' r='1.2' fill='%237ba0d0' stroke='none' opacity='0.68'/%3E%3Ccircle cx='1112' cy='207' r='1.5' fill='%237ba0d0' stroke='none' opacity='0.37'/%3E%3Ccircle cx='281' cy='45' r='0.9' fill='%237ba0d0' stroke='none' opacity='0.52'/%3E%3Ccircle cx='938' cy='456' r='1.3' fill='%237ba0d0' stroke='none' opacity='0.43'/%3E%3Ccircle cx='666' cy='219' r='1.1' fill='%237ba0d0' stroke='none' opacity='0.33'/%3E%3Ccircle cx='221' cy='-70' r='1.2' fill='%237ba0d0' stroke='none' opacity='0.31'/%3E%3Ccircle cx='526' cy='158' r='1.4' fill='%237ba0d0' stroke='none' opacity='0.67'/%3E%3Ccircle cx='794' cy='452' r='1.7' fill='%237ba0d0' stroke='none' opacity='0.30'/%3E%3Ccircle cx='669' cy='427' r='1.0' fill='%237ba0d0' stroke='none' opacity='0.36'/%3E%3Ccircle cx='133' cy='18' r='1.6' fill='%237ba0d0' stroke='none' opacity='0.61'/%3E%3Ccircle cx='894' cy='182' r='1.3' fill='%237ba0d0' stroke='none' opacity='0.75'/%3E%3Ccircle cx='298' cy='425' r='0.9' fill='%237ba0d0' stroke='none' opacity='0.52'/%3E%3Ccircle cx='1076' cy='-27' r='1.7' fill='%237ba0d0' stroke='none' opacity='0.35'/%3E%3Ccircle cx='739' cy='147' r='2.3' fill='%237ba0d0' stroke='none' opacity='0.68'/%3E%3Ccircle cx='573' cy='-50' r='1.1' fill='%237ba0d0' stroke='none' opacity='0.44'/%3E%3C/g%3E%3C/svg%3E") right -18vw top -12vh / max(95vw, 1000px) auto no-repeat;
  }
  .app[data-look="level"][data-tier="3"]:not(#am-w):not(#am-d) {
    --e-motif:
      radial-gradient(ellipse 60% 70% at 58% 52%, rgba(2, 16, 20, .64), rgba(2, 16, 20, .2) 70%, transparent 100%),
      url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='520' height='520' viewBox='0 0 520 520'%3E%3Cdefs%3E%3C/defs%3E%3Ccircle cx='198' cy='120' r='0.6' fill='%23e9fbff' opacity='0.79'/%3E%3Ccircle cx='201' cy='466' r='0.8' fill='%23e9fbff' opacity='0.58'/%3E%3Ccircle cx='199' cy='380' r='1.3' fill='%23e9fbff' opacity='0.26'/%3E%3Ccircle cx='130' cy='519' r='0.5' fill='%23e9fbff' opacity='0.51'/%3E%3Ccircle cx='81' cy='78' r='0.8' fill='%23e9fbff' opacity='0.35'/%3E%3Ccircle cx='340' cy='323' r='0.5' fill='%23e9fbff' opacity='0.32'/%3E%3Ccircle cx='306' cy='225' r='0.8' fill='%23e9fbff' opacity='0.75'/%3E%3Ccircle cx='112' cy='378' r='1.0' fill='%23e9fbff' opacity='0.33'/%3E%3Ccircle cx='348' cy='64' r='0.6' fill='%23e9fbff' opacity='0.66'/%3E%3Ccircle cx='510' cy='28' r='0.8' fill='%23e9fbff' opacity='0.39'/%3E%3Ccircle cx='14' cy='300' r='1.0' fill='%23e9fbff' opacity='0.78'/%3E%3Ccircle cx='440' cy='157' r='0.6' fill='%23e9fbff' opacity='0.31'/%3E%3Ccircle cx='49' cy='11' r='1.0' fill='%23e9fbff' opacity='0.77'/%3E%3Ccircle cx='120' cy='45' r='0.5' fill='%23e9fbff' opacity='0.53'/%3E%3Ccircle cx='379' cy='221' r='0.8' fill='%23e9fbff' opacity='0.57'/%3E%3Ccircle cx='458' cy='341' r='0.8' fill='%23e9fbff' opacity='0.36'/%3E%3Ccircle cx='420' cy='372' r='0.5' fill='%23e9fbff' opacity='0.84'/%3E%3Ccircle cx='367' cy='465' r='1.0' fill='%23e9fbff' opacity='0.64'/%3E%3Ccircle cx='390' cy='317' r='1.0' fill='%23e9fbff' opacity='0.61'/%3E%3Ccircle cx='52' cy='492' r='0.6' fill='%23e9fbff' opacity='0.51'/%3E%3Ccircle cx='381' cy='354' r='1.0' fill='%23e9fbff' opacity='0.72'/%3E%3Ccircle cx='43' cy='348' r='1.3' fill='%23e9fbff' opacity='0.38'/%3E%3Ccircle cx='357' cy='144' r='0.8' fill='%23e9fbff' opacity='0.73'/%3E%3Ccircle cx='324' cy='410' r='0.8' fill='%23e9fbff' opacity='0.70'/%3E%3Ccircle cx='381' cy='111' r='0.6' fill='%23e9fbff' opacity='0.38'/%3E%3Ccircle cx='117' cy='244' r='0.6' fill='%23e9fbff' opacity='0.29'/%3E%3Ccircle cx='123' cy='295' r='0.6' fill='%23e9fbff' opacity='0.55'/%3E%3Ccircle cx='63' cy='200' r='0.5' fill='%23e9fbff' opacity='0.74'/%3E%3Ccircle cx='233' cy='385' r='0.6' fill='%23e9fbff' opacity='0.58'/%3E%3Ccircle cx='259' cy='505' r='0.8' fill='%23e9fbff' opacity='0.74'/%3E%3Ccircle cx='16' cy='307' r='0.6' fill='%23e9fbff' opacity='0.63'/%3E%3Ccircle cx='267' cy='338' r='0.6' fill='%23e9fbff' opacity='0.50'/%3E%3Ccircle cx='506' cy='500' r='0.5' fill='%23e9fbff' opacity='0.56'/%3E%3Ccircle cx='310' cy='183' r='1.0' fill='%23e9fbff' opacity='0.80'/%3E%3Ccircle cx='471' cy='160' r='0.6' fill='%23e9fbff' opacity='0.41'/%3E%3Ccircle cx='197' cy='120' r='0.5' fill='%23e9fbff' opacity='0.77'/%3E%3Ccircle cx='145' cy='305' r='0.8' fill='%23e9fbff' opacity='0.49'/%3E%3Ccircle cx='256' cy='442' r='0.5' fill='%23e9fbff' opacity='0.55'/%3E%3Ccircle cx='309' cy='121' r='0.6' fill='%23e9fbff' opacity='0.79'/%3E%3Ccircle cx='152' cy='128' r='1.0' fill='%23e9fbff' opacity='0.81'/%3E%3Ccircle cx='430' cy='28' r='1.3' fill='%23e9fbff' opacity='0.27'/%3E%3Ccircle cx='395' cy='102' r='1.0' fill='%23e9fbff' opacity='0.44'/%3E%3Ccircle cx='191' cy='90' r='0.5' fill='%23e9fbff' opacity='0.38'/%3E%3Ccircle cx='454' cy='267' r='0.6' fill='%23e9fbff' opacity='0.27'/%3E%3Ccircle cx='307' cy='195' r='0.6' fill='%23e9fbff' opacity='0.74'/%3E%3Ccircle cx='141' cy='12' r='1.3' fill='%23e9fbff' opacity='0.69'/%3E%3Ccircle cx='201' cy='97' r='1.3' fill='%23e9fbff' opacity='0.45'/%3E%3Ccircle cx='265' cy='96' r='0.5' fill='%23e9fbff' opacity='0.59'/%3E%3Ccircle cx='375' cy='99' r='0.6' fill='%23e9fbff' opacity='0.42'/%3E%3Ccircle cx='45' cy='343' r='1.0' fill='%23e9fbff' opacity='0.26'/%3E%3Ccircle cx='161' cy='158' r='0.5' fill='%23e9fbff' opacity='0.58'/%3E%3Ccircle cx='464' cy='166' r='1.0' fill='%23e9fbff' opacity='0.70'/%3E%3Ccircle cx='194' cy='413' r='0.5' fill='%23e9fbff' opacity='0.29'/%3E%3Ccircle cx='202' cy='83' r='1.0' fill='%23e9fbff' opacity='0.35'/%3E%3Ccircle cx='83' cy='46' r='0.5' fill='%23e9fbff' opacity='0.44'/%3E%3Ccircle cx='470' cy='163' r='0.5' fill='%23e9fbff' opacity='0.37'/%3E%3Ccircle cx='469' cy='506' r='0.5' fill='%23e9fbff' opacity='0.79'/%3E%3Ccircle cx='475' cy='501' r='0.8' fill='%23e9fbff' opacity='0.57'/%3E%3Ccircle cx='486' cy='142' r='0.6' fill='%23e9fbff' opacity='0.70'/%3E%3Ccircle cx='454' cy='401' r='1.0' fill='%23e9fbff' opacity='0.54'/%3E%3Ccircle cx='131' cy='357' r='1.3' fill='%23e9fbff' opacity='0.67'/%3E%3Ccircle cx='298' cy='84' r='0.6' fill='%23e9fbff' opacity='0.73'/%3E%3Ccircle cx='13' cy='143' r='0.5' fill='%23e9fbff' opacity='0.37'/%3E%3Ccircle cx='346' cy='146' r='0.8' fill='%23e9fbff' opacity='0.81'/%3E%3Ccircle cx='152' cy='149' r='0.5' fill='%23e9fbff' opacity='0.76'/%3E%3Ccircle cx='517' cy='159' r='1.0' fill='%23e9fbff' opacity='0.78'/%3E%3Ccircle cx='285' cy='374' r='0.8' fill='%23e9fbff' opacity='0.64'/%3E%3Ccircle cx='122' cy='483' r='1.0' fill='%23e9fbff' opacity='0.61'/%3E%3Ccircle cx='346' cy='218' r='0.6' fill='%23e9fbff' opacity='0.27'/%3E%3Ccircle cx='105' cy='154' r='0.8' fill='%23e9fbff' opacity='0.26'/%3E%3Cpath d='M257.6556328096451 345.23601587338095L258.75563280964514 350.1360158733809L263.6556328096451 351.23601587338095L258.75563280964514 352.336015873381L257.6556328096451 357.23601587338095L256.5556328096451 352.336015873381L251.6556328096451 351.23601587338095L256.5556328096451 350.1360158733809z' fill='%23fff' opacity='.8'/%3E%3Cpath d='M264.75822651245096 283.39987169362587L265.858226512451 288.29987169362585L270.75822651245096 289.39987169362587L265.858226512451 290.4998716936259L264.75822651245096 295.39987169362587L263.65822651245094 290.4998716936259L258.75822651245096 289.39987169362587L263.65822651245094 288.29987169362585z' fill='%23fff' opacity='.8'/%3E%3Cpath d='M246.67052575536928 397.7418149302564L247.77052575536928 402.6418149302564L252.67052575536928 403.7418149302564L247.77052575536928 404.8418149302564L246.67052575536928 409.7418149302564L245.5705257553693 404.8418149302564L240.67052575536928 403.7418149302564L245.5705257553693 402.6418149302564z' fill='%23fff' opacity='.8'/%3E%3Cpath d='M42.93246858744357 419.84090731807345L44.032468587443574 424.7409073180734L48.93246858744357 425.84090731807345L44.032468587443574 426.94090731807347L42.93246858744357 431.84090731807345L41.83246858744357 426.94090731807347L36.93246858744357 425.84090731807345L41.83246858744357 424.7409073180734z' fill='%23fff' opacity='.8'/%3E%3C/svg%3E") 0 0 / 520px 520px repeat;
  }
  .app[data-look="level"]:is([data-tier="2"], [data-tier="3"]) .market-atmosphere :is(.market-orbit, .market-hud, .market-code, .market-beacon, .market-canvas, .market-aura):not(#am-w):not(#am-d) { opacity: 0 !important; }
  .app[data-look="level"]:is([data-tier="2"], [data-tier="3"]):not(#am-w):not(#am-d)::after {
    mix-blend-mode: overlay;
    -webkit-mask-image: radial-gradient(ellipse 58% 66% at 58% 50%, rgba(0, 0, 0, .25), #000 100%);
    mask-image: radial-gradient(ellipse 58% 66% at 58% 50%, rgba(0, 0, 0, .25), #000 100%);
  }
  .app[data-look="level"][data-tier="2"]:not(#am-w):not(#am-d)::before {
    -webkit-mask-image: radial-gradient(ellipse 58% 66% at 58% 50%, rgba(0, 0, 0, .25), #000 100%);
    mask-image: radial-gradient(ellipse 58% 66% at 58% 50%, rgba(0, 0, 0, .25), #000 100%);
  }
  .app[data-look="level"][data-tier="3"]:not(#am-w):not(#am-d)::before {
    -webkit-mask-image: radial-gradient(ellipse 58% 66% at 58% 50%, rgba(0, 0, 0, .55), #000 100%);
    mask-image: radial-gradient(ellipse 58% 66% at 58% 50%, rgba(0, 0, 0, .55), #000 100%);
  }
}
/* Сияние качается на 6% ширины слоя — у слоя ровно в экран при сдвиге открывался
   обрезанный край справа (виден на ПК и телефоне). Слой шире экрана на запас качания. */
.app[data-look="level"][data-tier="3"]:not(#am-w):not(#am-d)::before { left: -8%; right: -8%; }

/* ── ЗИМА ОТС: общий язык двух ступеней ── */
.app[data-look="level"]:is([data-tier="2"], [data-tier="3"]) .page-title h1:not(#am-w) {
  background: var(--aurora-text) 0 50% / 200% 100%;
  -webkit-background-clip: text; background-clip: text;
  color: transparent !important;
  text-shadow: none;
  animation: am-w-text 24s linear infinite;
}
.app[data-look="level"]:is([data-tier="2"], [data-tier="3"]) .page-title h1 *:not(#am-w) { color: inherit !important; background: none !important; }
.app[data-look="level"]:is([data-tier="2"], [data-tier="3"]) .page-title > div:first-child > span:not(#am-w) {
  display: inline-flex; align-items: center; gap: 8px;
}
.app[data-look="level"]:is([data-tier="2"], [data-tier="3"]) .page-title > div:first-child > span:not(#am-w)::before {
  content: ""; width: 15px; height: 15px; flex: none;
  background: var(--w-flake) center / contain no-repeat;
}
/* Кнопка изо льда — чистый материал без наложений: снежная шапка и сосульки на кнопке
   ложились криво на разной ширине и сняты 15.09. */
.app[data-look="level"]:is([data-tier="2"], [data-tier="3"]) [data-slot="button"][data-variant="default"]:not(#am-w) {
  text-shadow: 0 1px 0 rgba(255, 255, 255, .25);
}

/* КНОПКА НА БЕЛОМ — ЗАЛИВКА, А НЕ ЛЁД. Ледяной глянец (светлый верх, блик)
   читался как кнопка, пока фон был тёмным; на белой бумаге он сливается с ней и
   перестаёт выглядеть нажимаемым. Поэтому синий корпус и белые буквы. */
.app[data-look="level"][data-tier="2"] [data-slot="button"][data-variant="default"]:not(#am-w) {
  background: linear-gradient(180deg, #4a8cff 0%, #1f6bff 55%, #0b45c0 100%) !important;
  color: #ffffff !important;
  text-shadow: 0 1px 0 rgba(6, 30, 80, .35);
  border: 1px solid rgba(11, 69, 192, .35) !important;
  box-shadow: 0 10px 22px rgba(31, 107, 255, .26) !important;
}
.app[data-look="level"][data-tier="3"] [data-slot="button"][data-variant="default"]:not(#am-w) {
  background:
    radial-gradient(ellipse 60% 40% at 30% 0%, rgba(255, 255, 255, .55), transparent 70%),
    linear-gradient(180deg, #d9fffb 0%, #7ff0e6 24%, #1fbfcb 60%, #0a7f95 100%) !important;
  color: #02161a !important; text-shadow: 0 1px 0 rgba(255, 255, 255, .35);
  border: 1px solid rgba(220, 255, 252, .9) !important;
  box-shadow: 0 0 26px rgba(47, 255, 193, .35), 0 10px 28px rgba(0, 40, 50, .55), inset 0 -2px 0 rgba(0, 60, 70, .45), inset 0 1px 0 #fff !important;
}

/* ── ЭКСКЛЮЗИВ · ЗАКРЫТЫЙ КЛУБ ────────────────────────────────────────────
   Бархат стен, грани рубина в луче сверху, медленно поднимающиеся искры, сургучная
   печать клуба — в панели уровня и на главной карточке. Карточки — как приглашение:
   двойная рамка. Заголовок — курсивная антиква цвета слоновой кости. */
.app[data-look="level"][data-tier="4"] {
  --e-motif:
    url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1100' height='620' viewBox='0 0 1100 620'%3E%3Cdefs%3E%3CradialGradient id='m' cx='550' cy='-40' r='620' gradientUnits='userSpaceOnUse'%3E%3Cstop offset='0' stop-color='%23fff'/%3E%3Cstop offset='.5' stop-color='%23fff' stop-opacity='.4'/%3E%3Cstop offset='1' stop-color='%23fff' stop-opacity='0'/%3E%3C/radialGradient%3E%3Cmask id='k'%3E%3Crect width='1100' height='620' fill='url(%23m)'/%3E%3C/mask%3E%3C/defs%3E%3Cg mask='url(%23k)' opacity='.42'%3E%3Cpath d='M0 0 L107 0 L0 100z' fill='%23c41a33' fill-opacity='0.18' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M107 0 L76 104 L0 100z' fill='%238c1d2e' fill-opacity='0.34' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M0 100 L76 104 L110 227z' fill='%23a3142b' fill-opacity='0.5' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M0 100 L110 227 L0 211z' fill='%23a3142b' fill-opacity='0.1' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M0 211 L110 227 L0 339z' fill='%23e0485d' fill-opacity='0.18' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M110 227 L69 297 L0 339z' fill='%238c1d2e' fill-opacity='0.1' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M0 339 L69 297 L69 434z' fill='%23c41a33' fill-opacity='0.26' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M0 339 L69 434 L0 411z' fill='%235e0a18' fill-opacity='0.34' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M0 411 L69 434 L0 517z' fill='%238c1d2e' fill-opacity='0.1' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M69 434 L115 486 L0 517z' fill='%23c41a33' fill-opacity='0.18' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M0 517 L115 486 L137 620z' fill='%23e0485d' fill-opacity='0.26' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M0 517 L137 620 L0 620z' fill='%23a3142b' fill-opacity='0.5' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M107 0 L235 0 L212 111z' fill='%238c1d2e' fill-opacity='0.1' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M107 0 L212 111 L76 104z' fill='%23e0485d' fill-opacity='0.18' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M76 104 L212 111 L110 227z' fill='%235e0a18' fill-opacity='0.26' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M212 111 L174 174 L110 227z' fill='%23ff7a8a' fill-opacity='0.5' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M110 227 L174 174 L202 280z' fill='%23a3142b' fill-opacity='0.18' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M110 227 L202 280 L69 297z' fill='%23a3142b' fill-opacity='0.1' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M69 297 L202 280 L69 434z' fill='%23c41a33' fill-opacity='0.34' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M202 280 L176 396 L69 434z' fill='%23e0485d' fill-opacity='0.26' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M69 434 L176 396 L164 514z' fill='%23c41a33' fill-opacity='0.1' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M69 434 L164 514 L115 486z' fill='%23a3142b' fill-opacity='0.1' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M115 486 L164 514 L137 620z' fill='%235e0a18' fill-opacity='0.1' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M164 514 L195 620 L137 620z' fill='%23ff7a8a' fill-opacity='0.26' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M235 0 L326 0 L212 111z' fill='%23e0485d' fill-opacity='0.18' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M326 0 L301 113 L212 111z' fill='%23c41a33' fill-opacity='0.1' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M212 111 L301 113 L300 218z' fill='%235e0a18' fill-opacity='0.5' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M212 111 L300 218 L174 174z' fill='%23e0485d' fill-opacity='0.1' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M174 174 L300 218 L202 280z' fill='%23ff7a8a' fill-opacity='0.18' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M300 218 L297 295 L202 280z' fill='%23e0485d' fill-opacity='0.26' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M202 280 L297 295 L338 447z' fill='%23c41a33' fill-opacity='0.34' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M202 280 L338 447 L176 396z' fill='%23c41a33' fill-opacity='0.34' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M176 396 L338 447 L164 514z' fill='%23c41a33' fill-opacity='0.34' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M338 447 L326 531 L164 514z' fill='%23a3142b' fill-opacity='0.1' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M164 514 L326 531 L286 620z' fill='%23a3142b' fill-opacity='0.34' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M164 514 L286 620 L195 620z' fill='%235e0a18' fill-opacity='0.5' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M326 0 L379 0 L384 74z' fill='%23c41a33' fill-opacity='0.5' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M326 0 L384 74 L301 113z' fill='%23c41a33' fill-opacity='0.1' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M301 113 L384 74 L300 218z' fill='%23c41a33' fill-opacity='0.1' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M384 74 L420 200 L300 218z' fill='%23e0485d' fill-opacity='0.34' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M300 218 L420 200 L426 302z' fill='%23ff7a8a' fill-opacity='0.26' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M300 218 L426 302 L297 295z' fill='%235e0a18' fill-opacity='0.5' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M297 295 L426 302 L338 447z' fill='%235e0a18' fill-opacity='0.34' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M426 302 L435 437 L338 447z' fill='%235e0a18' fill-opacity='0.5' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M338 447 L435 437 L362 497z' fill='%23c41a33' fill-opacity='0.5' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M338 447 L362 497 L326 531z' fill='%23a3142b' fill-opacity='0.1' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M326 531 L362 497 L286 620z' fill='%23e0485d' fill-opacity='0.5' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M362 497 L431 620 L286 620z' fill='%23c41a33' fill-opacity='0.34' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M379 0 L498 0 L384 74z' fill='%23c41a33' fill-opacity='0.18' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M498 0 L537 96 L384 74z' fill='%23ff7a8a' fill-opacity='0.1' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M384 74 L537 96 L468 215z' fill='%235e0a18' fill-opacity='0.5' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M384 74 L468 215 L420 200z' fill='%23ff7a8a' fill-opacity='0.34' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M420 200 L468 215 L426 302z' fill='%23e0485d' fill-opacity='0.1' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M468 215 L521 294 L426 302z' fill='%23e0485d' fill-opacity='0.26' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M426 302 L521 294 L469 402z' fill='%238c1d2e' fill-opacity='0.5' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M426 302 L469 402 L435 437z' fill='%238c1d2e' fill-opacity='0.5' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M435 437 L469 402 L362 497z' fill='%238c1d2e' fill-opacity='0.26' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M469 402 L535 534 L362 497z' fill='%23ff7a8a' fill-opacity='0.34' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M362 497 L535 534 L471 620z' fill='%235e0a18' fill-opacity='0.18' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M362 497 L471 620 L431 620z' fill='%23e0485d' fill-opacity='0.34' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M498 0 L581 0 L570 73z' fill='%23ff7a8a' fill-opacity='0.26' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M498 0 L570 73 L537 96z' fill='%238c1d2e' fill-opacity='0.34' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M537 96 L570 73 L468 215z' fill='%238c1d2e' fill-opacity='0.18' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M570 73 L623 185 L468 215z' fill='%235e0a18' fill-opacity='0.18' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M468 215 L623 185 L605 306z' fill='%23a3142b' fill-opacity='0.26' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M468 215 L605 306 L521 294z' fill='%238c1d2e' fill-opacity='0.18' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M521 294 L605 306 L469 402z' fill='%238c1d2e' fill-opacity='0.34' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M605 306 L576 429 L469 402z' fill='%23e0485d' fill-opacity='0.1' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M469 402 L576 429 L572 526z' fill='%23ff7a8a' fill-opacity='0.1' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M469 402 L572 526 L535 534z' fill='%23e0485d' fill-opacity='0.18' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M535 534 L572 526 L471 620z' fill='%23c41a33' fill-opacity='0.34' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M572 526 L571 620 L471 620z' fill='%235e0a18' fill-opacity='0.26' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M581 0 L694 0 L570 73z' fill='%238c1d2e' fill-opacity='0.34' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M694 0 L678 88 L570 73z' fill='%235e0a18' fill-opacity='0.5' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M570 73 L678 88 L736 227z' fill='%235e0a18' fill-opacity='0.26' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M570 73 L736 227 L623 185z' fill='%23ff7a8a' fill-opacity='0.5' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M623 185 L736 227 L605 306z' fill='%235e0a18' fill-opacity='0.26' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M736 227 L685 336 L605 306z' fill='%23c41a33' fill-opacity='0.1' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M605 306 L685 336 L678 406z' fill='%23e0485d' fill-opacity='0.5' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M605 306 L678 406 L576 429z' fill='%23c41a33' fill-opacity='0.26' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M576 429 L678 406 L572 526z' fill='%23a3142b' fill-opacity='0.26' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M678 406 L727 526 L572 526z' fill='%23e0485d' fill-opacity='0.5' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M572 526 L727 526 L670 620z' fill='%23c41a33' fill-opacity='0.18' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M572 526 L670 620 L571 620z' fill='%235e0a18' fill-opacity='0.34' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M694 0 L837 0 L778 87z' fill='%238c1d2e' fill-opacity='0.1' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M694 0 L778 87 L678 88z' fill='%23e0485d' fill-opacity='0.18' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M678 88 L778 87 L736 227z' fill='%238c1d2e' fill-opacity='0.1' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M778 87 L821 195 L736 227z' fill='%23ff7a8a' fill-opacity='0.1' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M736 227 L821 195 L785 281z' fill='%235e0a18' fill-opacity='0.1' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M736 227 L785 281 L685 336z' fill='%23ff7a8a' fill-opacity='0.5' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M685 336 L785 281 L678 406z' fill='%23ff7a8a' fill-opacity='0.26' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M785 281 L769 419 L678 406z' fill='%23c41a33' fill-opacity='0.18' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M678 406 L769 419 L780 524z' fill='%238c1d2e' fill-opacity='0.34' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M678 406 L780 524 L727 526z' fill='%23e0485d' fill-opacity='0.18' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M727 526 L780 524 L670 620z' fill='%23ff7a8a' fill-opacity='0.1' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M780 524 L790 620 L670 620z' fill='%235e0a18' fill-opacity='0.5' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M837 0 L896 0 L778 87z' fill='%23ff7a8a' fill-opacity='0.1' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M896 0 L935 102 L778 87z' fill='%238c1d2e' fill-opacity='0.18' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M778 87 L935 102 L906 232z' fill='%23e0485d' fill-opacity='0.26' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M778 87 L906 232 L821 195z' fill='%23a3142b' fill-opacity='0.5' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M821 195 L906 232 L785 281z' fill='%23a3142b' fill-opacity='0.5' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M906 232 L876 286 L785 281z' fill='%238c1d2e' fill-opacity='0.34' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M785 281 L876 286 L931 435z' fill='%23ff7a8a' fill-opacity='0.18' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M785 281 L931 435 L769 419z' fill='%23c41a33' fill-opacity='0.34' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M769 419 L931 435 L780 524z' fill='%23ff7a8a' fill-opacity='0.34' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M931 435 L881 496 L780 524z' fill='%238c1d2e' fill-opacity='0.34' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M780 524 L881 496 L918 620z' fill='%235e0a18' fill-opacity='0.18' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M780 524 L918 620 L790 620z' fill='%23ff7a8a' fill-opacity='0.1' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M896 0 L1033 0 L977 134z' fill='%235e0a18' fill-opacity='0.5' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M896 0 L977 134 L935 102z' fill='%23a3142b' fill-opacity='0.5' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M935 102 L977 134 L906 232z' fill='%23e0485d' fill-opacity='0.34' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M977 134 L1029 214 L906 232z' fill='%23e0485d' fill-opacity='0.18' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M906 232 L1029 214 L994 283z' fill='%23c41a33' fill-opacity='0.1' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M906 232 L994 283 L876 286z' fill='%238c1d2e' fill-opacity='0.18' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M876 286 L994 283 L931 435z' fill='%235e0a18' fill-opacity='0.1' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M994 283 L965 445 L931 435z' fill='%23e0485d' fill-opacity='0.5' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M931 435 L965 445 L980 531z' fill='%23e0485d' fill-opacity='0.26' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M931 435 L980 531 L881 496z' fill='%23ff7a8a' fill-opacity='0.1' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M881 496 L980 531 L918 620z' fill='%23e0485d' fill-opacity='0.5' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M980 531 L982 620 L918 620z' fill='%23c41a33' fill-opacity='0.1' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M1033 0 L1100 0 L977 134z' fill='%235e0a18' fill-opacity='0.26' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M1100 0 L1100 125 L977 134z' fill='%23a3142b' fill-opacity='0.34' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M977 134 L1100 125 L1100 213z' fill='%23e0485d' fill-opacity='0.34' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M977 134 L1100 213 L1029 214z' fill='%23c41a33' fill-opacity='0.18' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M1029 214 L1100 213 L994 283z' fill='%23c41a33' fill-opacity='0.34' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M1100 213 L1100 296 L994 283z' fill='%23c41a33' fill-opacity='0.18' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M994 283 L1100 296 L1100 391z' fill='%23a3142b' fill-opacity='0.26' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M994 283 L1100 391 L965 445z' fill='%23ff7a8a' fill-opacity='0.18' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M965 445 L1100 391 L980 531z' fill='%235e0a18' fill-opacity='0.18' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M1100 391 L1100 532 L980 531z' fill='%23a3142b' fill-opacity='0.5' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M980 531 L1100 532 L1100 620z' fill='%23ff7a8a' fill-opacity='0.34' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3Cpath d='M980 531 L1100 620 L982 620z' fill='%235e0a18' fill-opacity='0.5' stroke='%23ff9aa6' stroke-opacity='.12' stroke-width='.7'/%3E%3C/g%3E%3C/svg%3E") 50% 0 / 1100px 620px no-repeat,
    url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='320' height='320' viewBox='0 0 320 320'%3E%3Cdefs%3E%3Cfilter id='n' x='0' y='0' width='100%' height='100%'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.012 .09' numOctaves='3' seed='4' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .55 0 0 0 0 .04 0 0 0 0 .10 0 0 0 .07 0'/%3E%3C/filter%3E%3C/defs%3E%3Crect width='320' height='320' filter='url(%23n)'/%3E%3C/svg%3E") 0 0 / 320px 320px repeat;
  --e-emblem: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='44' height='44' viewBox='0 0 44 44'%3E%3Cdefs%3E%3CradialGradient id='w' cx='.4' cy='.35' r='.7'%3E%3Cstop offset='0' stop-color='%23e0304b'/%3E%3Cstop offset='.6' stop-color='%239c1026'/%3E%3Cstop offset='1' stop-color='%234a0612'/%3E%3C/radialGradient%3E%3C/defs%3E%3Cpath d='M40.1 22.0 L42.0 26.6 L38.0 29.7 L37.4 34.3 L33.0 35.8 L29.9 38.4 L26.6 42.1 L22.0 40.1 L17.7 41.0 L13.8 39.0 L10.2 36.7 L7.2 33.8 L5.8 29.8 L2.4 26.5 L4.3 22.0 L4.3 18.0 L6.3 14.4 L7.7 10.6 L10.3 7.4 L13.2 3.7 L17.9 3.9 L22.0 4.2 L26.1 4.2 L30.9 3.5 L33.0 8.2 L37.2 9.9 L38.8 13.9 L41.0 17.7z' fill='url(%23w)'/%3E%3Ccircle cx='22' cy='22' r='13.5' fill='none' stroke='%233a0610' stroke-opacity='.7' stroke-width='1.6'/%3E%3Ccircle cx='22' cy='22' r='13.5' fill='none' stroke='%23ff8a9a' stroke-opacity='.25' stroke-width='.6' transform='translate(-.6 -.6)'/%3E%3Ctext x='22' y='28.5' text-anchor='middle' font-family='Georgia, serif' font-style='italic' font-weight='700' font-size='17' fill='%233a0610' fill-opacity='.8'%3EA%3C/text%3E%3Ctext x='21.4' y='27.9' text-anchor='middle' font-family='Georgia, serif' font-style='italic' font-weight='700' font-size='17' fill='%23ff9aa6' fill-opacity='.35'%3EA%3C/text%3E%3Cellipse cx='15' cy='12' rx='6' ry='2.6' fill='%23fff' opacity='.22' transform='rotate(-28 15 12)'/%3E%3C/svg%3E");
  --w-near: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='400' viewBox='0 0 400 400'%3E%3Cdefs%3E%3CradialGradient id='p'%3E%3Cstop offset='0' stop-color='%23ff5a3c'/%3E%3Cstop offset='.45' stop-color='%23ff5a3c' stop-opacity='.75'/%3E%3Cstop offset='1' stop-color='%23ff5a3c' stop-opacity='0'/%3E%3C/radialGradient%3E%3C/defs%3E%3Ccircle cx='189.8' cy='263.0' r='3.92' fill='url(%23p)' opacity='0.43'/%3E%3Ccircle cx='4.3' cy='149.9' r='2.88' fill='url(%23p)' opacity='0.80'/%3E%3Ccircle cx='404.3' cy='149.9' r='2.88' fill='url(%23p)' opacity='0.80'/%3E%3Ccircle cx='276.2' cy='240.6' r='3.63' fill='url(%23p)' opacity='0.71'/%3E%3Ccircle cx='58.1' cy='176.0' r='2.59' fill='url(%23p)' opacity='0.85'/%3E%3Ccircle cx='23.5' cy='327.5' r='2.36' fill='url(%23p)' opacity='0.73'/%3E%3Ccircle cx='134.8' cy='161.8' r='4.38' fill='url(%23p)' opacity='0.36'/%3E%3Ccircle cx='24.3' cy='366.0' r='3.50' fill='url(%23p)' opacity='0.40'/%3E%3Ccircle cx='-5.1' cy='378.7' r='2.46' fill='url(%23p)' opacity='0.58'/%3E%3Ccircle cx='394.9' cy='378.7' r='2.46' fill='url(%23p)' opacity='0.58'/%3E%3Ccircle cx='54.0' cy='125.0' r='3.80' fill='url(%23p)' opacity='0.44'/%3E%3Ccircle cx='278.7' cy='20.5' r='2.61' fill='url(%23p)' opacity='0.80'/%3E%3Ccircle cx='160.2' cy='167.5' r='3.73' fill='url(%23p)' opacity='0.61'/%3E%3Ccircle cx='153.8' cy='12.2' r='4.08' fill='url(%23p)' opacity='0.88'/%3E%3Ccircle cx='390.5' cy='265.4' r='3.10' fill='url(%23p)' opacity='0.55'/%3E%3Ccircle cx='276.0' cy='269.5' r='2.46' fill='url(%23p)' opacity='0.48'/%3E%3Ccircle cx='145.3' cy='204.5' r='4.30' fill='url(%23p)' opacity='0.63'/%3E%3Ccircle cx='11.3' cy='329.0' r='3.30' fill='url(%23p)' opacity='0.64'/%3E%3Ccircle cx='88.9' cy='170.9' r='3.18' fill='url(%23p)' opacity='0.77'/%3E%3Ccircle cx='41.0' cy='220.0' r='2.63' fill='url(%23p)' opacity='0.73'/%3E%3Ccircle cx='14.7' cy='110.6' r='3.07' fill='url(%23p)' opacity='0.70'/%3E%3Ccircle cx='20.8' cy='183.7' r='2.71' fill='url(%23p)' opacity='0.51'/%3E%3Ccircle cx='190.5' cy='383.5' r='3.43' fill='url(%23p)' opacity='0.88'/%3E%3Ccircle cx='67.0' cy='369.7' r='3.12' fill='url(%23p)' opacity='0.45'/%3E%3C/svg%3E") 0 0 / 400px 400px repeat;
  --w-near-dx: 0px; --w-near-dy: -800px; --w-near-o: .4;
  --w-near-anim: am-w-drift 48s linear infinite;
  --e-card-top:
    inset 0 1px 0 rgba(var(--t-accent-rgb), .85),
    inset 0 0 0 5px #0e0708,
    inset 0 0 0 6px rgba(234, 219, 208, .08);
}
.app[data-look="level"][data-tier="4"] .page-title h1:not(#am-w) {
  font-family: "Playfair Display", "Didot", "Bodoni 72", "Baskerville", Georgia, "Noto Serif", serif !important;
  font-style: italic;
  font-weight: 600 !important;
  letter-spacing: -.01em !important;
  color: #f6eee8 !important;
  text-shadow: 0 2px 30px rgba(196, 26, 51, .35);
}
.app[data-look="level"][data-tier="4"] .page-title h1:not(#am-w)::after {
  content: ""; display: block; width: min(300px, 86%); height: 26px; margin-top: 12px;
  background: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='26' viewBox='0 0 300 26'%3E%3Cdefs%3E%3ClinearGradient id='rb' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%23e0304b'/%3E%3Cstop offset='1' stop-color='%237e0d20'/%3E%3C/linearGradient%3E%3ClinearGradient id='br' x1='0' y1='0' x2='1' y2='0'%3E%3Cstop offset='0' stop-color='%236b4a1c'/%3E%3Cstop offset='.45' stop-color='%23e9c989'/%3E%3Cstop offset='1' stop-color='%236b4a1c'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M22.0 9.0 L28.4 9.7 L34.8 10.4 L41.2 11.1 L47.6 11.8 L54.0 12.4 L60.4 13.1 L66.8 13.7 L73.2 14.3 L79.6 14.8 L86.0 15.4 L92.4 15.8 L98.8 16.3 L105.2 16.7 L111.6 17.0 L118.0 17.3 L124.4 17.6 L130.8 17.8 L137.2 17.9 L143.6 18.0 L150.0 18.0 L156.4 18.0 L162.8 17.9 L169.2 17.8 L175.6 17.6 L182.0 17.3 L188.4 17.0 L194.8 16.7 L201.2 16.3 L207.6 15.8 L214.0 15.4 L220.4 14.8 L226.8 14.3 L233.2 13.7 L239.6 13.1 L246.0 12.4 L252.4 11.8 L258.8 11.1 L265.2 10.4 L271.6 9.7 L278.0 9.0' stroke='%235e0a18' stroke-width='6' stroke-linecap='round' fill='none'/%3E%3Cpath d='M22.0 9.0 L28.4 9.7 L34.8 10.4 L41.2 11.1 L47.6 11.8 L54.0 12.4 L60.4 13.1 L66.8 13.7 L73.2 14.3 L79.6 14.8 L86.0 15.4 L92.4 15.8 L98.8 16.3 L105.2 16.7 L111.6 17.0 L118.0 17.3 L124.4 17.6 L130.8 17.8 L137.2 17.9 L143.6 18.0 L150.0 18.0 L156.4 18.0 L162.8 17.9 L169.2 17.8 L175.6 17.6 L182.0 17.3 L188.4 17.0 L194.8 16.7 L201.2 16.3 L207.6 15.8 L214.0 15.4 L220.4 14.8 L226.8 14.3 L233.2 13.7 L239.6 13.1 L246.0 12.4 L252.4 11.8 L258.8 11.1 L265.2 10.4 L271.6 9.7 L278.0 9.0' stroke='url(%23rb)' stroke-width='4.4' stroke-linecap='round' fill='none'/%3E%3Cpath d='M25.4 7.1 Q28.4 10.2 31.4 12.3' stroke='%23ff8a9a' stroke-opacity='.45' stroke-width='.9' fill='none'/%3E%3Cpath d='M38.2 8.5 Q41.2 11.6 44.2 13.7' stroke='%23ff8a9a' stroke-opacity='.45' stroke-width='.9' fill='none'/%3E%3Cpath d='M51.0 9.8 Q54.0 12.9 57.0 15.0' stroke='%23ff8a9a' stroke-opacity='.45' stroke-width='.9' fill='none'/%3E%3Cpath d='M63.8 11.1 Q66.8 14.2 69.8 16.3' stroke='%23ff8a9a' stroke-opacity='.45' stroke-width='.9' fill='none'/%3E%3Cpath d='M76.6 12.2 Q79.6 15.3 82.6 17.4' stroke='%23ff8a9a' stroke-opacity='.45' stroke-width='.9' fill='none'/%3E%3Cpath d='M89.4 13.2 Q92.4 16.3 95.4 18.4' stroke='%23ff8a9a' stroke-opacity='.45' stroke-width='.9' fill='none'/%3E%3Cpath d='M102.2 14.1 Q105.2 17.2 108.2 19.3' stroke='%23ff8a9a' stroke-opacity='.45' stroke-width='.9' fill='none'/%3E%3Cpath d='M115.0 14.7 Q118.0 17.8 121.0 19.9' stroke='%23ff8a9a' stroke-opacity='.45' stroke-width='.9' fill='none'/%3E%3Cpath d='M127.8 15.2 Q130.8 18.3 133.8 20.4' stroke='%23ff8a9a' stroke-opacity='.45' stroke-width='.9' fill='none'/%3E%3Cpath d='M140.6 15.4 Q143.6 18.5 146.6 20.6' stroke='%23ff8a9a' stroke-opacity='.45' stroke-width='.9' fill='none'/%3E%3Cpath d='M153.4 15.4 Q156.4 18.5 159.4 20.6' stroke='%23ff8a9a' stroke-opacity='.45' stroke-width='.9' fill='none'/%3E%3Cpath d='M166.2 15.2 Q169.2 18.3 172.2 20.4' stroke='%23ff8a9a' stroke-opacity='.45' stroke-width='.9' fill='none'/%3E%3Cpath d='M179.0 14.7 Q182.0 17.8 185.0 19.9' stroke='%23ff8a9a' stroke-opacity='.45' stroke-width='.9' fill='none'/%3E%3Cpath d='M191.8 14.1 Q194.8 17.2 197.8 19.3' stroke='%23ff8a9a' stroke-opacity='.45' stroke-width='.9' fill='none'/%3E%3Cpath d='M204.6 13.2 Q207.6 16.3 210.6 18.4' stroke='%23ff8a9a' stroke-opacity='.45' stroke-width='.9' fill='none'/%3E%3Cpath d='M217.4 12.2 Q220.4 15.3 223.4 17.4' stroke='%23ff8a9a' stroke-opacity='.45' stroke-width='.9' fill='none'/%3E%3Cpath d='M230.2 11.1 Q233.2 14.2 236.2 16.3' stroke='%23ff8a9a' stroke-opacity='.45' stroke-width='.9' fill='none'/%3E%3Cpath d='M243.0 9.8 Q246.0 12.9 249.0 15.0' stroke='%23ff8a9a' stroke-opacity='.45' stroke-width='.9' fill='none'/%3E%3Cpath d='M255.8 8.5 Q258.8 11.6 261.8 13.7' stroke='%23ff8a9a' stroke-opacity='.45' stroke-width='.9' fill='none'/%3E%3Cpath d='M268.6 7.1 Q271.6 10.2 274.6 12.3' stroke='%23ff8a9a' stroke-opacity='.45' stroke-width='.9' fill='none'/%3E%3Crect x='17.8' y='6' width='4.4' height='18' rx='2' fill='url(%23br)'/%3E%3Ccircle cx='20' cy='6' r='4.6' fill='url(%23br)'/%3E%3Ccircle cx='18.6' cy='4.6' r='1.4' fill='%23fff' opacity='.55'/%3E%3Crect x='277.8' y='6' width='4.4' height='18' rx='2' fill='url(%23br)'/%3E%3Ccircle cx='280' cy='6' r='4.6' fill='url(%23br)'/%3E%3Ccircle cx='278.6' cy='4.6' r='1.4' fill='%23fff' opacity='.55'/%3E%3C/svg%3E") left center / contain no-repeat;
}
.app[data-look="level"][data-tier="4"] .page-title h1 :is(strong, span, b, em):not(#am-w) {
  color: #ff5d74 !important;
  background: none !important;
}
.app[data-look="level"][data-tier="4"] .page-title > div:first-child > span:not(#am-w) {
  display: inline-flex; align-items: center; gap: 10px;
  font-family: "Playfair Display", Georgia, serif !important;
  letter-spacing: .32em !important; color: #d8bca8 !important;
}
/* Печать клуба ставится у подписи заголовка, а не на карточке: на карточке она
   садилась на значки и кнопки («5 дней», «Подробнее»). */
.app[data-look="level"][data-tier="4"] .page-title > div:first-child > span:not(#am-w)::before {
  content: ""; width: 26px; height: 26px; flex: none;
  background: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='44' height='44' viewBox='0 0 44 44'%3E%3Cdefs%3E%3CradialGradient id='w' cx='.4' cy='.35' r='.7'%3E%3Cstop offset='0' stop-color='%23e0304b'/%3E%3Cstop offset='.6' stop-color='%239c1026'/%3E%3Cstop offset='1' stop-color='%234a0612'/%3E%3C/radialGradient%3E%3C/defs%3E%3Cpath d='M40.1 22.0 L42.0 26.6 L38.0 29.7 L37.4 34.3 L33.0 35.8 L29.9 38.4 L26.6 42.1 L22.0 40.1 L17.7 41.0 L13.8 39.0 L10.2 36.7 L7.2 33.8 L5.8 29.8 L2.4 26.5 L4.3 22.0 L4.3 18.0 L6.3 14.4 L7.7 10.6 L10.3 7.4 L13.2 3.7 L17.9 3.9 L22.0 4.2 L26.1 4.2 L30.9 3.5 L33.0 8.2 L37.2 9.9 L38.8 13.9 L41.0 17.7z' fill='url(%23w)'/%3E%3Ccircle cx='22' cy='22' r='13.5' fill='none' stroke='%233a0610' stroke-opacity='.7' stroke-width='1.6'/%3E%3Ccircle cx='22' cy='22' r='13.5' fill='none' stroke='%23ff8a9a' stroke-opacity='.25' stroke-width='.6' transform='translate(-.6 -.6)'/%3E%3Ctext x='22' y='28.5' text-anchor='middle' font-family='Georgia, serif' font-style='italic' font-weight='700' font-size='17' fill='%233a0610' fill-opacity='.8'%3EA%3C/text%3E%3Ctext x='21.4' y='27.9' text-anchor='middle' font-family='Georgia, serif' font-style='italic' font-weight='700' font-size='17' fill='%23ff9aa6' fill-opacity='.35'%3EA%3C/text%3E%3Cellipse cx='15' cy='12' rx='6' ry='2.6' fill='%23fff' opacity='.22' transform='rotate(-28 15 12)'/%3E%3C/svg%3E") center / contain no-repeat;
  filter: drop-shadow(0 3px 6px rgba(0, 0, 0, .6));
}
.app[data-look="level"][data-tier="4"] .page-title > div:first-child > span:not(#am-w)::after {
  content: ""; width: 46px; height: 10px; flex: none;
  background: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='46' height='10' viewBox='0 0 46 10'%3E%3Cdefs%3E%3C/defs%3E%3Cpath d='M0 5H18M28 5H46' stroke='%23d8243e' stroke-width='1' opacity='.8'/%3E%3Cpath d='M23 0.5L27.5 5L23 9.5L18.5 5z' fill='%23d8243e'/%3E%3C/svg%3E") center / contain no-repeat;
}
.app[data-look="level"][data-tier="4"] [data-slot="button"][data-variant="default"]:not(#am-w) {
  font-family: "Playfair Display", Georgia, serif;
  font-size: 14px !important;  /* без капса: мандат 20.09 — капс только в мелких подписях */
}

/* ── GOLD · ТИХАЯ РОСКОШЬ (владелец 03.10) ────────────────────────────────
   Было «аристократия»: корона, филигрань, ар-деко лучи, мерцание, золотая пыль, заголовок
   антиквой из переливающегося металла, кнопка с бегущим бликом. Владелец на снимках: «цыганский
   дизайн… дешёвые рамки… звёздочки на фоне, какой-то дешёвый уровень» — и утвердил концепт
   amir-markets/design/koncept-gold-2026-10-03.html. Правило (SPEC-v2): золото — свет, а не
   краска. Поэтому ни погоды, ни украшений: одна тёплая подсветка сверху, тонкая золотая кромка,
   заголовок тёплым белым шрифтом интерфейса, золото — в подписях и главной кнопке. */
.app[data-look="level"][data-tier="5"] {
  --e-motif: radial-gradient(1200px 620px at 12% -12%, rgba(217, 182, 110, .075), transparent 62%) 0 0 / 100% 100% no-repeat;
  --e-emblem: none;
  --w-far: none; --w-far-anim: none;
  --w-near: none; --w-near-anim: none;
  --w-hero-orn: none;
  --w-card-orn: none;
}
.app[data-look="level"][data-tier="5"] .page-title h1:not(#am-w) {
  font-family: "Manrope", "Inter", system-ui, -apple-system, "Segoe UI", sans-serif !important;
  font-variant-caps: normal; font-weight: 800 !important;
  font-size: clamp(28px, 2.6vw, 36px) !important; letter-spacing: -.025em !important;
  background: none !important; -webkit-background-clip: border-box; background-clip: border-box;
  color: #F3F0E9 !important; filter: none; animation: none;
}
.app[data-look="level"][data-tier="5"] .page-title h1 *:not(#am-w) { color: inherit !important; background: none !important; }
.app[data-look="level"][data-tier="5"] .page-title h1:not(#am-w)::after { content: none; }
.app[data-look="level"][data-tier="5"] .page-title > div:first-child > span:not(#am-w) {
  font-family: "Manrope", "Inter", system-ui, sans-serif !important;
  letter-spacing: .16em !important; font-weight: 800; color: #D9B66E !important;
}
.app[data-look="level"][data-tier="5"] .page-title > div:first-child > span:not(#am-w)::before,
.app[data-look="level"][data-tier="5"] .page-title > div:first-child > span:not(#am-w)::after { content: none; }
.app[data-look="level"][data-tier="5"] [data-slot="button"][data-variant="default"]:not(#am-w) {
  font-family: "Manrope", "Inter", system-ui, sans-serif;
  font-weight: 800 !important; letter-spacing: 0 !important; font-size: 15px !important;
}
/* Блик по лаку — только у Эксклюзива; у GOLD кнопка — ровный тёплый металл без бегущего света. */
.app[data-look="level"][data-tier="4"] [data-slot="button"][data-variant="default"]:not(#am-w) {
  position: relative !important; overflow: hidden !important;
}
.app[data-look="level"][data-tier="4"] [data-slot="button"][data-variant="default"]:not(#am-w)::after {
  content: ""; position: absolute; top: 0; bottom: 0; left: 0; width: 60%;
  background: linear-gradient(105deg, transparent 20%, var(--w-gloss, rgba(255, 255, 245, .75)) 50%, transparent 80%);
  transform: translateX(-180%) skewX(-12deg);
  animation: am-w-gloss 4.8s ease-in-out infinite;
  pointer-events: none;
}
.app[data-look="level"][data-tier="4"] { --w-gloss: rgba(255, 215, 222, .42); }

@font-face { font-family: 'Cormorant SC'; font-style: normal; font-weight: 500; font-display: swap; src: url('/app/assets/CormorantSC-normal-500-cyrillic-BRh65aKE.woff2') format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Cormorant SC'; font-style: normal; font-weight: 500; font-display: swap; src: url('/app/assets/CormorantSC-normal-500-latin-DOvC3svq.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: 'Cormorant SC'; font-style: normal; font-weight: 600; font-display: swap; src: url('/app/assets/CormorantSC-normal-600-cyrillic-BCnXKJ7P.woff2') format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Cormorant SC'; font-style: normal; font-weight: 600; font-display: swap; src: url('/app/assets/CormorantSC-normal-600-latin-B0ni8jpb.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: 'Cormorant SC'; font-style: normal; font-weight: 700; font-display: swap; src: url('/app/assets/CormorantSC-normal-700-cyrillic-CjgI2BQ-.woff2') format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Cormorant SC'; font-style: normal; font-weight: 700; font-display: swap; src: url('/app/assets/CormorantSC-normal-700-latin-Bq-30Vo7.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: 'Playfair Display'; font-style: italic; font-weight: 500 700; font-display: swap; src: url('/app/assets/PlayfairDisplay-italic-500-cyrillic-D-mFOEvF.woff2') format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Playfair Display'; font-style: italic; font-weight: 500 700; font-display: swap; src: url('/app/assets/PlayfairDisplay-italic-500-latin-CMdNrab4.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: 'Playfair Display'; font-style: normal; font-weight: 600; font-display: swap; src: url('/app/assets/PlayfairDisplay-normal-600-cyrillic-PzjyGhEe.woff2') format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Playfair Display'; font-style: normal; font-weight: 600; font-display: swap; src: url('/app/assets/PlayfairDisplay-normal-600-latin-DoK7EpAP.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; }

/* Старая декоративная сетка правого верхнего угла страницы (мятная) в мирах не нужна. */
.app[data-look="level"] .main > main:not(#am-w)::before { background: none !important; }

/* КАРТА КЛУБА. Панель «Мой уровень» перестаёт быть плашкой и становится предметом:
   у Gold — чёрная металлическая карта с чипом, у Эксклюзива — лаковая карта с печатью,
   у ОТС — ледяная пластина, у Семьи — кожа со строчкой. Она чуть наклоняется за курсором
   и ловит блик (координаты даёт useWorldLight). */
.app[data-look="level"][data-tier] :is(.side-level, .member-card):not(#am-env):not(#am-w) {
  position: relative !important;
  overflow: hidden !important;
  min-height: 118px;
  border-radius: 14px !important;
  transform: perspective(700px) rotateX(calc(var(--ty, 0) * -9deg)) rotateY(calc(var(--tx, 0) * 12deg));
  transition: transform .35s cubic-bezier(.2, .7, .2, 1), box-shadow .35s;
  box-shadow: 0 18px 40px rgba(0, 0, 0, .55), inset 0 1px 0 rgba(255, 255, 255, .12) !important;
}
.app[data-look="level"][data-tier] :is(.side-level, .member-card):not(#am-env):not(#am-w)::after {
  content: ""; position: absolute; inset: 0; pointer-events: none; border-radius: inherit;
  background: radial-gradient(circle 130px at var(--mx, 15%) var(--my, -10%), var(--w-card-glare, rgba(255, 255, 255, .16)), transparent 70%);
  mix-blend-mode: screen;
}
.app[data-look="level"][data-tier] .side-level > b:not(#am-w) { position: relative; font-size: 20px !important; }

/* ЖИВОЙ СВЕТ НА ГЛАВНОЙ КАРТОЧКЕ — пятно идёт за рукой. Объявлено на самой карточке,
   иначе переменные курсора прочитались бы у корня, а не у неё. */
.app[data-look="level"][data-tier] :is(.today-market, .wallet-hero, .account-hero, .signal-primary-action, .ch-card, .lv-current, .support-hero):not(#am-w) {
  --w-light: radial-gradient(circle 260px at var(--mx, 50%) var(--my, -60%), var(--w-hero-glare, transparent), transparent 70%) padding-box;
}

/* ОТМЕТКА АКТИВНОГО ПУНКТА — знак мира справа от пункта меню. */
.app[data-look="level"][data-tier] .sidebar button.active:not(#am-w) { position: relative; }
.app[data-look="level"][data-tier] .sidebar button.active:not(#am-w)::after {
  content: ""; position: absolute; right: 10px; top: 50%; width: 14px; height: 14px; margin-top: -7px;
  background: var(--w-nav-mark, none) center / contain no-repeat; pointer-events: none;
}

@media (prefers-reduced-motion: reduce) {
  .app[data-look="level"][data-tier] :is(.side-level, .member-card):not(#am-env):not(#am-w) { transform: none !important; }
}
@media (max-width: 640px) {
  .app[data-look="level"][data-tier="5"]:not(#am-w) { --w-card-orn: none; }
}


.app[data-look="level"][data-tier="1"] {
  --w-card-glare: rgba(255, 214, 160, .22);
  --w-hero-glare: rgba(255, 180, 90, .10);
  --w-nav-mark: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'%3E%3Cdefs%3E%3CradialGradient id='g' cx='.38' cy='.32' r='.75'%3E%3Cstop offset='0' stop-color='%23ffe2a3'/%3E%3Cstop offset='.45' stop-color='%23f29a2e'/%3E%3Cstop offset='1' stop-color='%236b3312'/%3E%3C/radialGradient%3E%3C/defs%3E%3Cpath d='M20 4c8.5 0 15 7.5 15 16.5S28.5 36 20 36 5 29.5 5 20.5 11.5 4 20 4z' fill='url(%23g)'/%3E%3Cellipse cx='14.5' cy='13' rx='4.2' ry='2.6' fill='%23fff' fill-opacity='.45' transform='rotate(-30 14.5 13)'/%3E%3Ccircle cx='24' cy='24' r='1.3' fill='%235a2a0c' fill-opacity='.45'/%3E%3C/svg%3E");
}
.app[data-look="level"][data-tier="1"] :is(.side-level, .member-card):not(#am-env):not(#am-w) {
  background:
    url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'%3E%3Cdefs%3E%3CradialGradient id='g' cx='.38' cy='.32' r='.75'%3E%3Cstop offset='0' stop-color='%23ffe2a3'/%3E%3Cstop offset='.45' stop-color='%23f29a2e'/%3E%3Cstop offset='1' stop-color='%236b3312'/%3E%3C/radialGradient%3E%3C/defs%3E%3Cpath d='M20 4c8.5 0 15 7.5 15 16.5S28.5 36 20 36 5 29.5 5 20.5 11.5 4 20 4z' fill='url(%23g)'/%3E%3Cellipse cx='14.5' cy='13' rx='4.2' ry='2.6' fill='%23fff' fill-opacity='.45' transform='rotate(-30 14.5 13)'/%3E%3Ccircle cx='24' cy='24' r='1.3' fill='%235a2a0c' fill-opacity='.45'/%3E%3C/svg%3E") right 12px top 12px / 30px 30px no-repeat padding-box,
    linear-gradient(135deg, #2e2622 0%, #171313 100%) padding-box !important;
  outline: 1px dashed rgba(247, 194, 122, .35); outline-offset: -7px;
}


.app[data-look="level"][data-tier="2"] {
  /* БЛИК НА СВЕТЛОМ МИРЕ ГАСИТ КАРТУ. Он рисуется режимом «screen» — то есть
     ОСВЕТЛЯЕТ то, что под ним. На тёмной карте это был мягкий отблеск; когда мир стал
     светлым, карта осталась единственным тёмным предметом, и блик, рассчитанный на
     большую карточку, забелил её целиком: машинная проверка 20.09 намерила «Открыто
     тебе» и «OTS 250» при контрасте 1.2. */
  --w-card-glare: rgba(150, 195, 255, .12);
  --w-hero-glare: rgba(170, 215, 255, .10);
  --w-nav-mark: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cdefs%3E%3C/defs%3E%3Cg transform='translate(8.0 8.0)' stroke='%232f6bc4' stroke-width='1.2' stroke-linecap='round' fill='none' opacity='1.0'%3E%3Cpath d='M0 0V-7.00M0 -3.18l-1.81 -1.36M0 -3.18l1.81 -1.36M0 -4.96l-1.21 -0.91M0 -4.96l1.21 -0.91' transform='rotate(0)'/%3E%3Cpath d='M0 0V-7.00M0 -3.18l-1.81 -1.36M0 -3.18l1.81 -1.36M0 -4.96l-1.21 -0.91M0 -4.96l1.21 -0.91' transform='rotate(60)'/%3E%3Cpath d='M0 0V-7.00M0 -3.18l-1.81 -1.36M0 -3.18l1.81 -1.36M0 -4.96l-1.21 -0.91M0 -4.96l1.21 -0.91' transform='rotate(120)'/%3E%3Cpath d='M0 0V-7.00M0 -3.18l-1.81 -1.36M0 -3.18l1.81 -1.36M0 -4.96l-1.21 -0.91M0 -4.96l1.21 -0.91' transform='rotate(180)'/%3E%3Cpath d='M0 0V-7.00M0 -3.18l-1.81 -1.36M0 -3.18l1.81 -1.36M0 -4.96l-1.21 -0.91M0 -4.96l1.21 -0.91' transform='rotate(240)'/%3E%3Cpath d='M0 0V-7.00M0 -3.18l-1.81 -1.36M0 -3.18l1.81 -1.36M0 -4.96l-1.21 -0.91M0 -4.96l1.21 -0.91' transform='rotate(300)'/%3E%3Ccircle r='0.84' fill='%232f6bc4' stroke='none'/%3E%3C/g%3E%3C/svg%3E");
}
/* КАРТА УЧАСТНИКА В СВЕТЛОМ МИРЕ — СИНИЙ ПЛАСТИК. Она единственная здесь остаётся тёмной:
   это предмет в руках, а не поверхность экрана. Без своего цвета она получила бы белую
   заливку мира, а надписи на ней светлые — и машинная проверка 20.09 нашла ровно это:
   «OTS 250» и «Открыто тебе» при контрасте 1.3, то есть почти невидимые. */
.app[data-look="level"][data-tier="2"] :is(.side-level, .member-card) :is(b, i, em, small, span, p, button, svg):not(#am-w) {
  color: #eaf2ff !important;
}
/* СМЫСЛОВЫЕ ЦВЕТА В СВЕТЛОМ МИРЕ БЕРУТ ТЁМНЫЕ ВАРИАНТЫ. Зелёный «в плюс» и мятная
   подпись «ДОСТУПНО СЕЙЧАС» подбирались к почти чёрному экрану: на белой бумаге тот же
   зелёный даёт контраст 1.4-1.5, то есть надпись видно только тому, кто знает, что она
   там есть. Цвет остаётся зелёным — меняется его светлота, потому что светлота зависит
   от того, на чём он лежит, а смысл — нет. Темы это не касается: красное остаётся
   красным, зелёное зелёным. */
.app[data-look="level"][data-tier="2"] :is(.signal-primary-action, .next-session-action) > span:not(#am-w) { color: #0c7f57 !important; }
.app[data-look="level"][data-tier="2"] { --am-win: #0a6349; --am-loss: #ab2831; }
/* У ОТС 500 фон глубокий бирюзовый, и приглушённый зелёный цвет раздела на нём читается
   при 2.5 — это осталось с тех пор, когда профиль был на почти чёрном. Тон тот же,
   светлота поднята под фон, на котором он теперь лежит. */
.app[data-look="level"][data-tier="3"].page-profile:not(#am-w), .app[data-look="level"][data-tier="3"].page-support:not(#am-w) {
  --realm: #bfe9df; --realm-rgb: 191, 233, 223;
}
/* Подпись «ПРОФИЛЬ» над именем на карте ОТС 500 шла серым текстом среды поверх
   бирюзового сияния карты — 2.5. Карта тёмная, подпись светлеет вместе с ней. */
.app[data-look="level"][data-tier="3"] .profile-hero small:not(#am-w) { color: #b9d6d0 !important; }
/* КАРТА КЛУБА В ПРОФИЛЕ — ТОЖЕ ТЁМНЫЙ ПРЕДМЕТ. Она остаётся тёмной во всех мирах, а
   текст ей давала среда: в светлом мире «Ступень OTS 250» стала тёмной на тёмном
   (контраст 1.5). Тёмный предмет несёт свой светлый текст сам. */
.app[data-look="level"][data-tier="2"] :is(.profile-hero, .profile-pop > header):not(#am-w),
.app[data-look="level"][data-tier="2"] :is(.profile-hero, .profile-pop > header) :is(h2, b, p, small, span, em):not(#am-w) {
  color: #f2f6ff !important;
}
/* ЦВЕТ РАЗДЕЛА В СВЕТЛОМ МИРЕ. У каждого экрана свой оттенок-опознаватель (золото у
   уровней, коралл у уведомлений). Их светлота подбиралась к почти чёрному фону: на
   белой бумаге золото даёт контраст 2.0, и крошка «AMIR MARKETS / УРОВНИ» читается
   с трудом. Тон сохранён, опущена только светлота — раздел по-прежнему узнаётся. */
.app[data-look="level"][data-tier="2"].page-learn:not(#am-w) { --realm: #001bad; --realm-rgb: 0, 27, 173;  }
.app[data-look="level"][data-tier="2"].page-community:not(#am-w) { --realm: #0037ad; --realm-rgb: 0, 55, 173;  }
.app[data-look="level"][data-tier="2"].page-challenges:not(#am-w) { --realm: #886925; --realm-rgb: 136, 105, 37;  }
.app[data-look="level"][data-tier="2"].page-rewards:not(#am-w) { --realm: #8d6c21; --realm-rgb: 141, 108, 33;  }
.app[data-look="level"][data-tier="2"].page-levels:not(#am-w) { --realm: #80632e; --realm-rgb: 128, 99, 46;  }
.app[data-look="level"][data-tier="2"].page-access:not(#am-w) { --realm: #80632e; --realm-rgb: 128, 99, 46;  }
.app[data-look="level"][data-tier="2"].page-notifications:not(#am-w) { --realm: #ad1300; --realm-rgb: 173, 19, 0;  }
.app[data-look="level"][data-tier="2"].page-profile:not(#am-w) { --realm: #3f6e63; --realm-rgb: 63, 110, 99;  }
.app[data-look="level"][data-tier="2"].page-support:not(#am-w) { --realm: #3f6e63; --realm-rgb: 63, 110, 99;  }
.app[data-look="level"][data-tier="3"] {
  --w-card-glare: rgba(170, 255, 240, .30);
  --w-hero-glare: rgba(47, 255, 193, .12);
  --w-nav-mark: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cdefs%3E%3C/defs%3E%3Cg transform='translate(8.0 8.0)' stroke='%239ff6f0' stroke-width='1.1' stroke-linecap='round' fill='none' opacity='1.0'%3E%3Cpath d='M0 0V-7.00M0 -3.18l-1.81 -1.36M0 -3.18l1.81 -1.36M0 -4.96l-1.21 -0.91M0 -4.96l1.21 -0.91' transform='rotate(0)'/%3E%3Cpath d='M0 0V-7.00M0 -3.18l-1.81 -1.36M0 -3.18l1.81 -1.36M0 -4.96l-1.21 -0.91M0 -4.96l1.21 -0.91' transform='rotate(60)'/%3E%3Cpath d='M0 0V-7.00M0 -3.18l-1.81 -1.36M0 -3.18l1.81 -1.36M0 -4.96l-1.21 -0.91M0 -4.96l1.21 -0.91' transform='rotate(120)'/%3E%3Cpath d='M0 0V-7.00M0 -3.18l-1.81 -1.36M0 -3.18l1.81 -1.36M0 -4.96l-1.21 -0.91M0 -4.96l1.21 -0.91' transform='rotate(180)'/%3E%3Cpath d='M0 0V-7.00M0 -3.18l-1.81 -1.36M0 -3.18l1.81 -1.36M0 -4.96l-1.21 -0.91M0 -4.96l1.21 -0.91' transform='rotate(240)'/%3E%3Cpath d='M0 0V-7.00M0 -3.18l-1.81 -1.36M0 -3.18l1.81 -1.36M0 -4.96l-1.21 -0.91M0 -4.96l1.21 -0.91' transform='rotate(300)'/%3E%3Ccircle r='0.84' fill='%239ff6f0' stroke='none'/%3E%3C/g%3E%3C/svg%3E");
}
/* Ритуал ОТС: экран затягивает морозом от углов и он оттаивает. Одно объявление на обе
   ступени — картинка мороза тяжёлая, дублировать её незачем. */
.app[data-look="level"]:is([data-tier="2"], [data-tier="3"]) {
}
.app[data-look="level"][data-tier="2"] :is(.side-level, .member-card):not(#am-env):not(#am-w) {
  background:
    url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='34' height='26' viewBox='0 0 34 26'%3E%3Cdefs%3E%3ClinearGradient id='au' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%23fff3c4'/%3E%3Cstop offset='.35' stop-color='%23ffd36b'/%3E%3Cstop offset='.62' stop-color='%23b8801c'/%3E%3Cstop offset='1' stop-color='%23ffe29a'/%3E%3C/linearGradient%3E%3C/defs%3E%3Crect x='.5' y='.5' width='33' height='25' rx='5' fill='url(%23au)' stroke='%236a4408' stroke-width='.8'/%3E%3Cpath d='M0 9H11M0 17H11M23 9H34M23 17H34M11 0V26M23 0V26M11 13H23' stroke='%236a4408' stroke-opacity='.55' stroke-width='.8' fill='none'/%3E%3Crect x='11' y='6' width='12' height='14' rx='2' fill='none' stroke='%23fff3c4' stroke-opacity='.6' stroke-width='.7'/%3E%3C/svg%3E") left 14px bottom 14px / 30px 23px no-repeat padding-box,
    url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140' viewBox='0 0 140 140'%3E%3Cdefs%3E%3C/defs%3E%3Cline x1='69' y1='78' x2='57' y2='86' stroke='%23ffffff' stroke-opacity='0.39' stroke-width='1.2'/%3E%3Cline x1='68' y1='50' x2='73' y2='65' stroke='%23ffffff' stroke-opacity='0.33' stroke-width='1.1'/%3E%3Cline x1='125' y1='96' x2='119' y2='110' stroke='%23ffffff' stroke-opacity='0.45' stroke-width='0.7'/%3E%3Cline x1='102' y1='42' x2='120' y2='65' stroke='%23ffffff' stroke-opacity='0.40' stroke-width='1.4'/%3E%3Cline x1='87' y1='107' x2='82' y2='118' stroke='%23ffffff' stroke-opacity='0.57' stroke-width='0.8'/%3E%3Cline x1='57' y1='18' x2='73' y2='21' stroke='%23ffffff' stroke-opacity='0.26' stroke-width='0.9'/%3E%3Cline x1='119' y1='140' x2='122' y2='150' stroke='%23ffffff' stroke-opacity='0.41' stroke-width='0.7'/%3E%3Cline x1='30' y1='87' x2='27' y2='95' stroke='%23ffffff' stroke-opacity='0.47' stroke-width='0.9'/%3E%3Cline x1='56' y1='19' x2='59' y2='29' stroke='%23ffffff' stroke-opacity='0.56' stroke-width='1.1'/%3E%3Cline x1='88' y1='57' x2='72' y2='59' stroke='%23ffffff' stroke-opacity='0.34' stroke-width='0.9'/%3E%3Cline x1='128' y1='22' x2='107' y2='41' stroke='%23ffffff' stroke-opacity='0.63' stroke-width='1.0'/%3E%3Cline x1='63' y1='122' x2='47' y2='142' stroke='%23ffffff' stroke-opacity='0.33' stroke-width='1.1'/%3E%3Cline x1='103' y1='33' x2='124' y2='49' stroke='%23ffffff' stroke-opacity='0.51' stroke-width='0.9'/%3E%3Cline x1='68' y1='36' x2='75' y2='43' stroke='%23ffffff' stroke-opacity='0.43' stroke-width='0.7'/%3E%3Cline x1='126' y1='134' x2='123' y2='143' stroke='%23ffffff' stroke-opacity='0.52' stroke-width='0.7'/%3E%3Cline x1='52' y1='18' x2='52' y2='28' stroke='%23ffffff' stroke-opacity='0.38' stroke-width='0.8'/%3E%3Cline x1='65' y1='130' x2='59' y2='155' stroke='%23ffffff' stroke-opacity='0.58' stroke-width='1.0'/%3E%3Cline x1='10' y1='8' x2='27' y2='16' stroke='%23ffffff' stroke-opacity='0.40' stroke-width='1.3'/%3E%3Cline x1='28' y1='18' x2='19' y2='38' stroke='%23ffffff' stroke-opacity='0.27' stroke-width='0.9'/%3E%3Cline x1='62' y1='115' x2='41' y2='133' stroke='%23ffffff' stroke-opacity='0.49' stroke-width='1.4'/%3E%3Cline x1='66' y1='40' x2='90' y2='52' stroke='%23ffffff' stroke-opacity='0.54' stroke-width='1.1'/%3E%3Cline x1='137' y1='88' x2='150' y2='108' stroke='%23ffffff' stroke-opacity='0.67' stroke-width='0.7'/%3E%3Cline x1='132' y1='58' x2='150' y2='65' stroke='%23ffffff' stroke-opacity='0.60' stroke-width='1.0'/%3E%3Cline x1='38' y1='107' x2='59' y2='115' stroke='%23ffffff' stroke-opacity='0.41' stroke-width='1.1'/%3E%3Cline x1='71' y1='39' x2='92' y2='55' stroke='%23ffffff' stroke-opacity='0.46' stroke-width='0.8'/%3E%3Cline x1='83' y1='108' x2='100' y2='113' stroke='%23ffffff' stroke-opacity='0.32' stroke-width='1.2'/%3E%3C/svg%3E") 0 0 / 140px 140px repeat padding-box,
    linear-gradient(160deg, #3a6ecd 0%, #17408f 45%, #0a2456 100%) padding-box !important;
  border: 1px solid rgba(200, 230, 255, .55) !important;
}
.app[data-look="level"][data-tier="3"] :is(.side-level, .member-card):not(#am-env):not(#am-w) {
  background:
    linear-gradient(100deg, transparent 20%, rgba(47, 255, 193, .25) 45%, rgba(110, 236, 220, .22) 65%, transparent 85%) padding-box,
    url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='520' height='520' viewBox='0 0 520 520'%3E%3Cdefs%3E%3C/defs%3E%3Ccircle cx='198' cy='120' r='0.6' fill='%23e9fbff' opacity='0.79'/%3E%3Ccircle cx='201' cy='466' r='0.8' fill='%23e9fbff' opacity='0.58'/%3E%3Ccircle cx='199' cy='380' r='1.3' fill='%23e9fbff' opacity='0.26'/%3E%3Ccircle cx='130' cy='519' r='0.5' fill='%23e9fbff' opacity='0.51'/%3E%3Ccircle cx='81' cy='78' r='0.8' fill='%23e9fbff' opacity='0.35'/%3E%3Ccircle cx='340' cy='323' r='0.5' fill='%23e9fbff' opacity='0.32'/%3E%3Ccircle cx='306' cy='225' r='0.8' fill='%23e9fbff' opacity='0.75'/%3E%3Ccircle cx='112' cy='378' r='1.0' fill='%23e9fbff' opacity='0.33'/%3E%3Ccircle cx='348' cy='64' r='0.6' fill='%23e9fbff' opacity='0.66'/%3E%3Ccircle cx='510' cy='28' r='0.8' fill='%23e9fbff' opacity='0.39'/%3E%3Ccircle cx='14' cy='300' r='1.0' fill='%23e9fbff' opacity='0.78'/%3E%3Ccircle cx='440' cy='157' r='0.6' fill='%23e9fbff' opacity='0.31'/%3E%3Ccircle cx='49' cy='11' r='1.0' fill='%23e9fbff' opacity='0.77'/%3E%3Ccircle cx='120' cy='45' r='0.5' fill='%23e9fbff' opacity='0.53'/%3E%3Ccircle cx='379' cy='221' r='0.8' fill='%23e9fbff' opacity='0.57'/%3E%3Ccircle cx='458' cy='341' r='0.8' fill='%23e9fbff' opacity='0.36'/%3E%3Ccircle cx='420' cy='372' r='0.5' fill='%23e9fbff' opacity='0.84'/%3E%3Ccircle cx='367' cy='465' r='1.0' fill='%23e9fbff' opacity='0.64'/%3E%3Ccircle cx='390' cy='317' r='1.0' fill='%23e9fbff' opacity='0.61'/%3E%3Ccircle cx='52' cy='492' r='0.6' fill='%23e9fbff' opacity='0.51'/%3E%3Ccircle cx='381' cy='354' r='1.0' fill='%23e9fbff' opacity='0.72'/%3E%3Ccircle cx='43' cy='348' r='1.3' fill='%23e9fbff' opacity='0.38'/%3E%3Ccircle cx='357' cy='144' r='0.8' fill='%23e9fbff' opacity='0.73'/%3E%3Ccircle cx='324' cy='410' r='0.8' fill='%23e9fbff' opacity='0.70'/%3E%3Ccircle cx='381' cy='111' r='0.6' fill='%23e9fbff' opacity='0.38'/%3E%3Ccircle cx='117' cy='244' r='0.6' fill='%23e9fbff' opacity='0.29'/%3E%3Ccircle cx='123' cy='295' r='0.6' fill='%23e9fbff' opacity='0.55'/%3E%3Ccircle cx='63' cy='200' r='0.5' fill='%23e9fbff' opacity='0.74'/%3E%3Ccircle cx='233' cy='385' r='0.6' fill='%23e9fbff' opacity='0.58'/%3E%3Ccircle cx='259' cy='505' r='0.8' fill='%23e9fbff' opacity='0.74'/%3E%3Ccircle cx='16' cy='307' r='0.6' fill='%23e9fbff' opacity='0.63'/%3E%3Ccircle cx='267' cy='338' r='0.6' fill='%23e9fbff' opacity='0.50'/%3E%3Ccircle cx='506' cy='500' r='0.5' fill='%23e9fbff' opacity='0.56'/%3E%3Ccircle cx='310' cy='183' r='1.0' fill='%23e9fbff' opacity='0.80'/%3E%3Ccircle cx='471' cy='160' r='0.6' fill='%23e9fbff' opacity='0.41'/%3E%3Ccircle cx='197' cy='120' r='0.5' fill='%23e9fbff' opacity='0.77'/%3E%3Ccircle cx='145' cy='305' r='0.8' fill='%23e9fbff' opacity='0.49'/%3E%3Ccircle cx='256' cy='442' r='0.5' fill='%23e9fbff' opacity='0.55'/%3E%3Ccircle cx='309' cy='121' r='0.6' fill='%23e9fbff' opacity='0.79'/%3E%3Ccircle cx='152' cy='128' r='1.0' fill='%23e9fbff' opacity='0.81'/%3E%3Ccircle cx='430' cy='28' r='1.3' fill='%23e9fbff' opacity='0.27'/%3E%3Ccircle cx='395' cy='102' r='1.0' fill='%23e9fbff' opacity='0.44'/%3E%3Ccircle cx='191' cy='90' r='0.5' fill='%23e9fbff' opacity='0.38'/%3E%3Ccircle cx='454' cy='267' r='0.6' fill='%23e9fbff' opacity='0.27'/%3E%3Ccircle cx='307' cy='195' r='0.6' fill='%23e9fbff' opacity='0.74'/%3E%3Ccircle cx='141' cy='12' r='1.3' fill='%23e9fbff' opacity='0.69'/%3E%3Ccircle cx='201' cy='97' r='1.3' fill='%23e9fbff' opacity='0.45'/%3E%3Ccircle cx='265' cy='96' r='0.5' fill='%23e9fbff' opacity='0.59'/%3E%3Ccircle cx='375' cy='99' r='0.6' fill='%23e9fbff' opacity='0.42'/%3E%3Ccircle cx='45' cy='343' r='1.0' fill='%23e9fbff' opacity='0.26'/%3E%3Ccircle cx='161' cy='158' r='0.5' fill='%23e9fbff' opacity='0.58'/%3E%3Ccircle cx='464' cy='166' r='1.0' fill='%23e9fbff' opacity='0.70'/%3E%3Ccircle cx='194' cy='413' r='0.5' fill='%23e9fbff' opacity='0.29'/%3E%3Ccircle cx='202' cy='83' r='1.0' fill='%23e9fbff' opacity='0.35'/%3E%3Ccircle cx='83' cy='46' r='0.5' fill='%23e9fbff' opacity='0.44'/%3E%3Ccircle cx='470' cy='163' r='0.5' fill='%23e9fbff' opacity='0.37'/%3E%3Ccircle cx='469' cy='506' r='0.5' fill='%23e9fbff' opacity='0.79'/%3E%3Ccircle cx='475' cy='501' r='0.8' fill='%23e9fbff' opacity='0.57'/%3E%3Ccircle cx='486' cy='142' r='0.6' fill='%23e9fbff' opacity='0.70'/%3E%3Ccircle cx='454' cy='401' r='1.0' fill='%23e9fbff' opacity='0.54'/%3E%3Ccircle cx='131' cy='357' r='1.3' fill='%23e9fbff' opacity='0.67'/%3E%3Ccircle cx='298' cy='84' r='0.6' fill='%23e9fbff' opacity='0.73'/%3E%3Ccircle cx='13' cy='143' r='0.5' fill='%23e9fbff' opacity='0.37'/%3E%3Ccircle cx='346' cy='146' r='0.8' fill='%23e9fbff' opacity='0.81'/%3E%3Ccircle cx='152' cy='149' r='0.5' fill='%23e9fbff' opacity='0.76'/%3E%3Ccircle cx='517' cy='159' r='1.0' fill='%23e9fbff' opacity='0.78'/%3E%3Ccircle cx='285' cy='374' r='0.8' fill='%23e9fbff' opacity='0.64'/%3E%3Ccircle cx='122' cy='483' r='1.0' fill='%23e9fbff' opacity='0.61'/%3E%3Ccircle cx='346' cy='218' r='0.6' fill='%23e9fbff' opacity='0.27'/%3E%3Ccircle cx='105' cy='154' r='0.8' fill='%23e9fbff' opacity='0.26'/%3E%3Cpath d='M257.6556328096451 345.23601587338095L258.75563280964514 350.1360158733809L263.6556328096451 351.23601587338095L258.75563280964514 352.336015873381L257.6556328096451 357.23601587338095L256.5556328096451 352.336015873381L251.6556328096451 351.23601587338095L256.5556328096451 350.1360158733809z' fill='%23fff' opacity='.8'/%3E%3Cpath d='M264.75822651245096 283.39987169362587L265.858226512451 288.29987169362585L270.75822651245096 289.39987169362587L265.858226512451 290.4998716936259L264.75822651245096 295.39987169362587L263.65822651245094 290.4998716936259L258.75822651245096 289.39987169362587L263.65822651245094 288.29987169362585z' fill='%23fff' opacity='.8'/%3E%3Cpath d='M246.67052575536928 397.7418149302564L247.77052575536928 402.6418149302564L252.67052575536928 403.7418149302564L247.77052575536928 404.8418149302564L246.67052575536928 409.7418149302564L245.5705257553693 404.8418149302564L240.67052575536928 403.7418149302564L245.5705257553693 402.6418149302564z' fill='%23fff' opacity='.8'/%3E%3Cpath d='M42.93246858744357 419.84090731807345L44.032468587443574 424.7409073180734L48.93246858744357 425.84090731807345L44.032468587443574 426.94090731807347L42.93246858744357 431.84090731807345L41.83246858744357 426.94090731807347L36.93246858744357 425.84090731807345L41.83246858744357 424.7409073180734z' fill='%23fff' opacity='.8'/%3E%3C/svg%3E") 0 0 / 260px 260px repeat padding-box,
    linear-gradient(160deg, rgba(40, 180, 190, .30) 0%, rgba(4, 40, 48, .95) 100%) padding-box !important;
  border: 1px solid rgba(160, 250, 240, .5) !important;
}


.app[data-look="level"][data-tier="4"] {
  --w-card-glare: rgba(255, 160, 175, .20);
  --w-hero-glare: rgba(196, 26, 51, .16);
  --w-nav-mark: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='44' height='44' viewBox='0 0 44 44'%3E%3Cdefs%3E%3CradialGradient id='w' cx='.4' cy='.35' r='.7'%3E%3Cstop offset='0' stop-color='%23e0304b'/%3E%3Cstop offset='.6' stop-color='%239c1026'/%3E%3Cstop offset='1' stop-color='%234a0612'/%3E%3C/radialGradient%3E%3C/defs%3E%3Cpath d='M40.1 22.0 L42.0 26.6 L38.0 29.7 L37.4 34.3 L33.0 35.8 L29.9 38.4 L26.6 42.1 L22.0 40.1 L17.7 41.0 L13.8 39.0 L10.2 36.7 L7.2 33.8 L5.8 29.8 L2.4 26.5 L4.3 22.0 L4.3 18.0 L6.3 14.4 L7.7 10.6 L10.3 7.4 L13.2 3.7 L17.9 3.9 L22.0 4.2 L26.1 4.2 L30.9 3.5 L33.0 8.2 L37.2 9.9 L38.8 13.9 L41.0 17.7z' fill='url(%23w)'/%3E%3Ccircle cx='22' cy='22' r='13.5' fill='none' stroke='%233a0610' stroke-opacity='.7' stroke-width='1.6'/%3E%3Ccircle cx='22' cy='22' r='13.5' fill='none' stroke='%23ff8a9a' stroke-opacity='.25' stroke-width='.6' transform='translate(-.6 -.6)'/%3E%3Ctext x='22' y='28.5' text-anchor='middle' font-family='Georgia, serif' font-style='italic' font-weight='700' font-size='17' fill='%233a0610' fill-opacity='.8'%3EA%3C/text%3E%3Ctext x='21.4' y='27.9' text-anchor='middle' font-family='Georgia, serif' font-style='italic' font-weight='700' font-size='17' fill='%23ff9aa6' fill-opacity='.35'%3EA%3C/text%3E%3Cellipse cx='15' cy='12' rx='6' ry='2.6' fill='%23fff' opacity='.22' transform='rotate(-28 15 12)'/%3E%3C/svg%3E");
}
.app[data-look="level"][data-tier="4"] :is(.side-level, .member-card):not(#am-env):not(#am-w) {
  background:
    linear-gradient(115deg, transparent 30%, rgba(255, 200, 210, .07) 42%, transparent 54%) padding-box,
    radial-gradient(ellipse 90% 70% at 100% 0%, rgba(196, 26, 51, .35), transparent 70%) padding-box,
    linear-gradient(160deg, #1a080b 0%, #070304 100%) padding-box,
    linear-gradient(135deg, rgba(216, 36, 62, .9), rgba(94, 10, 24, .5) 50%, rgba(216, 36, 62, .9)) border-box !important;
  border: 1px solid transparent !important;
}
.app[data-look="level"][data-tier="4"] :is(.side-level, .member-card .mc-front) > b:not(#am-w) { font-family: "Playfair Display", Georgia, serif; font-style: italic; font-weight: 600; font-size: 24px !important; color: #f6eee8 !important; }
.app[data-look="level"][data-tier="4"] .side-level:not(#am-env)::before { width: 42px !important; height: 42px !important; }


.app[data-look="level"][data-tier="5"] {
  --w-card-glare: rgba(255, 230, 160, .30);
  --w-hero-glare: rgba(255, 211, 107, .13);
  --w-nav-mark: none;   /* 03.10: без короны в меню — золото светом, не значком */
}
.app[data-look="level"][data-tier="5"] :is(.side-level, .member-card):not(#am-env):not(#am-w) {
  background:
    linear-gradient(115deg, rgba(255, 255, 255, 0) 30%, rgba(255, 255, 255, .08) 46%, rgba(255, 255, 255, 0) 60%) padding-box,
    repeating-linear-gradient(90deg, rgba(255, 255, 255, .018) 0 1px, transparent 1px 3px) padding-box,
    linear-gradient(145deg, #1c1a15 0%, #0a0908 60%, #15130e 100%) padding-box,
    linear-gradient(135deg, #fff0b8 0%, #c8912a 30%, #5a3d0c 55%, #ffd36b 100%) border-box !important;
  border: 1px solid transparent !important;
  padding-bottom: 48px !important;
}
.app[data-look="level"][data-tier="5"] :is(.side-level, .member-card .mc-front) > b:not(#am-w) {
  /* 03.10: название на карте — шрифт интерфейса, ровное шампанское, без литого металла. */
  font-family: "Manrope", "Inter", system-ui, sans-serif; font-weight: 800; font-size: 22px !important; letter-spacing: .06em;
  background: none; color: #F2DCA6 !important;
}
.app[data-look="level"][data-tier="2"] :is(.side-level, .member-card):not(#am-env):not(#am-w) { padding-bottom: 46px !important; }


/* Ритуал входа — src/app/WorldRitual.tsx + src/styles/product.ritual.css. */


/* ИСТОРИЯ ОТС — свёрнутая плашка на «Сегодня». Базовый вид работает и в стандартном
   оформлении; в мирах ОТС это кусок льда с инеем. */
.ots-story {
  margin: 0 0 18px; border-radius: 14px; overflow: hidden;
  border: 1px solid rgba(190, 225, 255, .22); background: rgba(160, 210, 255, .05);
}
.ots-story > summary {
  list-style: none; cursor: pointer; display: flex; align-items: center; gap: 10px;
  padding: 12px 16px; font: 650 15px/1.2 var(--font-ui); color: #e3f2ff;
}
.ots-story > summary::-webkit-details-marker { display: none; }
.ots-story > summary::after { content: "Читать"; margin-left: auto; font-size: 13px; opacity: .7; }
.ots-story[open] > summary::after { content: "Свернуть"; }
.ots-story-flake { width: 18px; height: 18px; flex: none; background: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cdefs%3E%3C/defs%3E%3Cg transform='translate(8.0 8.0)' stroke='%23bfe0ff' stroke-width='1.1' stroke-linecap='round' fill='none' opacity='1.0'%3E%3Cpath d='M0 0V-7.00M0 -3.18l-1.81 -1.36M0 -3.18l1.81 -1.36M0 -4.96l-1.21 -0.91M0 -4.96l1.21 -0.91' transform='rotate(0)'/%3E%3Cpath d='M0 0V-7.00M0 -3.18l-1.81 -1.36M0 -3.18l1.81 -1.36M0 -4.96l-1.21 -0.91M0 -4.96l1.21 -0.91' transform='rotate(60)'/%3E%3Cpath d='M0 0V-7.00M0 -3.18l-1.81 -1.36M0 -3.18l1.81 -1.36M0 -4.96l-1.21 -0.91M0 -4.96l1.21 -0.91' transform='rotate(120)'/%3E%3Cpath d='M0 0V-7.00M0 -3.18l-1.81 -1.36M0 -3.18l1.81 -1.36M0 -4.96l-1.21 -0.91M0 -4.96l1.21 -0.91' transform='rotate(180)'/%3E%3Cpath d='M0 0V-7.00M0 -3.18l-1.81 -1.36M0 -3.18l1.81 -1.36M0 -4.96l-1.21 -0.91M0 -4.96l1.21 -0.91' transform='rotate(240)'/%3E%3Cpath d='M0 0V-7.00M0 -3.18l-1.81 -1.36M0 -3.18l1.81 -1.36M0 -4.96l-1.21 -0.91M0 -4.96l1.21 -0.91' transform='rotate(300)'/%3E%3Ccircle r='0.84' fill='%23bfe0ff' stroke='none'/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat; }
.ots-story ol { margin: 0; padding: 4px 18px 18px 18px; list-style: none; display: grid; gap: 12px; counter-reset: ots; }
.ots-story li {
  position: relative; padding-left: 34px; font-size: 15px; line-height: 1.5; color: #cfe3f5; counter-increment: ots;
}
.ots-story li::before {
  content: counter(ots); position: absolute; left: 0; top: 1px; width: 22px; height: 22px; border-radius: 50%;
  display: grid; place-items: center; font: 700 12px/1 var(--font-ui); color: #04101f;
  background: linear-gradient(180deg, #ffffff, #9fd0ff);
}
.ots-story li b { color: #ffffff; }
.app[data-look="level"]:is([data-tier="2"], [data-tier="3"]) .ots-story:not(#am-w) {
  background:
    url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='150' height='150' viewBox='0 0 150 150'%3E%3Cdefs%3E%3CradialGradient id='m' cx='0' cy='0' r='1' gradientUnits='objectBoundingBox'%3E%3Cstop offset='0' stop-color='%23fff'/%3E%3Cstop offset='.85' stop-color='%23fff' stop-opacity='0'/%3E%3C/radialGradient%3E%3Cmask id='k'%3E%3Crect width='150' height='150' fill='url(%23m)'/%3E%3C/mask%3E%3C/defs%3E%3Cg mask='url(%23k)' stroke='%23e6f4ff' stroke-linecap='round'%3E%3Cpath d='M0 0L96 13' stroke-opacity='0.61' stroke-width='1.2'/%3E%3Cpath d='M24 3L52 -25' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M31 -4L26 -20' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M31 -4L47 -2' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M38 -11L36 -22' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M38 -11L49 -10' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M45 -18L44 -24' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M45 -18L50 -17' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M24 3L43 38' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M29 12L45 13' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M29 12L22 27' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M34 21L44 21' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M34 21L29 31' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M38 29L44 30' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M38 29L36 34' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M48 6L64 -14' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M52 1L49 -9' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M52 1L63 2' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M56 -4L54 -11' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M56 -4L63 -3' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M48 6L56 32' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M50 13L60 16' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M50 13L43 21' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M52 19L59 21' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M52 19L48 25' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M72 10L80 -1' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M74 7L72 2' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M74 7L79 8' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M72 10L77 22' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M73 13L78 13' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M73 13L70 17' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M0 0L100 53' stroke-opacity='0.61' stroke-width='1.2'/%3E%3Cpath d='M25 13L64 -12' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M35 7L34 -12' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M35 7L53 13' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M45 1L44 -12' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M45 1L56 6' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M55 -6L54 -12' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M55 -6L60 -3' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M25 13L31 60' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M26 25L44 33' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M26 25L13 38' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M28 36L39 42' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M28 36L17 44' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M29 48L35 51' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M29 48L24 52' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M50 26L78 13' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M57 23L58 10' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M57 23L68 30' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M64 20L65 11' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M64 20L71 24' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M71 16L72 12' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M71 16L75 19' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M50 26L53 58' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M51 34L62 41' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M51 34L41 42' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M52 42L59 46' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M52 42L45 47' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M52 50L56 52' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M52 50L49 52' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M75 40L88 31' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M78 38L78 31' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M78 38L84 40' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M82 35L81 31' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M82 35L86 37' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M75 40L76 55' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M75 44L81 46' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M75 44L70 47' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M76 47L80 49' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M76 47L73 50' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M0 0L68 77' stroke-opacity='0.61' stroke-width='1.2'/%3E%3Cpath d='M17 19L59 14' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M27 18L34 2' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M27 18L39 31' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M38 16L43 6' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M38 16L45 26' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M48 15L50 10' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M48 15L52 20' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M17 19L5 60' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M14 29L25 43' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M14 29L-3 33' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M11 39L20 47' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M11 39L0 43' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M8 50L12 54' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M8 50L3 51' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M34 38L62 36' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M41 38L46 27' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M41 38L48 47' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M48 37L51 30' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M48 37L53 43' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M34 38L27 66' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M32 45L41 53' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M32 45L21 48' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M31 52L36 58' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M31 52L23 54' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M51 57L65 55' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M54 57L56 51' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M54 57L59 61' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M51 57L48 71' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M50 61L55 65' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M50 61L45 63' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M0 0L24 80' stroke-opacity='0.61' stroke-width='1.2'/%3E%3Cpath d='M6 20L39 28' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M14 22L25 13' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M14 22L20 35' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M23 24L30 18' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M23 24L25 33' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M31 26L35 23' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M31 26L33 31' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M6 20L-17 46' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M0 26L4 40' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M0 26L-13 23' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M-5 33L-2 42' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M-5 33L-15 32' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M-11 39L-9 44' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M-11 39L-16 39' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M12 40L34 47' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M17 42L25 37' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M17 42L19 51' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M23 44L27 39' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M23 44L24 50' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M12 40L-3 58' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M8 44L12 53' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M8 44L-1 44' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M5 49L7 55' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M5 49L-2 48' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M18 60L29 64' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M20 61L24 58' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M20 61L21 66' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M18 60L11 69' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M16 62L17 67' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M16 62L11 62' stroke-opacity='0.37' stroke-width='0.7'/%3E%3C/g%3E%3C/svg%3E") right -30px top -30px / 150px 150px no-repeat,
    linear-gradient(160deg, rgba(160, 205, 255, .16), rgba(10, 30, 60, .6));
  border-color: rgba(200, 230, 255, .38);
  box-shadow: 0 16px 40px rgba(0, 0, 0, .45), inset 0 1px 0 rgba(255, 255, 255, .25);
}
/* Светлый мир ОТС 250: та же история, но бумагой — иней синий, основа белая, текст тёмный. */
.app[data-look="level"][data-tier="2"] .ots-story:not(#am-w) {
  background:
    url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='150' height='150' viewBox='0 0 150 150'%3E%3Cdefs%3E%3CradialGradient id='m' cx='0' cy='0' r='1' gradientUnits='objectBoundingBox'%3E%3Cstop offset='0' stop-color='%23fff'/%3E%3Cstop offset='.85' stop-color='%23fff' stop-opacity='0'/%3E%3C/radialGradient%3E%3Cmask id='k'%3E%3Crect width='150' height='150' fill='url(%23m)'/%3E%3C/mask%3E%3C/defs%3E%3Cg mask='url(%23k)' stroke='%239dbde2' stroke-linecap='round'%3E%3Cpath d='M0 0L96 13' stroke-opacity='0.61' stroke-width='1.2'/%3E%3Cpath d='M24 3L52 -25' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M31 -4L26 -20' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M31 -4L47 -2' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M38 -11L36 -22' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M38 -11L49 -10' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M45 -18L44 -24' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M45 -18L50 -17' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M24 3L43 38' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M29 12L45 13' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M29 12L22 27' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M34 21L44 21' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M34 21L29 31' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M38 29L44 30' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M38 29L36 34' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M48 6L64 -14' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M52 1L49 -9' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M52 1L63 2' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M56 -4L54 -11' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M56 -4L63 -3' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M48 6L56 32' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M50 13L60 16' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M50 13L43 21' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M52 19L59 21' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M52 19L48 25' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M72 10L80 -1' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M74 7L72 2' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M74 7L79 8' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M72 10L77 22' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M73 13L78 13' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M73 13L70 17' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M0 0L100 53' stroke-opacity='0.61' stroke-width='1.2'/%3E%3Cpath d='M25 13L64 -12' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M35 7L34 -12' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M35 7L53 13' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M45 1L44 -12' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M45 1L56 6' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M55 -6L54 -12' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M55 -6L60 -3' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M25 13L31 60' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M26 25L44 33' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M26 25L13 38' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M28 36L39 42' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M28 36L17 44' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M29 48L35 51' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M29 48L24 52' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M50 26L78 13' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M57 23L58 10' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M57 23L68 30' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M64 20L65 11' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M64 20L71 24' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M71 16L72 12' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M71 16L75 19' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M50 26L53 58' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M51 34L62 41' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M51 34L41 42' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M52 42L59 46' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M52 42L45 47' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M52 50L56 52' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M52 50L49 52' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M75 40L88 31' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M78 38L78 31' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M78 38L84 40' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M82 35L81 31' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M82 35L86 37' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M75 40L76 55' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M75 44L81 46' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M75 44L70 47' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M76 47L80 49' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M76 47L73 50' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M0 0L68 77' stroke-opacity='0.61' stroke-width='1.2'/%3E%3Cpath d='M17 19L59 14' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M27 18L34 2' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M27 18L39 31' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M38 16L43 6' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M38 16L45 26' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M48 15L50 10' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M48 15L52 20' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M17 19L5 60' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M14 29L25 43' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M14 29L-3 33' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M11 39L20 47' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M11 39L0 43' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M8 50L12 54' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M8 50L3 51' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M34 38L62 36' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M41 38L46 27' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M41 38L48 47' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M48 37L51 30' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M48 37L53 43' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M34 38L27 66' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M32 45L41 53' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M32 45L21 48' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M31 52L36 58' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M31 52L23 54' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M51 57L65 55' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M54 57L56 51' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M54 57L59 61' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M51 57L48 71' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M50 61L55 65' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M50 61L45 63' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M0 0L24 80' stroke-opacity='0.61' stroke-width='1.2'/%3E%3Cpath d='M6 20L39 28' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M14 22L25 13' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M14 22L20 35' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M23 24L30 18' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M23 24L25 33' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M31 26L35 23' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M31 26L33 31' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M6 20L-17 46' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M0 26L4 40' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M0 26L-13 23' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M-5 33L-2 42' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M-5 33L-15 32' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M-11 39L-9 44' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M-11 39L-16 39' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M12 40L34 47' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M17 42L25 37' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M17 42L19 51' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M23 44L27 39' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M23 44L24 50' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M12 40L-3 58' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M8 44L12 53' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M8 44L-1 44' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M5 49L7 55' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M5 49L-2 48' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M18 60L29 64' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M20 61L24 58' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M20 61L21 66' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M18 60L11 69' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M16 62L17 67' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M16 62L11 62' stroke-opacity='0.37' stroke-width='0.7'/%3E%3C/g%3E%3C/svg%3E") right -30px top -30px / 150px 150px no-repeat,
    linear-gradient(160deg, rgba(31, 107, 255, .07), #ffffff);
  border-color: rgba(31, 107, 255, .20);
  box-shadow: 0 14px 30px rgba(11, 28, 53, .10), inset 0 1px 0 #ffffff;
}
.app[data-look="level"][data-tier="2"] .ots-story li b:not(#am-w) { color: #0b1c35; }
.app[data-look="level"][data-tier="2"] .ots-story > summary:not(#am-w) { color: #0b1c35; }
.app[data-look="level"][data-tier="2"] .ots-story li:not(#am-w) { color: #35507c; }
.app[data-look="level"][data-tier="2"] .ots-story-flake:not(#am-w) { background-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cdefs%3E%3C/defs%3E%3Cg transform='translate(8.0 8.0)' stroke='%232f6bc4' stroke-width='1.2' stroke-linecap='round' fill='none' opacity='1.0'%3E%3Cpath d='M0 0V-7.00M0 -3.18l-1.81 -1.36M0 -3.18l1.81 -1.36M0 -4.96l-1.21 -0.91M0 -4.96l1.21 -0.91' transform='rotate(0)'/%3E%3Cpath d='M0 0V-7.00M0 -3.18l-1.81 -1.36M0 -3.18l1.81 -1.36M0 -4.96l-1.21 -0.91M0 -4.96l1.21 -0.91' transform='rotate(60)'/%3E%3Cpath d='M0 0V-7.00M0 -3.18l-1.81 -1.36M0 -3.18l1.81 -1.36M0 -4.96l-1.21 -0.91M0 -4.96l1.21 -0.91' transform='rotate(120)'/%3E%3Cpath d='M0 0V-7.00M0 -3.18l-1.81 -1.36M0 -3.18l1.81 -1.36M0 -4.96l-1.21 -0.91M0 -4.96l1.21 -0.91' transform='rotate(180)'/%3E%3Cpath d='M0 0V-7.00M0 -3.18l-1.81 -1.36M0 -3.18l1.81 -1.36M0 -4.96l-1.21 -0.91M0 -4.96l1.21 -0.91' transform='rotate(240)'/%3E%3Cpath d='M0 0V-7.00M0 -3.18l-1.81 -1.36M0 -3.18l1.81 -1.36M0 -4.96l-1.21 -0.91M0 -4.96l1.21 -0.91' transform='rotate(300)'/%3E%3Ccircle r='0.84' fill='%232f6bc4' stroke='none'/%3E%3C/g%3E%3C/svg%3E"); }
.app[data-look="level"]:is([data-tier="2"], [data-tier="3"]) .ots-story > summary:not(#am-w) { padding-top: 22px; }
.app[data-look="level"][data-tier="3"] .ots-story:not(#am-w) {
  background:
    linear-gradient(100deg, transparent 15%, rgba(47, 255, 193, .14) 45%, rgba(110, 236, 220, .12) 70%, transparent 90%),
    linear-gradient(160deg, rgba(40, 180, 190, .16), rgba(3, 30, 36, .7));
}

/* КАРТА КЛУБА В ПРОФИЛЕ И В МЕНЮ АВАТАРА. На телефоне бокового меню нет — значит карта
   обязана жить там, куда человек заходит сам: в шапке меню аватара и в «Профиле». */
.app[data-look="level"][data-tier] :is(.profile-hero, .profile-pop > header):not(#am-env):not(#am-w) {
  position: relative; overflow: hidden; border-radius: 16px;
  background: var(--w-club-card) !important;
  border: 1px solid transparent !important;
  box-shadow: 0 22px 50px rgba(0, 0, 0, .55), inset 0 1px 0 rgba(255, 255, 255, .10) !important;
  transform: perspective(900px) rotateX(calc(var(--ty, 0) * -6deg)) rotateY(calc(var(--tx, 0) * 8deg));
  transition: transform .4s cubic-bezier(.2, .7, .2, 1);
}
.app[data-look="level"][data-tier] .profile-hero:not(#am-env):not(#am-w) { min-height: 170px; padding: 26px 28px !important; }
.app[data-look="level"][data-tier] .profile-pop > header:not(#am-env):not(#am-w) { margin: 6px 6px 10px; padding: 16px 14px 18px !important; }
.app[data-look="level"][data-tier] :is(.profile-hero, .profile-pop > header):not(#am-w)::after {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background: radial-gradient(circle 180px at var(--mx, 18%) var(--my, -15%), var(--w-card-glare, rgba(255, 255, 255, .16)), transparent 70%);
  mix-blend-mode: screen;
}
.app[data-look="level"][data-tier] :is(.profile-hero h2, .profile-pop > header b):not(#am-w) { position: relative; }
.app[data-look="level"][data-tier="1"] { --w-club-card: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'%3E%3Cdefs%3E%3CradialGradient id='g' cx='.38' cy='.32' r='.75'%3E%3Cstop offset='0' stop-color='%23ffe2a3'/%3E%3Cstop offset='.45' stop-color='%23f29a2e'/%3E%3Cstop offset='1' stop-color='%236b3312'/%3E%3C/radialGradient%3E%3C/defs%3E%3Cpath d='M20 4c8.5 0 15 7.5 15 16.5S28.5 36 20 36 5 29.5 5 20.5 11.5 4 20 4z' fill='url(%23g)'/%3E%3Cellipse cx='14.5' cy='13' rx='4.2' ry='2.6' fill='%23fff' fill-opacity='.45' transform='rotate(-30 14.5 13)'/%3E%3Ccircle cx='24' cy='24' r='1.3' fill='%235a2a0c' fill-opacity='.45'/%3E%3C/svg%3E") right 18px top 18px / 38px 38px no-repeat padding-box, linear-gradient(135deg, #2e2622, #151212) padding-box, linear-gradient(135deg, rgba(247, 194, 122, .7), rgba(107, 51, 18, .5)) border-box; }
.app[data-look="level"][data-tier="2"] { --w-club-card: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%23e6f3ff'/%3E%3Cstop offset='.6' stop-color='%234a8cff'/%3E%3Cstop offset='1' stop-color='%230a2a80'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cg transform='translate(20 20)'%3E%3Cpath d='M0 -17 L3.2 -7 L0 0 L-3.2 -7z' fill='url(%23g)' transform='rotate(0)'/%3E%3Cpath d='M0 -17 L3.2 -7 L0 0 L-3.2 -7z' fill='url(%23g)' transform='rotate(60)'/%3E%3Cpath d='M0 -17 L3.2 -7 L0 0 L-3.2 -7z' fill='url(%23g)' transform='rotate(120)'/%3E%3Cpath d='M0 -17 L3.2 -7 L0 0 L-3.2 -7z' fill='url(%23g)' transform='rotate(180)'/%3E%3Cpath d='M0 -17 L3.2 -7 L0 0 L-3.2 -7z' fill='url(%23g)' transform='rotate(240)'/%3E%3Cpath d='M0 -17 L3.2 -7 L0 0 L-3.2 -7z' fill='url(%23g)' transform='rotate(300)'/%3E%3C/g%3E%3Cg transform='translate(20.0 20.0)' stroke='%23ffffff' stroke-width='0.9' stroke-linecap='round' fill='none' opacity='0.85'%3E%3Cpath d='M0 0V-17.00M0 -8.09l-3.80 -2.85M0 -8.09l3.80 -2.85M0 -11.20l-2.85 -2.14M0 -11.20l2.85 -2.14' transform='rotate(0)'/%3E%3Cpath d='M0 0V-17.00M0 -8.09l-3.80 -2.85M0 -8.09l3.80 -2.85M0 -11.20l-2.85 -2.14M0 -11.20l2.85 -2.14' transform='rotate(60)'/%3E%3Cpath d='M0 0V-17.00M0 -8.09l-3.80 -2.85M0 -8.09l3.80 -2.85M0 -11.20l-2.85 -2.14M0 -11.20l2.85 -2.14' transform='rotate(120)'/%3E%3Cpath d='M0 0V-17.00M0 -8.09l-3.80 -2.85M0 -8.09l3.80 -2.85M0 -11.20l-2.85 -2.14M0 -11.20l2.85 -2.14' transform='rotate(180)'/%3E%3Cpath d='M0 0V-17.00M0 -8.09l-3.80 -2.85M0 -8.09l3.80 -2.85M0 -11.20l-2.85 -2.14M0 -11.20l2.85 -2.14' transform='rotate(240)'/%3E%3Cpath d='M0 0V-17.00M0 -8.09l-3.80 -2.85M0 -8.09l3.80 -2.85M0 -11.20l-2.85 -2.14M0 -11.20l2.85 -2.14' transform='rotate(300)'/%3E%3Ccircle r='2.04' fill='%23ffffff' stroke='none'/%3E%3C/g%3E%3C/svg%3E") right 18px top 22px / 40px 40px no-repeat padding-box, url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140' viewBox='0 0 140 140'%3E%3Cdefs%3E%3C/defs%3E%3Cline x1='69' y1='78' x2='57' y2='86' stroke='%23ffffff' stroke-opacity='0.39' stroke-width='1.2'/%3E%3Cline x1='68' y1='50' x2='73' y2='65' stroke='%23ffffff' stroke-opacity='0.33' stroke-width='1.1'/%3E%3Cline x1='125' y1='96' x2='119' y2='110' stroke='%23ffffff' stroke-opacity='0.45' stroke-width='0.7'/%3E%3Cline x1='102' y1='42' x2='120' y2='65' stroke='%23ffffff' stroke-opacity='0.40' stroke-width='1.4'/%3E%3Cline x1='87' y1='107' x2='82' y2='118' stroke='%23ffffff' stroke-opacity='0.57' stroke-width='0.8'/%3E%3Cline x1='57' y1='18' x2='73' y2='21' stroke='%23ffffff' stroke-opacity='0.26' stroke-width='0.9'/%3E%3Cline x1='119' y1='140' x2='122' y2='150' stroke='%23ffffff' stroke-opacity='0.41' stroke-width='0.7'/%3E%3Cline x1='30' y1='87' x2='27' y2='95' stroke='%23ffffff' stroke-opacity='0.47' stroke-width='0.9'/%3E%3Cline x1='56' y1='19' x2='59' y2='29' stroke='%23ffffff' stroke-opacity='0.56' stroke-width='1.1'/%3E%3Cline x1='88' y1='57' x2='72' y2='59' stroke='%23ffffff' stroke-opacity='0.34' stroke-width='0.9'/%3E%3Cline x1='128' y1='22' x2='107' y2='41' stroke='%23ffffff' stroke-opacity='0.63' stroke-width='1.0'/%3E%3Cline x1='63' y1='122' x2='47' y2='142' stroke='%23ffffff' stroke-opacity='0.33' stroke-width='1.1'/%3E%3Cline x1='103' y1='33' x2='124' y2='49' stroke='%23ffffff' stroke-opacity='0.51' stroke-width='0.9'/%3E%3Cline x1='68' y1='36' x2='75' y2='43' stroke='%23ffffff' stroke-opacity='0.43' stroke-width='0.7'/%3E%3Cline x1='126' y1='134' x2='123' y2='143' stroke='%23ffffff' stroke-opacity='0.52' stroke-width='0.7'/%3E%3Cline x1='52' y1='18' x2='52' y2='28' stroke='%23ffffff' stroke-opacity='0.38' stroke-width='0.8'/%3E%3Cline x1='65' y1='130' x2='59' y2='155' stroke='%23ffffff' stroke-opacity='0.58' stroke-width='1.0'/%3E%3Cline x1='10' y1='8' x2='27' y2='16' stroke='%23ffffff' stroke-opacity='0.40' stroke-width='1.3'/%3E%3Cline x1='28' y1='18' x2='19' y2='38' stroke='%23ffffff' stroke-opacity='0.27' stroke-width='0.9'/%3E%3Cline x1='62' y1='115' x2='41' y2='133' stroke='%23ffffff' stroke-opacity='0.49' stroke-width='1.4'/%3E%3Cline x1='66' y1='40' x2='90' y2='52' stroke='%23ffffff' stroke-opacity='0.54' stroke-width='1.1'/%3E%3Cline x1='137' y1='88' x2='150' y2='108' stroke='%23ffffff' stroke-opacity='0.67' stroke-width='0.7'/%3E%3Cline x1='132' y1='58' x2='150' y2='65' stroke='%23ffffff' stroke-opacity='0.60' stroke-width='1.0'/%3E%3Cline x1='38' y1='107' x2='59' y2='115' stroke='%23ffffff' stroke-opacity='0.41' stroke-width='1.1'/%3E%3Cline x1='71' y1='39' x2='92' y2='55' stroke='%23ffffff' stroke-opacity='0.46' stroke-width='0.8'/%3E%3Cline x1='83' y1='108' x2='100' y2='113' stroke='%23ffffff' stroke-opacity='0.32' stroke-width='1.2'/%3E%3C/svg%3E") 0 0 / 140px 140px repeat padding-box, linear-gradient(160deg, rgba(120, 175, 245, .22), rgba(20, 55, 120, .55) 45%, rgba(6, 16, 38, .98)) padding-box, linear-gradient(#060e1f, #060e1f) padding-box, linear-gradient(135deg, #e6f3ff, #4a8cff 50%, #e6f3ff) border-box; }
.app[data-look="level"][data-tier="3"] { --w-club-card: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%23e9fffd'/%3E%3Cstop offset='.6' stop-color='%2321ccd6'/%3E%3Cstop offset='1' stop-color='%2305444c'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cg transform='translate(20 20)'%3E%3Cpath d='M0 -17 L3.2 -7 L0 0 L-3.2 -7z' fill='url(%23g)' transform='rotate(0)'/%3E%3Cpath d='M0 -17 L3.2 -7 L0 0 L-3.2 -7z' fill='url(%23g)' transform='rotate(60)'/%3E%3Cpath d='M0 -17 L3.2 -7 L0 0 L-3.2 -7z' fill='url(%23g)' transform='rotate(120)'/%3E%3Cpath d='M0 -17 L3.2 -7 L0 0 L-3.2 -7z' fill='url(%23g)' transform='rotate(180)'/%3E%3Cpath d='M0 -17 L3.2 -7 L0 0 L-3.2 -7z' fill='url(%23g)' transform='rotate(240)'/%3E%3Cpath d='M0 -17 L3.2 -7 L0 0 L-3.2 -7z' fill='url(%23g)' transform='rotate(300)'/%3E%3C/g%3E%3Cg transform='translate(20.0 20.0)' stroke='%23ffffff' stroke-width='0.9' stroke-linecap='round' fill='none' opacity='0.85'%3E%3Cpath d='M0 0V-17.00M0 -8.09l-3.80 -2.85M0 -8.09l3.80 -2.85M0 -11.20l-2.85 -2.14M0 -11.20l2.85 -2.14' transform='rotate(0)'/%3E%3Cpath d='M0 0V-17.00M0 -8.09l-3.80 -2.85M0 -8.09l3.80 -2.85M0 -11.20l-2.85 -2.14M0 -11.20l2.85 -2.14' transform='rotate(60)'/%3E%3Cpath d='M0 0V-17.00M0 -8.09l-3.80 -2.85M0 -8.09l3.80 -2.85M0 -11.20l-2.85 -2.14M0 -11.20l2.85 -2.14' transform='rotate(120)'/%3E%3Cpath d='M0 0V-17.00M0 -8.09l-3.80 -2.85M0 -8.09l3.80 -2.85M0 -11.20l-2.85 -2.14M0 -11.20l2.85 -2.14' transform='rotate(180)'/%3E%3Cpath d='M0 0V-17.00M0 -8.09l-3.80 -2.85M0 -8.09l3.80 -2.85M0 -11.20l-2.85 -2.14M0 -11.20l2.85 -2.14' transform='rotate(240)'/%3E%3Cpath d='M0 0V-17.00M0 -8.09l-3.80 -2.85M0 -8.09l3.80 -2.85M0 -11.20l-2.85 -2.14M0 -11.20l2.85 -2.14' transform='rotate(300)'/%3E%3Ccircle r='2.04' fill='%23ffffff' stroke='none'/%3E%3C/g%3E%3C/svg%3E") right 18px top 22px / 40px 40px no-repeat padding-box, linear-gradient(100deg, transparent 20%, rgba(47, 255, 193, .25) 45%, rgba(110, 236, 220, .22) 65%, transparent 85%) padding-box, url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='520' height='520' viewBox='0 0 520 520'%3E%3Cdefs%3E%3C/defs%3E%3Ccircle cx='198' cy='120' r='0.6' fill='%23e9fbff' opacity='0.79'/%3E%3Ccircle cx='201' cy='466' r='0.8' fill='%23e9fbff' opacity='0.58'/%3E%3Ccircle cx='199' cy='380' r='1.3' fill='%23e9fbff' opacity='0.26'/%3E%3Ccircle cx='130' cy='519' r='0.5' fill='%23e9fbff' opacity='0.51'/%3E%3Ccircle cx='81' cy='78' r='0.8' fill='%23e9fbff' opacity='0.35'/%3E%3Ccircle cx='340' cy='323' r='0.5' fill='%23e9fbff' opacity='0.32'/%3E%3Ccircle cx='306' cy='225' r='0.8' fill='%23e9fbff' opacity='0.75'/%3E%3Ccircle cx='112' cy='378' r='1.0' fill='%23e9fbff' opacity='0.33'/%3E%3Ccircle cx='348' cy='64' r='0.6' fill='%23e9fbff' opacity='0.66'/%3E%3Ccircle cx='510' cy='28' r='0.8' fill='%23e9fbff' opacity='0.39'/%3E%3Ccircle cx='14' cy='300' r='1.0' fill='%23e9fbff' opacity='0.78'/%3E%3Ccircle cx='440' cy='157' r='0.6' fill='%23e9fbff' opacity='0.31'/%3E%3Ccircle cx='49' cy='11' r='1.0' fill='%23e9fbff' opacity='0.77'/%3E%3Ccircle cx='120' cy='45' r='0.5' fill='%23e9fbff' opacity='0.53'/%3E%3Ccircle cx='379' cy='221' r='0.8' fill='%23e9fbff' opacity='0.57'/%3E%3Ccircle cx='458' cy='341' r='0.8' fill='%23e9fbff' opacity='0.36'/%3E%3Ccircle cx='420' cy='372' r='0.5' fill='%23e9fbff' opacity='0.84'/%3E%3Ccircle cx='367' cy='465' r='1.0' fill='%23e9fbff' opacity='0.64'/%3E%3Ccircle cx='390' cy='317' r='1.0' fill='%23e9fbff' opacity='0.61'/%3E%3Ccircle cx='52' cy='492' r='0.6' fill='%23e9fbff' opacity='0.51'/%3E%3Ccircle cx='381' cy='354' r='1.0' fill='%23e9fbff' opacity='0.72'/%3E%3Ccircle cx='43' cy='348' r='1.3' fill='%23e9fbff' opacity='0.38'/%3E%3Ccircle cx='357' cy='144' r='0.8' fill='%23e9fbff' opacity='0.73'/%3E%3Ccircle cx='324' cy='410' r='0.8' fill='%23e9fbff' opacity='0.70'/%3E%3Ccircle cx='381' cy='111' r='0.6' fill='%23e9fbff' opacity='0.38'/%3E%3Ccircle cx='117' cy='244' r='0.6' fill='%23e9fbff' opacity='0.29'/%3E%3Ccircle cx='123' cy='295' r='0.6' fill='%23e9fbff' opacity='0.55'/%3E%3Ccircle cx='63' cy='200' r='0.5' fill='%23e9fbff' opacity='0.74'/%3E%3Ccircle cx='233' cy='385' r='0.6' fill='%23e9fbff' opacity='0.58'/%3E%3Ccircle cx='259' cy='505' r='0.8' fill='%23e9fbff' opacity='0.74'/%3E%3Ccircle cx='16' cy='307' r='0.6' fill='%23e9fbff' opacity='0.63'/%3E%3Ccircle cx='267' cy='338' r='0.6' fill='%23e9fbff' opacity='0.50'/%3E%3Ccircle cx='506' cy='500' r='0.5' fill='%23e9fbff' opacity='0.56'/%3E%3Ccircle cx='310' cy='183' r='1.0' fill='%23e9fbff' opacity='0.80'/%3E%3Ccircle cx='471' cy='160' r='0.6' fill='%23e9fbff' opacity='0.41'/%3E%3Ccircle cx='197' cy='120' r='0.5' fill='%23e9fbff' opacity='0.77'/%3E%3Ccircle cx='145' cy='305' r='0.8' fill='%23e9fbff' opacity='0.49'/%3E%3Ccircle cx='256' cy='442' r='0.5' fill='%23e9fbff' opacity='0.55'/%3E%3Ccircle cx='309' cy='121' r='0.6' fill='%23e9fbff' opacity='0.79'/%3E%3Ccircle cx='152' cy='128' r='1.0' fill='%23e9fbff' opacity='0.81'/%3E%3Ccircle cx='430' cy='28' r='1.3' fill='%23e9fbff' opacity='0.27'/%3E%3Ccircle cx='395' cy='102' r='1.0' fill='%23e9fbff' opacity='0.44'/%3E%3Ccircle cx='191' cy='90' r='0.5' fill='%23e9fbff' opacity='0.38'/%3E%3Ccircle cx='454' cy='267' r='0.6' fill='%23e9fbff' opacity='0.27'/%3E%3Ccircle cx='307' cy='195' r='0.6' fill='%23e9fbff' opacity='0.74'/%3E%3Ccircle cx='141' cy='12' r='1.3' fill='%23e9fbff' opacity='0.69'/%3E%3Ccircle cx='201' cy='97' r='1.3' fill='%23e9fbff' opacity='0.45'/%3E%3Ccircle cx='265' cy='96' r='0.5' fill='%23e9fbff' opacity='0.59'/%3E%3Ccircle cx='375' cy='99' r='0.6' fill='%23e9fbff' opacity='0.42'/%3E%3Ccircle cx='45' cy='343' r='1.0' fill='%23e9fbff' opacity='0.26'/%3E%3Ccircle cx='161' cy='158' r='0.5' fill='%23e9fbff' opacity='0.58'/%3E%3Ccircle cx='464' cy='166' r='1.0' fill='%23e9fbff' opacity='0.70'/%3E%3Ccircle cx='194' cy='413' r='0.5' fill='%23e9fbff' opacity='0.29'/%3E%3Ccircle cx='202' cy='83' r='1.0' fill='%23e9fbff' opacity='0.35'/%3E%3Ccircle cx='83' cy='46' r='0.5' fill='%23e9fbff' opacity='0.44'/%3E%3Ccircle cx='470' cy='163' r='0.5' fill='%23e9fbff' opacity='0.37'/%3E%3Ccircle cx='469' cy='506' r='0.5' fill='%23e9fbff' opacity='0.79'/%3E%3Ccircle cx='475' cy='501' r='0.8' fill='%23e9fbff' opacity='0.57'/%3E%3Ccircle cx='486' cy='142' r='0.6' fill='%23e9fbff' opacity='0.70'/%3E%3Ccircle cx='454' cy='401' r='1.0' fill='%23e9fbff' opacity='0.54'/%3E%3Ccircle cx='131' cy='357' r='1.3' fill='%23e9fbff' opacity='0.67'/%3E%3Ccircle cx='298' cy='84' r='0.6' fill='%23e9fbff' opacity='0.73'/%3E%3Ccircle cx='13' cy='143' r='0.5' fill='%23e9fbff' opacity='0.37'/%3E%3Ccircle cx='346' cy='146' r='0.8' fill='%23e9fbff' opacity='0.81'/%3E%3Ccircle cx='152' cy='149' r='0.5' fill='%23e9fbff' opacity='0.76'/%3E%3Ccircle cx='517' cy='159' r='1.0' fill='%23e9fbff' opacity='0.78'/%3E%3Ccircle cx='285' cy='374' r='0.8' fill='%23e9fbff' opacity='0.64'/%3E%3Ccircle cx='122' cy='483' r='1.0' fill='%23e9fbff' opacity='0.61'/%3E%3Ccircle cx='346' cy='218' r='0.6' fill='%23e9fbff' opacity='0.27'/%3E%3Ccircle cx='105' cy='154' r='0.8' fill='%23e9fbff' opacity='0.26'/%3E%3Cpath d='M257.6556328096451 345.23601587338095L258.75563280964514 350.1360158733809L263.6556328096451 351.23601587338095L258.75563280964514 352.336015873381L257.6556328096451 357.23601587338095L256.5556328096451 352.336015873381L251.6556328096451 351.23601587338095L256.5556328096451 350.1360158733809z' fill='%23fff' opacity='.8'/%3E%3Cpath d='M264.75822651245096 283.39987169362587L265.858226512451 288.29987169362585L270.75822651245096 289.39987169362587L265.858226512451 290.4998716936259L264.75822651245096 295.39987169362587L263.65822651245094 290.4998716936259L258.75822651245096 289.39987169362587L263.65822651245094 288.29987169362585z' fill='%23fff' opacity='.8'/%3E%3Cpath d='M246.67052575536928 397.7418149302564L247.77052575536928 402.6418149302564L252.67052575536928 403.7418149302564L247.77052575536928 404.8418149302564L246.67052575536928 409.7418149302564L245.5705257553693 404.8418149302564L240.67052575536928 403.7418149302564L245.5705257553693 402.6418149302564z' fill='%23fff' opacity='.8'/%3E%3Cpath d='M42.93246858744357 419.84090731807345L44.032468587443574 424.7409073180734L48.93246858744357 425.84090731807345L44.032468587443574 426.94090731807347L42.93246858744357 431.84090731807345L41.83246858744357 426.94090731807347L36.93246858744357 425.84090731807345L41.83246858744357 424.7409073180734z' fill='%23fff' opacity='.8'/%3E%3C/svg%3E") 0 0 / 260px 260px repeat padding-box, linear-gradient(160deg, rgba(40, 180, 190, .22), rgba(4, 40, 48, .97)) padding-box, linear-gradient(#04191e, #04191e) padding-box, linear-gradient(135deg, #e9fffd, #21ccd6 50%, #6eecdc) border-box; }
.app[data-look="level"][data-tier="4"] { --w-club-card: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='44' height='44' viewBox='0 0 44 44'%3E%3Cdefs%3E%3CradialGradient id='w' cx='.4' cy='.35' r='.7'%3E%3Cstop offset='0' stop-color='%23e0304b'/%3E%3Cstop offset='.6' stop-color='%239c1026'/%3E%3Cstop offset='1' stop-color='%234a0612'/%3E%3C/radialGradient%3E%3C/defs%3E%3Cpath d='M40.1 22.0 L42.0 26.6 L38.0 29.7 L37.4 34.3 L33.0 35.8 L29.9 38.4 L26.6 42.1 L22.0 40.1 L17.7 41.0 L13.8 39.0 L10.2 36.7 L7.2 33.8 L5.8 29.8 L2.4 26.5 L4.3 22.0 L4.3 18.0 L6.3 14.4 L7.7 10.6 L10.3 7.4 L13.2 3.7 L17.9 3.9 L22.0 4.2 L26.1 4.2 L30.9 3.5 L33.0 8.2 L37.2 9.9 L38.8 13.9 L41.0 17.7z' fill='url(%23w)'/%3E%3Ccircle cx='22' cy='22' r='13.5' fill='none' stroke='%233a0610' stroke-opacity='.7' stroke-width='1.6'/%3E%3Ccircle cx='22' cy='22' r='13.5' fill='none' stroke='%23ff8a9a' stroke-opacity='.25' stroke-width='.6' transform='translate(-.6 -.6)'/%3E%3Ctext x='22' y='28.5' text-anchor='middle' font-family='Georgia, serif' font-style='italic' font-weight='700' font-size='17' fill='%233a0610' fill-opacity='.8'%3EA%3C/text%3E%3Ctext x='21.4' y='27.9' text-anchor='middle' font-family='Georgia, serif' font-style='italic' font-weight='700' font-size='17' fill='%23ff9aa6' fill-opacity='.35'%3EA%3C/text%3E%3Cellipse cx='15' cy='12' rx='6' ry='2.6' fill='%23fff' opacity='.22' transform='rotate(-28 15 12)'/%3E%3C/svg%3E") right 18px top 18px / 50px 50px no-repeat padding-box, linear-gradient(115deg, transparent 30%, rgba(255, 200, 210, .08) 42%, transparent 54%) padding-box, radial-gradient(ellipse 90% 70% at 100% 0%, rgba(196, 26, 51, .35), transparent 70%) padding-box, linear-gradient(160deg, #1a080b, #070304) padding-box, linear-gradient(135deg, rgba(216, 36, 62, .95), rgba(94, 10, 24, .5) 50%, rgba(216, 36, 62, .95)) border-box; }
.app[data-look="level"][data-tier="5"] { --w-club-card: repeating-linear-gradient(90deg, rgba(255, 255, 255, .025) 0 1px, transparent 1px 3px) padding-box, linear-gradient(145deg, #1c1a15, #0a0908 60%, #15130e) padding-box, linear-gradient(135deg, #fff0b8, #c8912a 30%, #5a3d0c 55%, #ffd36b) border-box; }
.app[data-look="level"][data-tier="5"] :is(.profile-hero h2, .profile-pop > header b):not(#am-w) {
  /* 03.10: имя в профиле — тёплый белый шрифтом интерфейса, а не литой металл антиквой. */
  font-family: "Manrope", "Inter", system-ui, sans-serif; font-weight: 800; letter-spacing: -.02em;
  background: none; color: #F3F0E9 !important;
}
.app[data-look="level"][data-tier="5"] .profile-hero h2:not(#am-w) { font-size: 32px !important; }
.app[data-look="level"][data-tier="4"] :is(.profile-hero h2, .profile-pop > header b):not(#am-w) { font-family: "Playfair Display", Georgia, serif; font-style: italic; font-weight: 600; color: #f6eee8 !important; }
.app[data-look="level"][data-tier="4"] .profile-hero h2:not(#am-w) { font-size: 40px !important; }

/* ЛЕСТНИЦА МИРОВ. На «Уровнях» у каждой ступени её знак: янтарь, снежинка, лёд, печать,
   корона. Недостигнутые — силуэтом: человек видит, в какой мир он идёт. */
.app[data-look="level"] .lv-list > article[data-rung]:not(#am-w) { position: relative; padding-right: 64px !important; }
.app[data-look="level"] .lv-list > article[data-rung]:not(#am-w)::after {
  content: ""; position: absolute; right: 16px; top: 50%; width: 36px; height: 36px; margin-top: -18px;
  background: var(--w-rung) center / contain no-repeat; pointer-events: none;
  filter: drop-shadow(0 4px 10px rgba(0, 0, 0, .5));
}
.app[data-look="level"] .lv-list > article.locked[data-rung]:not(#am-w)::after { filter: grayscale(1) brightness(.55); opacity: .7; }
.app[data-look="level"] .lv-list > article[data-rung="1"]:not(#am-w) { --w-rung: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'%3E%3Cdefs%3E%3CradialGradient id='g' cx='.38' cy='.32' r='.75'%3E%3Cstop offset='0' stop-color='%23ffe2a3'/%3E%3Cstop offset='.45' stop-color='%23f29a2e'/%3E%3Cstop offset='1' stop-color='%236b3312'/%3E%3C/radialGradient%3E%3C/defs%3E%3Cpath d='M20 4c8.5 0 15 7.5 15 16.5S28.5 36 20 36 5 29.5 5 20.5 11.5 4 20 4z' fill='url(%23g)'/%3E%3Cellipse cx='14.5' cy='13' rx='4.2' ry='2.6' fill='%23fff' fill-opacity='.45' transform='rotate(-30 14.5 13)'/%3E%3Ccircle cx='24' cy='24' r='1.3' fill='%235a2a0c' fill-opacity='.45'/%3E%3C/svg%3E"); }
.app[data-look="level"] .lv-list > article[data-rung="2"]:not(#am-w) { --w-rung: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%23e6f3ff'/%3E%3Cstop offset='.6' stop-color='%234a8cff'/%3E%3Cstop offset='1' stop-color='%230a2a80'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cg transform='translate(20 20)'%3E%3Cpath d='M0 -17 L3.2 -7 L0 0 L-3.2 -7z' fill='url(%23g)' transform='rotate(0)'/%3E%3Cpath d='M0 -17 L3.2 -7 L0 0 L-3.2 -7z' fill='url(%23g)' transform='rotate(60)'/%3E%3Cpath d='M0 -17 L3.2 -7 L0 0 L-3.2 -7z' fill='url(%23g)' transform='rotate(120)'/%3E%3Cpath d='M0 -17 L3.2 -7 L0 0 L-3.2 -7z' fill='url(%23g)' transform='rotate(180)'/%3E%3Cpath d='M0 -17 L3.2 -7 L0 0 L-3.2 -7z' fill='url(%23g)' transform='rotate(240)'/%3E%3Cpath d='M0 -17 L3.2 -7 L0 0 L-3.2 -7z' fill='url(%23g)' transform='rotate(300)'/%3E%3C/g%3E%3Cg transform='translate(20.0 20.0)' stroke='%23ffffff' stroke-width='0.9' stroke-linecap='round' fill='none' opacity='0.85'%3E%3Cpath d='M0 0V-17.00M0 -8.09l-3.80 -2.85M0 -8.09l3.80 -2.85M0 -11.20l-2.85 -2.14M0 -11.20l2.85 -2.14' transform='rotate(0)'/%3E%3Cpath d='M0 0V-17.00M0 -8.09l-3.80 -2.85M0 -8.09l3.80 -2.85M0 -11.20l-2.85 -2.14M0 -11.20l2.85 -2.14' transform='rotate(60)'/%3E%3Cpath d='M0 0V-17.00M0 -8.09l-3.80 -2.85M0 -8.09l3.80 -2.85M0 -11.20l-2.85 -2.14M0 -11.20l2.85 -2.14' transform='rotate(120)'/%3E%3Cpath d='M0 0V-17.00M0 -8.09l-3.80 -2.85M0 -8.09l3.80 -2.85M0 -11.20l-2.85 -2.14M0 -11.20l2.85 -2.14' transform='rotate(180)'/%3E%3Cpath d='M0 0V-17.00M0 -8.09l-3.80 -2.85M0 -8.09l3.80 -2.85M0 -11.20l-2.85 -2.14M0 -11.20l2.85 -2.14' transform='rotate(240)'/%3E%3Cpath d='M0 0V-17.00M0 -8.09l-3.80 -2.85M0 -8.09l3.80 -2.85M0 -11.20l-2.85 -2.14M0 -11.20l2.85 -2.14' transform='rotate(300)'/%3E%3Ccircle r='2.04' fill='%23ffffff' stroke='none'/%3E%3C/g%3E%3C/svg%3E"); }
.app[data-look="level"] .lv-list > article[data-rung="3"]:not(#am-w) { --w-rung: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%23e9fffd'/%3E%3Cstop offset='.6' stop-color='%2321ccd6'/%3E%3Cstop offset='1' stop-color='%2305444c'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cg transform='translate(20 20)'%3E%3Cpath d='M0 -17 L3.2 -7 L0 0 L-3.2 -7z' fill='url(%23g)' transform='rotate(0)'/%3E%3Cpath d='M0 -17 L3.2 -7 L0 0 L-3.2 -7z' fill='url(%23g)' transform='rotate(60)'/%3E%3Cpath d='M0 -17 L3.2 -7 L0 0 L-3.2 -7z' fill='url(%23g)' transform='rotate(120)'/%3E%3Cpath d='M0 -17 L3.2 -7 L0 0 L-3.2 -7z' fill='url(%23g)' transform='rotate(180)'/%3E%3Cpath d='M0 -17 L3.2 -7 L0 0 L-3.2 -7z' fill='url(%23g)' transform='rotate(240)'/%3E%3Cpath d='M0 -17 L3.2 -7 L0 0 L-3.2 -7z' fill='url(%23g)' transform='rotate(300)'/%3E%3C/g%3E%3Cg transform='translate(20.0 20.0)' stroke='%23ffffff' stroke-width='0.9' stroke-linecap='round' fill='none' opacity='0.85'%3E%3Cpath d='M0 0V-17.00M0 -8.09l-3.80 -2.85M0 -8.09l3.80 -2.85M0 -11.20l-2.85 -2.14M0 -11.20l2.85 -2.14' transform='rotate(0)'/%3E%3Cpath d='M0 0V-17.00M0 -8.09l-3.80 -2.85M0 -8.09l3.80 -2.85M0 -11.20l-2.85 -2.14M0 -11.20l2.85 -2.14' transform='rotate(60)'/%3E%3Cpath d='M0 0V-17.00M0 -8.09l-3.80 -2.85M0 -8.09l3.80 -2.85M0 -11.20l-2.85 -2.14M0 -11.20l2.85 -2.14' transform='rotate(120)'/%3E%3Cpath d='M0 0V-17.00M0 -8.09l-3.80 -2.85M0 -8.09l3.80 -2.85M0 -11.20l-2.85 -2.14M0 -11.20l2.85 -2.14' transform='rotate(180)'/%3E%3Cpath d='M0 0V-17.00M0 -8.09l-3.80 -2.85M0 -8.09l3.80 -2.85M0 -11.20l-2.85 -2.14M0 -11.20l2.85 -2.14' transform='rotate(240)'/%3E%3Cpath d='M0 0V-17.00M0 -8.09l-3.80 -2.85M0 -8.09l3.80 -2.85M0 -11.20l-2.85 -2.14M0 -11.20l2.85 -2.14' transform='rotate(300)'/%3E%3Ccircle r='2.04' fill='%23ffffff' stroke='none'/%3E%3C/g%3E%3C/svg%3E"); }
.app[data-look="level"] .lv-list > article[data-rung="4"]:not(#am-w) { --w-rung: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='44' height='44' viewBox='0 0 44 44'%3E%3Cdefs%3E%3CradialGradient id='w' cx='.4' cy='.35' r='.7'%3E%3Cstop offset='0' stop-color='%23e0304b'/%3E%3Cstop offset='.6' stop-color='%239c1026'/%3E%3Cstop offset='1' stop-color='%234a0612'/%3E%3C/radialGradient%3E%3C/defs%3E%3Cpath d='M40.1 22.0 L42.0 26.6 L38.0 29.7 L37.4 34.3 L33.0 35.8 L29.9 38.4 L26.6 42.1 L22.0 40.1 L17.7 41.0 L13.8 39.0 L10.2 36.7 L7.2 33.8 L5.8 29.8 L2.4 26.5 L4.3 22.0 L4.3 18.0 L6.3 14.4 L7.7 10.6 L10.3 7.4 L13.2 3.7 L17.9 3.9 L22.0 4.2 L26.1 4.2 L30.9 3.5 L33.0 8.2 L37.2 9.9 L38.8 13.9 L41.0 17.7z' fill='url(%23w)'/%3E%3Ccircle cx='22' cy='22' r='13.5' fill='none' stroke='%233a0610' stroke-opacity='.7' stroke-width='1.6'/%3E%3Ccircle cx='22' cy='22' r='13.5' fill='none' stroke='%23ff8a9a' stroke-opacity='.25' stroke-width='.6' transform='translate(-.6 -.6)'/%3E%3Ctext x='22' y='28.5' text-anchor='middle' font-family='Georgia, serif' font-style='italic' font-weight='700' font-size='17' fill='%233a0610' fill-opacity='.8'%3EA%3C/text%3E%3Ctext x='21.4' y='27.9' text-anchor='middle' font-family='Georgia, serif' font-style='italic' font-weight='700' font-size='17' fill='%23ff9aa6' fill-opacity='.35'%3EA%3C/text%3E%3Cellipse cx='15' cy='12' rx='6' ry='2.6' fill='%23fff' opacity='.22' transform='rotate(-28 15 12)'/%3E%3C/svg%3E"); }
.app[data-look="level"] .lv-list > article[data-rung="5"]:not(#am-w) { --w-rung: none; }

/* Gold на телефоне: у антиквы с капителью маленькие строчные — заголовок крупнее. */
@media (max-width: 640px) {
  .app[data-look="level"][data-tier="5"] .page-title h1:not(#am-w):not(#am-m) { font-size: 40px !important; line-height: 1.02 !important; }
}


/* СТАТИСТИКА ОТС. Амир 14.09: страница живёт в новом кабинете, старый дизайн сайта
   выбрасывается. Карточка канала надевает мир своей ступени независимо от того, на какой
   ступени сам человек: ОТС 250 — лёд, ОТС 500 — сияние, Эксклюзив — рубин и печать.
   Так любой видит, в какой мир ведёт каждый канал. */
.app .os-card[data-ch]:not(#am-w) { padding-top: 22px; }
/* КАРТОЧКА КАНАЛА — ТЁМНАЯ В ЛЮБОМ МИРЕ, ЗНАЧИТ И БУКВЫ НА НЕЙ СВОИ. Она покрашена по
   каналу, а не по ступени зрителя: статистику ОТС 250 видит и тот, кто сам в Эксклюзиве.
   Пока все шесть миров были тёмными, текст ей давал мир и всё сходилось; в светлом мире
   ОТС 250 подписи стали тёмными, и на тёмной карточке пропали — машинная проверка 20.09
   намерила «проходимость» и «Лучшая серия» при контрасте 1.2-1.4. Тёмный предмет несёт
   светлый текст сам, независимо от того, в каком мире его смотрят. */
.app .os-card[data-ch]:not(#am-w) :is(h3, b, span, small, dt, dd, em, p, i):not(#am-w) {
  color: #eaf2ff !important;
}
.app .os-card[data-ch]:not(#am-w) :is(span.n, .os-rate span, dt):not(#am-w) {
  color: #a9c2e6 !important;
}
.app .os-card[data-ch="ОТС 250"]:not(#am-w) {
  background:
    linear-gradient(90deg, transparent, rgba(225, 242, 255, .6), transparent) 0 0 / 100% 1px no-repeat,
    url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%23e6f3ff'/%3E%3Cstop offset='.6' stop-color='%234a8cff'/%3E%3Cstop offset='1' stop-color='%230a2a80'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cg transform='translate(20 20)'%3E%3Cpath d='M0 -17 L3.2 -7 L0 0 L-3.2 -7z' fill='url(%23g)' transform='rotate(0)'/%3E%3Cpath d='M0 -17 L3.2 -7 L0 0 L-3.2 -7z' fill='url(%23g)' transform='rotate(60)'/%3E%3Cpath d='M0 -17 L3.2 -7 L0 0 L-3.2 -7z' fill='url(%23g)' transform='rotate(120)'/%3E%3Cpath d='M0 -17 L3.2 -7 L0 0 L-3.2 -7z' fill='url(%23g)' transform='rotate(180)'/%3E%3Cpath d='M0 -17 L3.2 -7 L0 0 L-3.2 -7z' fill='url(%23g)' transform='rotate(240)'/%3E%3Cpath d='M0 -17 L3.2 -7 L0 0 L-3.2 -7z' fill='url(%23g)' transform='rotate(300)'/%3E%3C/g%3E%3Cg transform='translate(20.0 20.0)' stroke='%23ffffff' stroke-width='0.9' stroke-linecap='round' fill='none' opacity='0.85'%3E%3Cpath d='M0 0V-17.00M0 -8.09l-3.80 -2.85M0 -8.09l3.80 -2.85M0 -11.20l-2.85 -2.14M0 -11.20l2.85 -2.14' transform='rotate(0)'/%3E%3Cpath d='M0 0V-17.00M0 -8.09l-3.80 -2.85M0 -8.09l3.80 -2.85M0 -11.20l-2.85 -2.14M0 -11.20l2.85 -2.14' transform='rotate(60)'/%3E%3Cpath d='M0 0V-17.00M0 -8.09l-3.80 -2.85M0 -8.09l3.80 -2.85M0 -11.20l-2.85 -2.14M0 -11.20l2.85 -2.14' transform='rotate(120)'/%3E%3Cpath d='M0 0V-17.00M0 -8.09l-3.80 -2.85M0 -8.09l3.80 -2.85M0 -11.20l-2.85 -2.14M0 -11.20l2.85 -2.14' transform='rotate(180)'/%3E%3Cpath d='M0 0V-17.00M0 -8.09l-3.80 -2.85M0 -8.09l3.80 -2.85M0 -11.20l-2.85 -2.14M0 -11.20l2.85 -2.14' transform='rotate(240)'/%3E%3Cpath d='M0 0V-17.00M0 -8.09l-3.80 -2.85M0 -8.09l3.80 -2.85M0 -11.20l-2.85 -2.14M0 -11.20l2.85 -2.14' transform='rotate(300)'/%3E%3Ccircle r='2.04' fill='%23ffffff' stroke='none'/%3E%3C/g%3E%3C/svg%3E") right 18px top 28px / 34px 34px no-repeat,
    linear-gradient(160deg, #2c56a0 0%, #10265c 50%, #050c1c 100%) !important;
  box-shadow: inset 0 1px 0 rgba(220, 240, 255, .25), 0 0 0 1px rgba(160, 205, 255, .35), 0 24px 60px -30px rgba(31, 107, 255, .55) !important;
}
.app .os-card[data-ch="ОТС 500"]:not(#am-w) {
  background:
    linear-gradient(100deg, transparent 15%, rgba(47, 255, 193, .18) 45%, rgba(110, 236, 220, .16) 68%, transparent 88%),
    url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%23e9fffd'/%3E%3Cstop offset='.6' stop-color='%2321ccd6'/%3E%3Cstop offset='1' stop-color='%2305444c'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cg transform='translate(20 20)'%3E%3Cpath d='M0 -17 L3.2 -7 L0 0 L-3.2 -7z' fill='url(%23g)' transform='rotate(0)'/%3E%3Cpath d='M0 -17 L3.2 -7 L0 0 L-3.2 -7z' fill='url(%23g)' transform='rotate(60)'/%3E%3Cpath d='M0 -17 L3.2 -7 L0 0 L-3.2 -7z' fill='url(%23g)' transform='rotate(120)'/%3E%3Cpath d='M0 -17 L3.2 -7 L0 0 L-3.2 -7z' fill='url(%23g)' transform='rotate(180)'/%3E%3Cpath d='M0 -17 L3.2 -7 L0 0 L-3.2 -7z' fill='url(%23g)' transform='rotate(240)'/%3E%3Cpath d='M0 -17 L3.2 -7 L0 0 L-3.2 -7z' fill='url(%23g)' transform='rotate(300)'/%3E%3C/g%3E%3Cg transform='translate(20.0 20.0)' stroke='%23ffffff' stroke-width='0.9' stroke-linecap='round' fill='none' opacity='0.85'%3E%3Cpath d='M0 0V-17.00M0 -8.09l-3.80 -2.85M0 -8.09l3.80 -2.85M0 -11.20l-2.85 -2.14M0 -11.20l2.85 -2.14' transform='rotate(0)'/%3E%3Cpath d='M0 0V-17.00M0 -8.09l-3.80 -2.85M0 -8.09l3.80 -2.85M0 -11.20l-2.85 -2.14M0 -11.20l2.85 -2.14' transform='rotate(60)'/%3E%3Cpath d='M0 0V-17.00M0 -8.09l-3.80 -2.85M0 -8.09l3.80 -2.85M0 -11.20l-2.85 -2.14M0 -11.20l2.85 -2.14' transform='rotate(120)'/%3E%3Cpath d='M0 0V-17.00M0 -8.09l-3.80 -2.85M0 -8.09l3.80 -2.85M0 -11.20l-2.85 -2.14M0 -11.20l2.85 -2.14' transform='rotate(180)'/%3E%3Cpath d='M0 0V-17.00M0 -8.09l-3.80 -2.85M0 -8.09l3.80 -2.85M0 -11.20l-2.85 -2.14M0 -11.20l2.85 -2.14' transform='rotate(240)'/%3E%3Cpath d='M0 0V-17.00M0 -8.09l-3.80 -2.85M0 -8.09l3.80 -2.85M0 -11.20l-2.85 -2.14M0 -11.20l2.85 -2.14' transform='rotate(300)'/%3E%3Ccircle r='2.04' fill='%23ffffff' stroke='none'/%3E%3C/g%3E%3C/svg%3E") right 18px top 28px / 34px 34px no-repeat,
    url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='520' height='520' viewBox='0 0 520 520'%3E%3Cdefs%3E%3C/defs%3E%3Ccircle cx='198' cy='120' r='0.6' fill='%23e9fbff' opacity='0.79'/%3E%3Ccircle cx='201' cy='466' r='0.8' fill='%23e9fbff' opacity='0.58'/%3E%3Ccircle cx='199' cy='380' r='1.3' fill='%23e9fbff' opacity='0.26'/%3E%3Ccircle cx='130' cy='519' r='0.5' fill='%23e9fbff' opacity='0.51'/%3E%3Ccircle cx='81' cy='78' r='0.8' fill='%23e9fbff' opacity='0.35'/%3E%3Ccircle cx='340' cy='323' r='0.5' fill='%23e9fbff' opacity='0.32'/%3E%3Ccircle cx='306' cy='225' r='0.8' fill='%23e9fbff' opacity='0.75'/%3E%3Ccircle cx='112' cy='378' r='1.0' fill='%23e9fbff' opacity='0.33'/%3E%3Ccircle cx='348' cy='64' r='0.6' fill='%23e9fbff' opacity='0.66'/%3E%3Ccircle cx='510' cy='28' r='0.8' fill='%23e9fbff' opacity='0.39'/%3E%3Ccircle cx='14' cy='300' r='1.0' fill='%23e9fbff' opacity='0.78'/%3E%3Ccircle cx='440' cy='157' r='0.6' fill='%23e9fbff' opacity='0.31'/%3E%3Ccircle cx='49' cy='11' r='1.0' fill='%23e9fbff' opacity='0.77'/%3E%3Ccircle cx='120' cy='45' r='0.5' fill='%23e9fbff' opacity='0.53'/%3E%3Ccircle cx='379' cy='221' r='0.8' fill='%23e9fbff' opacity='0.57'/%3E%3Ccircle cx='458' cy='341' r='0.8' fill='%23e9fbff' opacity='0.36'/%3E%3Ccircle cx='420' cy='372' r='0.5' fill='%23e9fbff' opacity='0.84'/%3E%3Ccircle cx='367' cy='465' r='1.0' fill='%23e9fbff' opacity='0.64'/%3E%3Ccircle cx='390' cy='317' r='1.0' fill='%23e9fbff' opacity='0.61'/%3E%3Ccircle cx='52' cy='492' r='0.6' fill='%23e9fbff' opacity='0.51'/%3E%3Ccircle cx='381' cy='354' r='1.0' fill='%23e9fbff' opacity='0.72'/%3E%3Ccircle cx='43' cy='348' r='1.3' fill='%23e9fbff' opacity='0.38'/%3E%3Ccircle cx='357' cy='144' r='0.8' fill='%23e9fbff' opacity='0.73'/%3E%3Ccircle cx='324' cy='410' r='0.8' fill='%23e9fbff' opacity='0.70'/%3E%3Ccircle cx='381' cy='111' r='0.6' fill='%23e9fbff' opacity='0.38'/%3E%3Ccircle cx='117' cy='244' r='0.6' fill='%23e9fbff' opacity='0.29'/%3E%3Ccircle cx='123' cy='295' r='0.6' fill='%23e9fbff' opacity='0.55'/%3E%3Ccircle cx='63' cy='200' r='0.5' fill='%23e9fbff' opacity='0.74'/%3E%3Ccircle cx='233' cy='385' r='0.6' fill='%23e9fbff' opacity='0.58'/%3E%3Ccircle cx='259' cy='505' r='0.8' fill='%23e9fbff' opacity='0.74'/%3E%3Ccircle cx='16' cy='307' r='0.6' fill='%23e9fbff' opacity='0.63'/%3E%3Ccircle cx='267' cy='338' r='0.6' fill='%23e9fbff' opacity='0.50'/%3E%3Ccircle cx='506' cy='500' r='0.5' fill='%23e9fbff' opacity='0.56'/%3E%3Ccircle cx='310' cy='183' r='1.0' fill='%23e9fbff' opacity='0.80'/%3E%3Ccircle cx='471' cy='160' r='0.6' fill='%23e9fbff' opacity='0.41'/%3E%3Ccircle cx='197' cy='120' r='0.5' fill='%23e9fbff' opacity='0.77'/%3E%3Ccircle cx='145' cy='305' r='0.8' fill='%23e9fbff' opacity='0.49'/%3E%3Ccircle cx='256' cy='442' r='0.5' fill='%23e9fbff' opacity='0.55'/%3E%3Ccircle cx='309' cy='121' r='0.6' fill='%23e9fbff' opacity='0.79'/%3E%3Ccircle cx='152' cy='128' r='1.0' fill='%23e9fbff' opacity='0.81'/%3E%3Ccircle cx='430' cy='28' r='1.3' fill='%23e9fbff' opacity='0.27'/%3E%3Ccircle cx='395' cy='102' r='1.0' fill='%23e9fbff' opacity='0.44'/%3E%3Ccircle cx='191' cy='90' r='0.5' fill='%23e9fbff' opacity='0.38'/%3E%3Ccircle cx='454' cy='267' r='0.6' fill='%23e9fbff' opacity='0.27'/%3E%3Ccircle cx='307' cy='195' r='0.6' fill='%23e9fbff' opacity='0.74'/%3E%3Ccircle cx='141' cy='12' r='1.3' fill='%23e9fbff' opacity='0.69'/%3E%3Ccircle cx='201' cy='97' r='1.3' fill='%23e9fbff' opacity='0.45'/%3E%3Ccircle cx='265' cy='96' r='0.5' fill='%23e9fbff' opacity='0.59'/%3E%3Ccircle cx='375' cy='99' r='0.6' fill='%23e9fbff' opacity='0.42'/%3E%3Ccircle cx='45' cy='343' r='1.0' fill='%23e9fbff' opacity='0.26'/%3E%3Ccircle cx='161' cy='158' r='0.5' fill='%23e9fbff' opacity='0.58'/%3E%3Ccircle cx='464' cy='166' r='1.0' fill='%23e9fbff' opacity='0.70'/%3E%3Ccircle cx='194' cy='413' r='0.5' fill='%23e9fbff' opacity='0.29'/%3E%3Ccircle cx='202' cy='83' r='1.0' fill='%23e9fbff' opacity='0.35'/%3E%3Ccircle cx='83' cy='46' r='0.5' fill='%23e9fbff' opacity='0.44'/%3E%3Ccircle cx='470' cy='163' r='0.5' fill='%23e9fbff' opacity='0.37'/%3E%3Ccircle cx='469' cy='506' r='0.5' fill='%23e9fbff' opacity='0.79'/%3E%3Ccircle cx='475' cy='501' r='0.8' fill='%23e9fbff' opacity='0.57'/%3E%3Ccircle cx='486' cy='142' r='0.6' fill='%23e9fbff' opacity='0.70'/%3E%3Ccircle cx='454' cy='401' r='1.0' fill='%23e9fbff' opacity='0.54'/%3E%3Ccircle cx='131' cy='357' r='1.3' fill='%23e9fbff' opacity='0.67'/%3E%3Ccircle cx='298' cy='84' r='0.6' fill='%23e9fbff' opacity='0.73'/%3E%3Ccircle cx='13' cy='143' r='0.5' fill='%23e9fbff' opacity='0.37'/%3E%3Ccircle cx='346' cy='146' r='0.8' fill='%23e9fbff' opacity='0.81'/%3E%3Ccircle cx='152' cy='149' r='0.5' fill='%23e9fbff' opacity='0.76'/%3E%3Ccircle cx='517' cy='159' r='1.0' fill='%23e9fbff' opacity='0.78'/%3E%3Ccircle cx='285' cy='374' r='0.8' fill='%23e9fbff' opacity='0.64'/%3E%3Ccircle cx='122' cy='483' r='1.0' fill='%23e9fbff' opacity='0.61'/%3E%3Ccircle cx='346' cy='218' r='0.6' fill='%23e9fbff' opacity='0.27'/%3E%3Ccircle cx='105' cy='154' r='0.8' fill='%23e9fbff' opacity='0.26'/%3E%3Cpath d='M257.6556328096451 345.23601587338095L258.75563280964514 350.1360158733809L263.6556328096451 351.23601587338095L258.75563280964514 352.336015873381L257.6556328096451 357.23601587338095L256.5556328096451 352.336015873381L251.6556328096451 351.23601587338095L256.5556328096451 350.1360158733809z' fill='%23fff' opacity='.8'/%3E%3Cpath d='M264.75822651245096 283.39987169362587L265.858226512451 288.29987169362585L270.75822651245096 289.39987169362587L265.858226512451 290.4998716936259L264.75822651245096 295.39987169362587L263.65822651245094 290.4998716936259L258.75822651245096 289.39987169362587L263.65822651245094 288.29987169362585z' fill='%23fff' opacity='.8'/%3E%3Cpath d='M246.67052575536928 397.7418149302564L247.77052575536928 402.6418149302564L252.67052575536928 403.7418149302564L247.77052575536928 404.8418149302564L246.67052575536928 409.7418149302564L245.5705257553693 404.8418149302564L240.67052575536928 403.7418149302564L245.5705257553693 402.6418149302564z' fill='%23fff' opacity='.8'/%3E%3Cpath d='M42.93246858744357 419.84090731807345L44.032468587443574 424.7409073180734L48.93246858744357 425.84090731807345L44.032468587443574 426.94090731807347L42.93246858744357 431.84090731807345L41.83246858744357 426.94090731807347L36.93246858744357 425.84090731807345L41.83246858744357 424.7409073180734z' fill='%23fff' opacity='.8'/%3E%3C/svg%3E") 0 0 / 260px 260px repeat,
    linear-gradient(160deg, #176a72 0%, #032028 100%) !important;
  box-shadow: inset 0 1px 0 rgba(200, 255, 250, .22), 0 0 0 1px rgba(120, 240, 235, .32), 0 24px 60px -30px rgba(33, 204, 214, .45) !important;
}
.app .os-card[data-ch="Эксклюзив"]:not(#am-w) {
  border: 1px solid transparent;
  background:
    url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='44' height='44' viewBox='0 0 44 44'%3E%3Cdefs%3E%3CradialGradient id='w' cx='.4' cy='.35' r='.7'%3E%3Cstop offset='0' stop-color='%23e0304b'/%3E%3Cstop offset='.6' stop-color='%239c1026'/%3E%3Cstop offset='1' stop-color='%234a0612'/%3E%3C/radialGradient%3E%3C/defs%3E%3Cpath d='M40.1 22.0 L42.0 26.6 L38.0 29.7 L37.4 34.3 L33.0 35.8 L29.9 38.4 L26.6 42.1 L22.0 40.1 L17.7 41.0 L13.8 39.0 L10.2 36.7 L7.2 33.8 L5.8 29.8 L2.4 26.5 L4.3 22.0 L4.3 18.0 L6.3 14.4 L7.7 10.6 L10.3 7.4 L13.2 3.7 L17.9 3.9 L22.0 4.2 L26.1 4.2 L30.9 3.5 L33.0 8.2 L37.2 9.9 L38.8 13.9 L41.0 17.7z' fill='url(%23w)'/%3E%3Ccircle cx='22' cy='22' r='13.5' fill='none' stroke='%233a0610' stroke-opacity='.7' stroke-width='1.6'/%3E%3Ccircle cx='22' cy='22' r='13.5' fill='none' stroke='%23ff8a9a' stroke-opacity='.25' stroke-width='.6' transform='translate(-.6 -.6)'/%3E%3Ctext x='22' y='28.5' text-anchor='middle' font-family='Georgia, serif' font-style='italic' font-weight='700' font-size='17' fill='%233a0610' fill-opacity='.8'%3EA%3C/text%3E%3Ctext x='21.4' y='27.9' text-anchor='middle' font-family='Georgia, serif' font-style='italic' font-weight='700' font-size='17' fill='%23ff9aa6' fill-opacity='.35'%3EA%3C/text%3E%3Cellipse cx='15' cy='12' rx='6' ry='2.6' fill='%23fff' opacity='.22' transform='rotate(-28 15 12)'/%3E%3C/svg%3E") right 16px top 18px / 40px 40px no-repeat padding-box,
    radial-gradient(ellipse 90% 70% at 100% 0%, rgba(196, 26, 51, .32), transparent 70%) padding-box,
    url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='320' height='320' viewBox='0 0 320 320'%3E%3Cdefs%3E%3Cfilter id='n' x='0' y='0' width='100%' height='100%'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.012 .09' numOctaves='3' seed='4' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .55 0 0 0 0 .04 0 0 0 0 .10 0 0 0 .07 0'/%3E%3C/filter%3E%3C/defs%3E%3Crect width='320' height='320' filter='url(%23n)'/%3E%3C/svg%3E") 0 0 / 320px 320px repeat padding-box,
    linear-gradient(160deg, #1a080b, #070304) padding-box,
    linear-gradient(135deg, rgba(216, 36, 62, .9), rgba(94, 10, 24, .5) 50%, rgba(216, 36, 62, .9)) border-box !important;
  box-shadow: 0 24px 60px -30px rgba(196, 26, 51, .5) !important;
}
.app .os-card[data-ch="Эксклюзив"] h3:not(#am-w) { font-family: "Playfair Display", Georgia, serif; font-style: italic; font-size: 21px; }
.app .os-calrow[data-ch="ОТС 250"] h4:not(#am-w)::before,
.app .os-calrow[data-ch="ОТС 500"] h4:not(#am-w)::before,
.app .os-calrow[data-ch="Эксклюзив"] h4:not(#am-w)::before {
  content: ""; display: inline-block; width: 16px; height: 16px; margin-right: 8px; vertical-align: -3px;
  background: var(--os-mark) center / contain no-repeat;
}
.app .os-calrow[data-ch="ОТС 250"]:not(#am-w) { --os-mark: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cdefs%3E%3C/defs%3E%3Cg transform='translate(8.0 8.0)' stroke='%23bfe0ff' stroke-width='1.1' stroke-linecap='round' fill='none' opacity='1.0'%3E%3Cpath d='M0 0V-7.00M0 -3.18l-1.81 -1.36M0 -3.18l1.81 -1.36M0 -4.96l-1.21 -0.91M0 -4.96l1.21 -0.91' transform='rotate(0)'/%3E%3Cpath d='M0 0V-7.00M0 -3.18l-1.81 -1.36M0 -3.18l1.81 -1.36M0 -4.96l-1.21 -0.91M0 -4.96l1.21 -0.91' transform='rotate(60)'/%3E%3Cpath d='M0 0V-7.00M0 -3.18l-1.81 -1.36M0 -3.18l1.81 -1.36M0 -4.96l-1.21 -0.91M0 -4.96l1.21 -0.91' transform='rotate(120)'/%3E%3Cpath d='M0 0V-7.00M0 -3.18l-1.81 -1.36M0 -3.18l1.81 -1.36M0 -4.96l-1.21 -0.91M0 -4.96l1.21 -0.91' transform='rotate(180)'/%3E%3Cpath d='M0 0V-7.00M0 -3.18l-1.81 -1.36M0 -3.18l1.81 -1.36M0 -4.96l-1.21 -0.91M0 -4.96l1.21 -0.91' transform='rotate(240)'/%3E%3Cpath d='M0 0V-7.00M0 -3.18l-1.81 -1.36M0 -3.18l1.81 -1.36M0 -4.96l-1.21 -0.91M0 -4.96l1.21 -0.91' transform='rotate(300)'/%3E%3Ccircle r='0.84' fill='%23bfe0ff' stroke='none'/%3E%3C/g%3E%3C/svg%3E"); }
.app .os-calrow[data-ch="ОТС 500"]:not(#am-w) { --os-mark: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cdefs%3E%3C/defs%3E%3Cg transform='translate(8.0 8.0)' stroke='%239ff6f0' stroke-width='1.1' stroke-linecap='round' fill='none' opacity='1.0'%3E%3Cpath d='M0 0V-7.00M0 -3.18l-1.81 -1.36M0 -3.18l1.81 -1.36M0 -4.96l-1.21 -0.91M0 -4.96l1.21 -0.91' transform='rotate(0)'/%3E%3Cpath d='M0 0V-7.00M0 -3.18l-1.81 -1.36M0 -3.18l1.81 -1.36M0 -4.96l-1.21 -0.91M0 -4.96l1.21 -0.91' transform='rotate(60)'/%3E%3Cpath d='M0 0V-7.00M0 -3.18l-1.81 -1.36M0 -3.18l1.81 -1.36M0 -4.96l-1.21 -0.91M0 -4.96l1.21 -0.91' transform='rotate(120)'/%3E%3Cpath d='M0 0V-7.00M0 -3.18l-1.81 -1.36M0 -3.18l1.81 -1.36M0 -4.96l-1.21 -0.91M0 -4.96l1.21 -0.91' transform='rotate(180)'/%3E%3Cpath d='M0 0V-7.00M0 -3.18l-1.81 -1.36M0 -3.18l1.81 -1.36M0 -4.96l-1.21 -0.91M0 -4.96l1.21 -0.91' transform='rotate(240)'/%3E%3Cpath d='M0 0V-7.00M0 -3.18l-1.81 -1.36M0 -3.18l1.81 -1.36M0 -4.96l-1.21 -0.91M0 -4.96l1.21 -0.91' transform='rotate(300)'/%3E%3Ccircle r='0.84' fill='%239ff6f0' stroke='none'/%3E%3C/g%3E%3C/svg%3E"); }
.app .os-calrow[data-ch="Эксклюзив"]:not(#am-w) { --os-mark: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='44' height='44' viewBox='0 0 44 44'%3E%3Cdefs%3E%3CradialGradient id='w' cx='.4' cy='.35' r='.7'%3E%3Cstop offset='0' stop-color='%23e0304b'/%3E%3Cstop offset='.6' stop-color='%239c1026'/%3E%3Cstop offset='1' stop-color='%234a0612'/%3E%3C/radialGradient%3E%3C/defs%3E%3Cpath d='M40.1 22.0 L42.0 26.6 L38.0 29.7 L37.4 34.3 L33.0 35.8 L29.9 38.4 L26.6 42.1 L22.0 40.1 L17.7 41.0 L13.8 39.0 L10.2 36.7 L7.2 33.8 L5.8 29.8 L2.4 26.5 L4.3 22.0 L4.3 18.0 L6.3 14.4 L7.7 10.6 L10.3 7.4 L13.2 3.7 L17.9 3.9 L22.0 4.2 L26.1 4.2 L30.9 3.5 L33.0 8.2 L37.2 9.9 L38.8 13.9 L41.0 17.7z' fill='url(%23w)'/%3E%3Ccircle cx='22' cy='22' r='13.5' fill='none' stroke='%233a0610' stroke-opacity='.7' stroke-width='1.6'/%3E%3Ccircle cx='22' cy='22' r='13.5' fill='none' stroke='%23ff8a9a' stroke-opacity='.25' stroke-width='.6' transform='translate(-.6 -.6)'/%3E%3Ctext x='22' y='28.5' text-anchor='middle' font-family='Georgia, serif' font-style='italic' font-weight='700' font-size='17' fill='%233a0610' fill-opacity='.8'%3EA%3C/text%3E%3Ctext x='21.4' y='27.9' text-anchor='middle' font-family='Georgia, serif' font-style='italic' font-weight='700' font-size='17' fill='%23ff9aa6' fill-opacity='.35'%3EA%3C/text%3E%3Cellipse cx='15' cy='12' rx='6' ry='2.6' fill='%23fff' opacity='.22' transform='rotate(-28 15 12)'/%3E%3C/svg%3E"); }

/* ── ТЕЛЕФОН (15.09) ──────────────────────────────────────────────────────────
   Снимки миров на экране 390×844 показали: мир жил в заголовке, а нижнее меню — самый
   видимый на телефоне элемент — и главные цифры были одинаковыми у Free и у Gold. */

/* КАРТА УЧАСТНИКА. Материал берётся у той же клубной карты, что панель «Мой уровень»
   (правила выше объявлены на обе). Здесь — размеры предмета, переворот и текст. */
.app:not([data-look="level"]) .member-card-wrap { display: none; }
.app[data-look="level"] .member-card-wrap:not(#am-w) {
  display: grid; gap: 8px; justify-items: start; margin: 4px 0 18px; perspective: 900px;
}
.app[data-look="level"][data-tier] .member-card:not(#am-env):not(#am-w):not(#am-mc) {
  display: block; width: min(100%, 420px); aspect-ratio: 1.586; padding: 0 !important; cursor: pointer;
  font: inherit; color: #f4f1ea; text-align: left;
  /* ПЕРЕВОРОТА НЕТ — ОБОРОТ ПРОСТО ПОЯВЛЯЕТСЯ. Карта поворачивалась на 180°, а оборот
     был заранее отражён, чтобы после поворота читаться прямо. Стоило повороту не
     примениться (а он не применился у двух тестировщиков 19.09 на разных устройствах) —
     и человек видел «ОТКРЫТО ТЕБЕ» зеркально. Стороны меняются проявлением. */
  transform: rotateX(calc(var(--ty, 0) * -9deg)) rotateY(calc(var(--tx, 0) * 12deg));
  transition: transform .6s cubic-bezier(.2, .7, .2, 1), box-shadow .35s;
  box-shadow: 0 26px 50px -18px rgba(0, 0, 0, .75), inset 0 1px 0 rgba(255, 255, 255, .14) !important;
  -webkit-tap-highlight-color: transparent;
}
.app[data-look="level"] .member-card:focus-visible:not(#am-w) { outline: 2px solid rgba(255, 255, 255, .7); outline-offset: 4px; }
.app[data-look="level"] .member-card:not(#am-w)::before {
  content: ""; position: absolute; top: 16px; right: 16px; width: 46px; height: 46px; z-index: 1;
  background: var(--e-emblem) center / contain no-repeat;
  filter: drop-shadow(0 4px 10px rgba(0, 0, 0, .55)); pointer-events: none;
}
.app[data-look="level"] .member-card[data-flipped]:not(#am-w)::before { opacity: 0; }
/* Переворот без объёмной сцены: материал карты обрезает содержимое по краю, и объёмный
   слой сплющивается — оборот показывал бы лицо в зеркале. Поэтому стороны меняются ровно на
   середине поворота, а оборот заранее отражён, чтобы после поворота читаться прямо. */
.app[data-look="level"] .member-card .mc-face:not(#am-w) {
  position: absolute; inset: 0; padding: 18px 20px 20px; display: flex; flex-direction: column; z-index: 2;
  transition: opacity .28s ease;
}
.app[data-look="level"] .member-card .mc-back:not(#am-w) { gap: 10px; opacity: 0; }
.app[data-look="level"] .member-card[data-flipped] .mc-front:not(#am-w) { opacity: 0; }
.app[data-look="level"] .member-card[data-flipped] .mc-back:not(#am-w) { opacity: 1; }
:is(.app[data-look="level"][data-tier="2"], .app[data-look="level"][data-tier="5"]) .member-card .mc-name:not(#am-w) { padding-left: 44px; }
.app[data-look="level"] .member-card small:not(#am-w) {
  font-size: 11px; letter-spacing: .16em; text-transform: uppercase; opacity: .8;
}
.app[data-look="level"] .member-card .mc-front > b:not(#am-w) {
  margin-top: auto; font-size: clamp(30px, 9vw, 40px) !important; line-height: 1; font-weight: 700;
}
.app[data-look="level"] .member-card .mc-name:not(#am-w) {
  margin-top: 10px; font-size: 14px; letter-spacing: .12em; text-transform: uppercase; opacity: .85;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 70%;
}
.app[data-look="level"] .member-card .mc-rooms:not(#am-w) { display: flex; flex-wrap: wrap; gap: 6px; }
.app[data-look="level"] .member-card .mc-rooms em:not(#am-w) {
  font-style: normal; font-size: 13px; padding: 5px 9px; border-radius: 999px;
  background: rgba(255, 255, 255, .10); border: 1px solid rgba(255, 255, 255, .18);
}
.app[data-look="level"] .member-card .mc-rooms-empty:not(#am-w) { font-size: 14px; opacity: .8; max-width: 30ch; }
.app[data-look="level"] .mc-link:not(#am-w) {
  display: inline-flex; align-items: center; gap: 6px; font-size: 13px; opacity: .8;
  background: none; border: 0; color: inherit; padding: 4px 2px; cursor: pointer;
}
.app[data-look="level"] .mc-link svg:not(#am-w) { width: 14px; height: 14px; }
.app[data-look="level"][data-tier="2"] .member-card .mc-front > b:not(#am-w),
.app[data-look="level"][data-tier="3"] .member-card .mc-front > b:not(#am-w) {
  /* Карта участника — тёмный пластик и в светлом мире тоже: это предмет, а не экран.
     Значит и надпись на ней светлая (`--aurora-on-dark`), иначе синее по синему. */
  background: var(--aurora-on-dark, var(--aurora-text)) 0 50% / 200% 100%; -webkit-background-clip: text; background-clip: text;
  color: transparent; animation: am-w-text 14s linear infinite;
}
.app[data-look="level"][data-tier="1"] .member-card .mc-front > b:not(#am-w) { color: #f7d9a8; }
@media (prefers-reduced-motion: reduce) {
  .app[data-look="level"] .member-card:not(#am-w) { transition: none; }
}

/* НИЖНЕЕ МЕНЮ В МАТЕРИАЛЕ МИРА. Над активной кнопкой — знак мира; сугроб больше не лежит
   поверх кнопок (дефект снимков 15.09): зима ОТС живёт в самом стекле панели. */
.app[data-look="level"][data-tier] .mobile-nav button.active:not(#am-env):not(#am-w) { position: relative; }
.app[data-look="level"][data-tier] .mobile-nav button.active:not(#am-env):not(#am-w)::before {
  content: ""; position: absolute; top: -9px; left: 50%; width: 16px; height: 16px; margin-left: -8px;
  background: var(--w-nav-mark, none) center / contain no-repeat; pointer-events: none;
  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, .6));
}
.app[data-look="level"][data-tier="2"] .mobile-nav:not(#am-env):not(#am-w) {
  background:
    linear-gradient(90deg, transparent, rgba(31, 107, 255, .35) 30%, rgba(31, 107, 255, .6) 50%, rgba(31, 107, 255, .35) 70%, transparent) 0 0 / 100% 1px no-repeat,
    url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140' viewBox='0 0 140 140'%3E%3Cdefs%3E%3C/defs%3E%3Cline x1='69' y1='78' x2='57' y2='86' stroke='%236f96c8' stroke-opacity='0.39' stroke-width='1.2'/%3E%3Cline x1='68' y1='50' x2='73' y2='65' stroke='%236f96c8' stroke-opacity='0.33' stroke-width='1.1'/%3E%3Cline x1='125' y1='96' x2='119' y2='110' stroke='%236f96c8' stroke-opacity='0.45' stroke-width='0.7'/%3E%3Cline x1='102' y1='42' x2='120' y2='65' stroke='%236f96c8' stroke-opacity='0.40' stroke-width='1.4'/%3E%3Cline x1='87' y1='107' x2='82' y2='118' stroke='%236f96c8' stroke-opacity='0.57' stroke-width='0.8'/%3E%3Cline x1='57' y1='18' x2='73' y2='21' stroke='%236f96c8' stroke-opacity='0.26' stroke-width='0.9'/%3E%3Cline x1='119' y1='140' x2='122' y2='150' stroke='%236f96c8' stroke-opacity='0.41' stroke-width='0.7'/%3E%3Cline x1='30' y1='87' x2='27' y2='95' stroke='%236f96c8' stroke-opacity='0.47' stroke-width='0.9'/%3E%3Cline x1='56' y1='19' x2='59' y2='29' stroke='%236f96c8' stroke-opacity='0.56' stroke-width='1.1'/%3E%3Cline x1='88' y1='57' x2='72' y2='59' stroke='%236f96c8' stroke-opacity='0.34' stroke-width='0.9'/%3E%3Cline x1='128' y1='22' x2='107' y2='41' stroke='%236f96c8' stroke-opacity='0.63' stroke-width='1.0'/%3E%3Cline x1='63' y1='122' x2='47' y2='142' stroke='%236f96c8' stroke-opacity='0.33' stroke-width='1.1'/%3E%3Cline x1='103' y1='33' x2='124' y2='49' stroke='%236f96c8' stroke-opacity='0.51' stroke-width='0.9'/%3E%3Cline x1='68' y1='36' x2='75' y2='43' stroke='%236f96c8' stroke-opacity='0.43' stroke-width='0.7'/%3E%3Cline x1='126' y1='134' x2='123' y2='143' stroke='%236f96c8' stroke-opacity='0.52' stroke-width='0.7'/%3E%3Cline x1='52' y1='18' x2='52' y2='28' stroke='%236f96c8' stroke-opacity='0.38' stroke-width='0.8'/%3E%3Cline x1='65' y1='130' x2='59' y2='155' stroke='%236f96c8' stroke-opacity='0.58' stroke-width='1.0'/%3E%3Cline x1='10' y1='8' x2='27' y2='16' stroke='%236f96c8' stroke-opacity='0.40' stroke-width='1.3'/%3E%3Cline x1='28' y1='18' x2='19' y2='38' stroke='%236f96c8' stroke-opacity='0.27' stroke-width='0.9'/%3E%3Cline x1='62' y1='115' x2='41' y2='133' stroke='%236f96c8' stroke-opacity='0.49' stroke-width='1.4'/%3E%3Cline x1='66' y1='40' x2='90' y2='52' stroke='%236f96c8' stroke-opacity='0.54' stroke-width='1.1'/%3E%3Cline x1='137' y1='88' x2='150' y2='108' stroke='%236f96c8' stroke-opacity='0.67' stroke-width='0.7'/%3E%3Cline x1='132' y1='58' x2='150' y2='65' stroke='%236f96c8' stroke-opacity='0.60' stroke-width='1.0'/%3E%3Cline x1='38' y1='107' x2='59' y2='115' stroke='%236f96c8' stroke-opacity='0.41' stroke-width='1.1'/%3E%3Cline x1='71' y1='39' x2='92' y2='55' stroke='%236f96c8' stroke-opacity='0.46' stroke-width='0.8'/%3E%3Cline x1='83' y1='108' x2='100' y2='113' stroke='%236f96c8' stroke-opacity='0.32' stroke-width='1.2'/%3E%3C/svg%3E") 0 0 / 140px 140px repeat,
    linear-gradient(180deg, #ffffff, #f4f8ff) !important;
  border-top: 0 !important;
}
.app[data-look="level"][data-tier="3"] .mobile-nav:not(#am-env):not(#am-w) {
  background:
    linear-gradient(90deg, transparent, rgba(47, 255, 193, .7) 30%, rgba(33, 204, 214, .9) 50%, rgba(110, 236, 220, .7) 70%, transparent) 0 0 / 100% 1px no-repeat,
    url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140' viewBox='0 0 140 140'%3E%3Cdefs%3E%3C/defs%3E%3Cline x1='69' y1='78' x2='57' y2='86' stroke='%23ffffff' stroke-opacity='0.39' stroke-width='1.2'/%3E%3Cline x1='68' y1='50' x2='73' y2='65' stroke='%23ffffff' stroke-opacity='0.33' stroke-width='1.1'/%3E%3Cline x1='125' y1='96' x2='119' y2='110' stroke='%23ffffff' stroke-opacity='0.45' stroke-width='0.7'/%3E%3Cline x1='102' y1='42' x2='120' y2='65' stroke='%23ffffff' stroke-opacity='0.40' stroke-width='1.4'/%3E%3Cline x1='87' y1='107' x2='82' y2='118' stroke='%23ffffff' stroke-opacity='0.57' stroke-width='0.8'/%3E%3Cline x1='57' y1='18' x2='73' y2='21' stroke='%23ffffff' stroke-opacity='0.26' stroke-width='0.9'/%3E%3Cline x1='119' y1='140' x2='122' y2='150' stroke='%23ffffff' stroke-opacity='0.41' stroke-width='0.7'/%3E%3Cline x1='30' y1='87' x2='27' y2='95' stroke='%23ffffff' stroke-opacity='0.47' stroke-width='0.9'/%3E%3Cline x1='56' y1='19' x2='59' y2='29' stroke='%23ffffff' stroke-opacity='0.56' stroke-width='1.1'/%3E%3Cline x1='88' y1='57' x2='72' y2='59' stroke='%23ffffff' stroke-opacity='0.34' stroke-width='0.9'/%3E%3Cline x1='128' y1='22' x2='107' y2='41' stroke='%23ffffff' stroke-opacity='0.63' stroke-width='1.0'/%3E%3Cline x1='63' y1='122' x2='47' y2='142' stroke='%23ffffff' stroke-opacity='0.33' stroke-width='1.1'/%3E%3Cline x1='103' y1='33' x2='124' y2='49' stroke='%23ffffff' stroke-opacity='0.51' stroke-width='0.9'/%3E%3Cline x1='68' y1='36' x2='75' y2='43' stroke='%23ffffff' stroke-opacity='0.43' stroke-width='0.7'/%3E%3Cline x1='126' y1='134' x2='123' y2='143' stroke='%23ffffff' stroke-opacity='0.52' stroke-width='0.7'/%3E%3Cline x1='52' y1='18' x2='52' y2='28' stroke='%23ffffff' stroke-opacity='0.38' stroke-width='0.8'/%3E%3Cline x1='65' y1='130' x2='59' y2='155' stroke='%23ffffff' stroke-opacity='0.58' stroke-width='1.0'/%3E%3Cline x1='10' y1='8' x2='27' y2='16' stroke='%23ffffff' stroke-opacity='0.40' stroke-width='1.3'/%3E%3Cline x1='28' y1='18' x2='19' y2='38' stroke='%23ffffff' stroke-opacity='0.27' stroke-width='0.9'/%3E%3Cline x1='62' y1='115' x2='41' y2='133' stroke='%23ffffff' stroke-opacity='0.49' stroke-width='1.4'/%3E%3Cline x1='66' y1='40' x2='90' y2='52' stroke='%23ffffff' stroke-opacity='0.54' stroke-width='1.1'/%3E%3Cline x1='137' y1='88' x2='150' y2='108' stroke='%23ffffff' stroke-opacity='0.67' stroke-width='0.7'/%3E%3Cline x1='132' y1='58' x2='150' y2='65' stroke='%23ffffff' stroke-opacity='0.60' stroke-width='1.0'/%3E%3Cline x1='38' y1='107' x2='59' y2='115' stroke='%23ffffff' stroke-opacity='0.41' stroke-width='1.1'/%3E%3Cline x1='71' y1='39' x2='92' y2='55' stroke='%23ffffff' stroke-opacity='0.46' stroke-width='0.8'/%3E%3Cline x1='83' y1='108' x2='100' y2='113' stroke='%23ffffff' stroke-opacity='0.32' stroke-width='1.2'/%3E%3C/svg%3E") 0 0 / 140px 140px repeat,
    linear-gradient(180deg, #0b2d33, #03151a) !important;
  border-top: 0 !important;
}
.app[data-look="level"][data-tier="3"] .mobile-nav button.active:not(#am-env):not(#am-w) {
  text-shadow: 0 0 12px rgba(190, 230, 255, .8);
}
/* На белой панели свечение не светит, а мылит: активный пункт держится цветом. */
.app[data-look="level"][data-tier="2"] .mobile-nav button.active:not(#am-env):not(#am-w) { color: #0b53e0 !important; }
.app[data-look="level"][data-tier="2"] .mobile-nav button.active:not(#am-env):not(#am-w)::before { filter: none; }
.app[data-look="level"][data-tier="4"] .mobile-nav:not(#am-env):not(#am-w) {
  background:
    linear-gradient(90deg, transparent, rgba(232, 60, 86, .7) 25%, #ff8a9a 50%, rgba(232, 60, 86, .7) 75%, transparent) 0 0 / 100% 1px no-repeat,
    url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='320' height='320' viewBox='0 0 320 320'%3E%3Cdefs%3E%3Cfilter id='n' x='0' y='0' width='100%' height='100%'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.012 .09' numOctaves='3' seed='4' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .55 0 0 0 0 .04 0 0 0 0 .10 0 0 0 .07 0'/%3E%3C/filter%3E%3C/defs%3E%3Crect width='320' height='320' filter='url(%23n)'/%3E%3C/svg%3E") 0 0 / 320px 320px repeat,
    linear-gradient(180deg, #1a070a, #0a0304) !important;
  border-top: 0 !important;
}
.app[data-look="level"][data-tier="4"] .mobile-nav button.active:not(#am-env):not(#am-w) { color: #ffc9d2 !important; }
.app[data-look="level"][data-tier="5"] .mobile-nav:not(#am-env):not(#am-w) {
  background:
    linear-gradient(90deg, transparent, #7a5412 12%, #ffe39a 40%, #fff6d6 50%, #ffd36b 60%, #7a5412 88%, transparent) 0 0 / 100% 1px no-repeat,
    repeating-linear-gradient(90deg, rgba(255, 255, 255, .02) 0 1px, transparent 1px 3px),
    linear-gradient(180deg, #14120d, #070605) !important;
  border-top: 0 !important;
}
.app[data-look="level"][data-tier="5"] .mobile-nav button.active:not(#am-env):not(#am-w) span {
  background: none; color: #F2DCA6;   /* 03.10: ровное шампанское, без литого металла */
}

/* ЦИФРЫ ШРИФТОМ МИРА. Проходимость, баланс, день челленджа — самое важное на экране —
   больше не набраны одинаково у Free и у Gold. */
.app[data-look="level"][data-tier] :is(.os-rate > b, .balance-card > b, .kb-bal > b, .today-mission h3, .today-streak):not(#am-w) {
  font-variant-numeric: lining-nums tabular-nums;
}
.app[data-look="level"][data-tier="5"] :is(.os-rate > b, .balance-card > b, .kb-bal > b):not(#am-w) {
  /* 03.10 (SPEC-v2): числа моноширинным тёплым белым — читаются, а не переливаются. */
  font-family: "JetBrains Mono", ui-monospace, Menlo, monospace; font-weight: 700; letter-spacing: -.01em;
  background: none; color: #F3F0E9 !important;
}
.app[data-look="level"][data-tier="5"] .today-mission h3:not(#am-w) {
  font-family: "Manrope", "Inter", system-ui, sans-serif; font-weight: 800; letter-spacing: -.02em;
  background: none; color: #F3F0E9 !important;
}
.app[data-look="level"][data-tier="4"] :is(.os-rate > b, .balance-card > b, .kb-bal > b, .today-mission h3):not(#am-w) {
  font-family: "Playfair Display", Georgia, serif; font-style: italic; font-weight: 600; color: #f6eee8 !important;
}
:is(.app[data-look="level"][data-tier="2"], .app[data-look="level"][data-tier="3"]) :is(.os-rate > b, .balance-card > b, .kb-bal > b, .today-mission h3):not(#am-w) {
  letter-spacing: -.03em; font-weight: 800;
  background: var(--aurora-text) 0 50% / 200% 100%; -webkit-background-clip: text; background-clip: text;
  color: transparent !important;
}

/* ЧИТАЕМОСТЬ (автопроверка 15.09, контраст по пикселям кадра):
   · карта профиля ОТС была полупрозрачной — сквозь неё просвечивало сияние фона, и белый текст
     читался при 2–2.7; под стекло подложена сплошная тёмная основа (см. --w-club-card);
   · ссылка «Уровень и доступ» у Эксклюзива — тёмно-красная на бордовой карте (2.2). */
.app[data-look="level"][data-tier="4"] .side-level button:not(#am-w),
.app[data-look="level"][data-tier="4"] .side-level button svg:not(#am-w) { color: #ff9fae !important; }

/* ЧИП НЕ ЛОЖИТСЯ ПОД ТЕКСТ (04.10, сверка правок 25.09: тот же класс, что «коронка мешает
   увидеть номер счёта»). На панели «Мой уровень» в меню кнопка «Уровень и доступ» стоит внизу
   слева — ровно там, где лежал чип карты ОТС 250. Мир не меняется: чип переезжает в правый
   нижний угол, на свободное место. На карте участника на «Сегодня» он остаётся слева у имени. */
.app[data-look="level"]:is([data-tier="2"], [data-tier="2d"]) .side-level:not(#am-env):not(#am-w) {
  background-position: right 14px bottom 14px, 0 0, 0 0 !important;
}


/* ── GOLD · ХРАНИЛИЩЕ (владелец 06.10) ─────────────────────────────────────────────────────
   Два прежних GOLD отвергнуты: «аристократия» (корона, рамки, звёздочки — «цыганский») и «тихая
   роскошь» (шрифт интерфейса, ровный фон — «дешёвый, детский, не вайбовый; Эксклюзив — ебанутый»).
   Эксклюзив дорог не украшениями, а МЕТАФОРОЙ: закрытый клуб — бархатный канат, сургучная печать,
   курсив. У GOLD своя метафора — ХРАНИЛИЩЕ СЛИТКОВ: клеймо 999.9 вместо печати, гравированная
   линия вместо каната, прямой шрифт с засечками и тиснёным золотом (не курсив клуба), свет
   витрины сверху и шлифованный металл вместо диагональной штриховки. Ни рамок, ни звёзд. */
.app[data-look="level"][data-tier="5"] {
  --e-texture: repeating-linear-gradient(0deg, rgba(255, 236, 190, .016) 0 1px, transparent 1px 2px);
  --e-page:
    radial-gradient(ellipse 46% 34% at 50% -6%, rgba(255, 214, 120, .20), transparent 72%),
    radial-gradient(ellipse 80% 60% at 50% 110%, rgba(122, 84, 16, .16), transparent 70%),
    linear-gradient(180deg, #0b0a08 0%, #050505 60%, #070604 100%);
}
.app[data-look="level"][data-tier="5"] :is(.page-title h1, .v2-head > h1):not(#am-w):not(#am-v) {
  font-family: "Cormorant SC", "Playfair Display", Georgia, serif !important;
  font-weight: 600 !important; letter-spacing: .03em !important;
  font-size: clamp(34px, 3.4vw, 50px) !important; line-height: 1 !important;
  background: linear-gradient(180deg, #fff6d8 0%, #f3d27e 38%, #c8912a 62%, #f6dc93 100%) !important;
  -webkit-background-clip: text !important; background-clip: text !important; color: transparent !important;
  filter: drop-shadow(0 1px 0 rgba(0, 0, 0, .9)) drop-shadow(0 10px 28px rgba(242, 193, 78, .18));
}
.app[data-look="level"][data-tier="5"] :is(.page-title h1, .v2-head > h1):not(#am-w):not(#am-v)::after {
  content: ""; display: block; width: min(320px, 80%); height: 12px; margin-top: 12px;
  background: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='320' height='12' viewBox='0 0 320 12'%3E%3Cdefs%3E%3ClinearGradient id='l' x1='0' y1='0' x2='1' y2='0'%3E%3Cstop offset='0' stop-color='%23d9b66e' stop-opacity='0'/%3E%3Cstop offset='.18' stop-color='%23f2d38a'/%3E%3Cstop offset='.5' stop-color='%23fff3c8'/%3E%3Cstop offset='.82' stop-color='%23f2d38a'/%3E%3Cstop offset='1' stop-color='%23d9b66e' stop-opacity='0'/%3E%3C/linearGradient%3E%3C/defs%3E%3Crect x='0' y='5.5' width='320' height='1' fill='url(%23l)'/%3E%3Cpath d='M160 1 L165 6 L160 11 L155 6 Z' fill='%23f6dc93'/%3E%3Cpath d='M160 3.4 L162.6 6 L160 8.6 L157.4 6 Z' fill='%23110d05'/%3E%3C/svg%3E") left center / contain no-repeat;
}
.app[data-look="level"][data-tier="5"] :is(.page-title > div:first-child > span, .v2-head > .v2-eyebrow):not(#am-w):not(#am-v) {
  display: inline-flex; align-items: center; gap: 10px;
  font-family: "Cormorant SC", Georgia, serif !important; font-weight: 700; font-size: 13px;
  letter-spacing: .28em !important; color: #e9cf8e !important;
}
.app[data-look="level"][data-tier="5"] :is(.page-title > div:first-child > span, .v2-head > .v2-eyebrow):not(#am-w):not(#am-v)::before {
  content: ""; width: 34px; height: 21px; flex: none;
  background: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='34' viewBox='0 0 56 34'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%23fff2c2'/%3E%3Cstop offset='.35' stop-color='%23e9bf5c'/%3E%3Cstop offset='.7' stop-color='%23a8741a'/%3E%3Cstop offset='1' stop-color='%23674409'/%3E%3C/linearGradient%3E%3ClinearGradient id='t' x1='0' y1='0' x2='1' y2='0'%3E%3Cstop offset='0' stop-color='%23c8912a'/%3E%3Cstop offset='.5' stop-color='%23fff6d6'/%3E%3Cstop offset='1' stop-color='%23c8912a'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M10 3 H46 L54 31 H2 Z' fill='url(%23g)'/%3E%3Cpath d='M10 3 H46 L44 9 H12 Z' fill='url(%23t)' opacity='.9'/%3E%3Cpath d='M10 3 H46 L54 31 H2 Z' fill='none' stroke='%23573806' stroke-opacity='.55' stroke-width='.8'/%3E%3Ctext x='28' y='24.5' text-anchor='middle' font-family='Georgia,serif' font-weight='700' font-size='9' letter-spacing='.6' fill='%235a3b07' fill-opacity='.85'%3E999.9%3C/text%3E%3Ctext x='27.6' y='24.1' text-anchor='middle' font-family='Georgia,serif' font-weight='700' font-size='9' letter-spacing='.6' fill='%23fff6d6' fill-opacity='.35'%3E999.9%3C/text%3E%3C/svg%3E") center / contain no-repeat;
  filter: drop-shadow(0 3px 6px rgba(0, 0, 0, .7));
}
/* Карта уровня в меню: название — тиснёное золото, клеймо слитка в углу. */
.app[data-look="level"][data-tier="5"] :is(.side-level, .member-card .mc-front) > b:not(#am-w):not(#am-v) {
  font-family: "Cormorant SC", Georgia, serif !important; font-weight: 700 !important; font-size: 25px !important; letter-spacing: .05em;
  background: linear-gradient(180deg, #fff6d8 0%, #f3d27e 40%, #c8912a 70%, #f6dc93 100%) !important;
  -webkit-background-clip: text !important; background-clip: text !important; color: transparent !important;
}
.app[data-look="level"][data-tier="5"] .side-level:not(#am-env):not(#am-v) {
  background:
    url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='34' viewBox='0 0 56 34'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%23fff2c2'/%3E%3Cstop offset='.35' stop-color='%23e9bf5c'/%3E%3Cstop offset='.7' stop-color='%23a8741a'/%3E%3Cstop offset='1' stop-color='%23674409'/%3E%3C/linearGradient%3E%3ClinearGradient id='t' x1='0' y1='0' x2='1' y2='0'%3E%3Cstop offset='0' stop-color='%23c8912a'/%3E%3Cstop offset='.5' stop-color='%23fff6d6'/%3E%3Cstop offset='1' stop-color='%23c8912a'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M10 3 H46 L54 31 H2 Z' fill='url(%23g)'/%3E%3Cpath d='M10 3 H46 L44 9 H12 Z' fill='url(%23t)' opacity='.9'/%3E%3Cpath d='M10 3 H46 L54 31 H2 Z' fill='none' stroke='%23573806' stroke-opacity='.55' stroke-width='.8'/%3E%3Ctext x='28' y='24.5' text-anchor='middle' font-family='Georgia,serif' font-weight='700' font-size='9' letter-spacing='.6' fill='%235a3b07' fill-opacity='.85'%3E999.9%3C/text%3E%3Ctext x='27.6' y='24.1' text-anchor='middle' font-family='Georgia,serif' font-weight='700' font-size='9' letter-spacing='.6' fill='%23fff6d6' fill-opacity='.35'%3E999.9%3C/text%3E%3C/svg%3E") right 12px top 12px / 34px 21px no-repeat padding-box,
    radial-gradient(ellipse 90% 70% at 100% 0%, rgba(242, 193, 78, .16), transparent 70%) padding-box,
    repeating-linear-gradient(0deg, rgba(255, 240, 200, .02) 0 1px, transparent 1px 2px) padding-box,
    linear-gradient(160deg, #191610 0%, #0a0908 100%) padding-box,
    linear-gradient(135deg, #fff0b8 0%, #c8912a 30%, #5a3d0c 55%, #ffd36b 100%) border-box !important;
}
/* Главная кнопка — слиток: металл с резким бликом и гравировкой по краю. */
.app[data-look="level"][data-tier="5"] [data-slot="button"][data-variant="default"]:not(#am-w):not(#am-v) {
  background: linear-gradient(180deg, #fff1c4 0%, #f2c14e 45%, #c48a22 100%) !important;
  color: #1a1206 !important; box-shadow: inset 0 1px 0 rgba(255,255,255,.7), inset 0 -2px 0 rgba(90,61,12,.45), 0 12px 30px -14px rgba(242,193,78,.8) !important;
}
/* Логотип — золотая монета, а не жёлтая плашка. */
.app[data-look="level"][data-tier="5"] .brand-mark:not(#am-v), .app[data-look="level"][data-tier="5"] .side-brand > i:not(#am-v) {
  background: radial-gradient(circle at 35% 30%, #fff3c8, #e9bf5c 45%, #8a5c12 100%) !important; color: #2a1c05 !important;
}
/* ОТС 250 — ТЁМНЫЙ ВАРИАНТ (владелец 21.09: «два варика, чтобы был и тёмный»).

   Светлый ОТС 250 остаётся основным — он собирается генераторами (make_palettes.py,
   worlds.py, product.env.css) под атрибутом data-tier="2". Тёмный — это отдельное
   значение того же атрибута, data-tier="2d": ни одно правило светлого мира на него
   не действует, и ни одно правило отсюда не действует на светлый. Поэтому два мира
   не спорят специфичностью и не протекают друг в друга.

   Содержимое — снимок той тёмной версии, которую владелец видел 20.09 перед переходом
   на белый («светлее, синий больше не горит на почти чёрном», e19b5087): все правила,
   относившиеся к ступени 2, с тем же весом селекторов. Общие правила ступеней 2 и 3
   сведены к одной ступени, чтобы снимок не задевал ОТС 500.

   Переключатель — меню аватара, «Оформление». Выбор хранится на устройстве. */

/* ── ПАЛИТРА (из make_palettes) ── */
.app[data-look="level"][data-tier="2d"] {
  --t-bg: #03060d;
  --t-bg-rgb: 3, 6, 13;
  --t-bg-2: #050a15;
  --t-bg-2-rgb: 5, 10, 21;
  --t-surface: #0a1222;
  --t-surface-rgb: 10, 18, 34;
  --t-surface-2: #0e1830;
  --t-surface-2-rgb: 14, 24, 48;
  --t-elevated: #14223f;
  --t-elevated-rgb: 20, 34, 63;
  --t-text: #eef4ff;
  --t-text-rgb: 238, 244, 255;
  --t-text-2: #c9d8ee;
  --t-text-2-rgb: 201, 216, 238;
  --t-text-3: #a3b6d2;
  --t-text-3-rgb: 163, 182, 210;
  /* Синий поднят с #1f6bff: им пишут выделенный текст, и на тёмно-синем он давал 2.5–3.
     Текст НА синих кнопках — тёмный (--t-ink ниже), чтобы и кнопки остались читаемыми. */
  --t-accent: #6a9dff;
  --t-accent-rgb: 106, 157, 255;
  --t-accent-soft: #86b6ff;
  --t-accent-soft-rgb: 134, 182, 255;
  --t-accent-strong: #4a8cff;
  --t-accent-strong-rgb: 74, 140, 255;
  --t-accent-deep: #0a2a80;
  --t-accent-deep-rgb: 10, 42, 128;
  --t-alt: #38d3ff;
  --t-alt-rgb: 56, 211, 255;
  --t-alt-soft: #a2eaff;
  --t-alt-soft-rgb: 162, 234, 255;
  --t-alt-deep: #0a5578;
  --t-alt-deep-rgb: 10, 85, 120;
  --t-third: #7fe3ff;
  --t-third-rgb: 127, 227, 255;
  --t-third-soft: #c4f1ff;
  --t-third-soft-rgb: 196, 241, 255;
  --t-third-deep: #3b2f99;
  --t-third-deep-rgb: 59, 47, 153;
  --t-border-rgb: 47, 107, 255;
  --t-border-strong-rgb: 130, 178, 255;
  --t-border-k: 2;
  --t-ink: #061430;
  --t-aura: .26;
  --t-hero: 1;
  --t-next-rgb: 33, 204, 214;

  --t-amb: linear-gradient(104deg, rgba(var(--t-accent-deep-rgb), .5) 0%, #0000 46%),radial-gradient(ellipse 55% 90% at 104% 30%, rgba(var(--t-accent-rgb), .14), #0000 60%);

  /* Псевдонимы для компонентов продукта: они писались на этих именах и
     продолжают работать без правок. Один источник значений — роли выше. */
  --accent: var(--t-accent);
  --accent-2: var(--t-accent-soft);
  --accent-rgb: var(--t-accent-rgb);
  --accent-ink: var(--t-ink);
  --accent-soft: rgba(var(--t-accent-rgb), .16);
  --accent-glow: rgba(var(--t-accent-rgb), .09);
  --accent-border: rgba(var(--t-accent-rgb), .34);
  --theme-text-2: var(--t-text-2);
  --theme-text-3: var(--t-text-3);
  --theme-surface-2-rgb: var(--t-surface-2-rgb);
  --theme-bg-rgb: var(--t-bg-rgb);
  --theme-accent-rgb: var(--t-accent-rgb);
  --theme-border-rgb: var(--t-border-rgb);
  --tier-color: var(--t-accent);
  --tier-soft: rgba(var(--t-accent-rgb), .17);
  --tier-glow: rgba(var(--t-accent-rgb), .1);
  --section-accent: var(--t-accent);
  --section-rgb: var(--t-accent-rgb)
}

/* ── ЦВЕТ СТУПЕНИ ── */
.app[data-tier="2d"] {
  --tier-color: #58a6ff;
  --tier-soft: #58a6ff2e;
  --tier-glow: #58a6ff14
}

/* ── ПАКЕТ СРЕДЫ ── */
.app[data-look="level"][data-tier="2d"] {
  --e-page:
    radial-gradient(ellipse 110% 70% at 50% 112%, rgba(var(--t-accent-rgb), .20), transparent 66%),
    radial-gradient(ellipse 70% 55% at 6% -8%, rgba(150, 190, 255, .16), transparent 64%),
    linear-gradient(180deg, #16243c 0%, #101b2e 100%);
  /* СВЕТЛЕЕ И МЯГЧЕ (владелец 19.09: «слишком контрастно тёмно-синий»). Основа поднята
     с почти чёрной #081426 до #16243c, свет разведён шире, а тени карточек ослаблены:
     контраст давал не глубину, а провал — синий горел на чёрном, и глаз уставал.
     Сетка 36 px лежала поверх ВСЕГО экрана и превращала ступень в миллиметровку: глазу
     не за что зацепиться, всё рябит. Владелец 19.09, глядя на живой экран: «муторно,
     темно дохуя». Снято — свет даёт основа, а не решётка. */
  --e-texture: none;
  --e-aura-o: .85; --e-orbit-o: .7; --e-hud-o: 1; --e-code-o: .5; --e-beacon-o: 1;
  --e-canvas-o: .5; --e-candles-o: .8; --e-canvas-filter: saturate(1.3) brightness(1.12);

  --e-r: 18px; --e-r-sm: 12px;
  --e-card: linear-gradient(180deg, rgba(120, 170, 240, .16) 0%, rgba(26, 40, 66, .95) 38%, #16233a 100%);
  --e-card-border: 1px solid rgba(160, 195, 245, .22);
  --e-card-top: inset 0 1px 0 rgba(210, 230, 255, .26);
  --e-card-shadow: 0 16px 34px rgba(0, 0, 0, .38);
  --e-hero: 
    linear-gradient(100deg, rgba(var(--t-accent-rgb), .16) 0%, transparent 58%),
    #18263e;
  --e-hero-border: 1px solid rgba(var(--t-accent-strong-rgb), .55);
  --e-inset: #15223a;
  --e-inset-border: 1px solid rgba(var(--t-accent-rgb), .20);

  --e-nav: #131f34;
  --e-nav-edge: 1px solid rgba(var(--t-accent-rgb), .24);
  --e-head: rgba(20, 32, 52, .92);
  --e-nav-active: linear-gradient(90deg, rgba(var(--t-accent-rgb), .30), rgba(var(--t-accent-rgb), .06));
  --e-nav-active-border: 1px solid rgba(var(--t-accent-rgb), .40);
  --e-nav-active-shadow: inset 3px 0 0 var(--t-accent-strong), 0 0 18px rgba(var(--t-accent-rgb), .22);
  --e-nav-active-r: 12px;
  --e-nav-active-fg: #ffffff;
  --e-mnav: #16233a;
  --e-mnav-edge: 1px solid rgba(var(--t-accent-rgb), .45);
  --e-mnav-r: 18px;
  --e-mnav-active: rgba(var(--t-accent-rgb), .24);

  /* Был электрик-градиент до #1450e6 — он читался как чужая кнопка из другого
     приложения. Материал теперь как у ОТС 500 (владельцу он нравится), только синий. */
  --e-btn: linear-gradient(180deg, #cfe4ff 0%, #8ab9f5 24%, #3f7ad2 60%, #1d477f 100%);
  --e-btn-fg: #06162c;
  --e-btn-border: 1px solid rgba(214, 233, 255, .8);
  --e-btn-r: 14px;
  --e-btn-shadow: 0 10px 26px rgba(20, 60, 120, .38), inset 0 1px 0 rgba(255, 255, 255, .5);
  --e-btn-track: .02em;
  --e-btn2-border: 1px solid rgba(var(--t-accent-strong-rgb), .60);
  --e-btn2-fg: #d6e6ff;
  --e-progress: linear-gradient(90deg, var(--t-accent), var(--t-alt));
  --e-progress-track: rgba(var(--t-accent-rgb), .16);

  --e-mark: conic-gradient(from 210deg at 50% 42%, #9cc7ff, var(--t-accent) 22%, #0a2a80 45%, var(--t-accent-strong) 68%, #9cc7ff);
  --e-mark-fg: #ffffff;
}

/* ── МИР: зима, карта, меню, кнопки ── */
.app[data-look="level"][data-tier="2d"] {
  --e-emblem: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%23e6f3ff'/%3E%3Cstop offset='.6' stop-color='%234a8cff'/%3E%3Cstop offset='1' stop-color='%230a2a80'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cg transform='translate(20 20)'%3E%3Cpath d='M0 -17 L3.2 -7 L0 0 L-3.2 -7z' fill='url(%23g)' transform='rotate(0)'/%3E%3Cpath d='M0 -17 L3.2 -7 L0 0 L-3.2 -7z' fill='url(%23g)' transform='rotate(60)'/%3E%3Cpath d='M0 -17 L3.2 -7 L0 0 L-3.2 -7z' fill='url(%23g)' transform='rotate(120)'/%3E%3Cpath d='M0 -17 L3.2 -7 L0 0 L-3.2 -7z' fill='url(%23g)' transform='rotate(180)'/%3E%3Cpath d='M0 -17 L3.2 -7 L0 0 L-3.2 -7z' fill='url(%23g)' transform='rotate(240)'/%3E%3Cpath d='M0 -17 L3.2 -7 L0 0 L-3.2 -7z' fill='url(%23g)' transform='rotate(300)'/%3E%3C/g%3E%3Cg transform='translate(20.0 20.0)' stroke='%23ffffff' stroke-width='0.9' stroke-linecap='round' fill='none' opacity='0.85'%3E%3Cpath d='M0 0V-17.00M0 -8.09l-3.80 -2.85M0 -8.09l3.80 -2.85M0 -11.20l-2.85 -2.14M0 -11.20l2.85 -2.14' transform='rotate(0)'/%3E%3Cpath d='M0 0V-17.00M0 -8.09l-3.80 -2.85M0 -8.09l3.80 -2.85M0 -11.20l-2.85 -2.14M0 -11.20l2.85 -2.14' transform='rotate(60)'/%3E%3Cpath d='M0 0V-17.00M0 -8.09l-3.80 -2.85M0 -8.09l3.80 -2.85M0 -11.20l-2.85 -2.14M0 -11.20l2.85 -2.14' transform='rotate(120)'/%3E%3Cpath d='M0 0V-17.00M0 -8.09l-3.80 -2.85M0 -8.09l3.80 -2.85M0 -11.20l-2.85 -2.14M0 -11.20l2.85 -2.14' transform='rotate(180)'/%3E%3Cpath d='M0 0V-17.00M0 -8.09l-3.80 -2.85M0 -8.09l3.80 -2.85M0 -11.20l-2.85 -2.14M0 -11.20l2.85 -2.14' transform='rotate(240)'/%3E%3Cpath d='M0 0V-17.00M0 -8.09l-3.80 -2.85M0 -8.09l3.80 -2.85M0 -11.20l-2.85 -2.14M0 -11.20l2.85 -2.14' transform='rotate(300)'/%3E%3Ccircle r='2.04' fill='%23ffffff' stroke='none'/%3E%3C/g%3E%3C/svg%3E");
  /* Зима живёт на ФОНЕ, карточки чистые (владелец 15.09: «много непонятно чего» на
     карточках — и «зимы мало», когда её сняли совсем). Фон: метель в два слоя разной
     скорости, вихрь за контентом, иней по краям экрана. На карточках — ни одной накладки. */
  --e-motif:
    url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='900' height='620' viewBox='0 0 900 620'%3E%3Cdefs%3E%3Cfilter id='b' x='-10%' y='-10%' width='120%' height='120%'%3E%3CfeGaussianBlur stdDeviation='1.6'/%3E%3C/filter%3E%3C/defs%3E%3Cg filter='url(%23b)' fill='none' stroke='%23eaf6ff' stroke-linecap='round'%3E%3Cpath d='M698 174 L709 175 L720 177 L730 180 L741 183 L751 187 L760 191 L769 196 L778 201 L786 207 L793 213 L799 220 L805 227 L810 234 L815 242 L818 250 L820 258 L822 267 L822 276 L822 285 L820 294 L817 303 L813 312 L808 322 L802 331 L795 341 L787 350 L777 359 L766 368 L755 377 L742 386 L728 394 L712 402 L696 410 L679 418 L660 424 L641 431 L621 437 L599 442 L577 447 L554 451 L531 455 L506 457 L481 460 L456 461 L429 462 L403 461 L376 461 L348 459 L321 456 L293 453 L265 448 L237 443 L209 437 L181 430 L154 422 L127 413 L100 404 L74 393 L48 381' stroke-width='2.2' stroke-opacity='0.10'/%3E%3Cpath d='M686 192 L693 197 L699 203 L704 209 L708 215 L712 222 L714 228 L716 235 L717 243 L716 250 L715 257 L713 265 L709 272 L705 280 L700 287 L693 295 L686 302 L677 309 L668 316 L657 323 L646 329 L633 335 L620 341 L605 347 L590 352 L574 356 L557 360 L540 364 L521 367 L502 369 L483 371 L463 372 L442 373 L421 373 L399 372 L378 370 L356 368 L333 365 L311 361 L289 357 L267 351 L245 345 L223 339 L201 331 L180 322 L159 313 L139 303 L119 293 L100 281 L82 269 L64 256 L48 242 L32 228 L18 213 L4 197 L-8 181 L-19 164 L-28 147 L-37 129 L-43 111' stroke-width='3.6' stroke-opacity='0.15'/%3E%3Cpath d='M657 202 L656 208 L654 215 L652 221 L648 228 L643 234 L638 240 L631 246 L624 252 L615 257 L606 263 L596 267 L585 272 L573 276 L561 280 L547 283 L534 286 L519 288 L504 290 L488 291 L472 292 L456 292 L439 292 L422 290 L405 289 L388 286 L370 283 L353 279 L335 275 L318 269 L301 264 L284 257 L268 250 L252 242 L236 233 L221 224 L207 214 L193 204 L181 193 L169 181 L157 169 L147 156 L138 142 L130 129 L123 114 L118 100 L113 84 L110 69 L108 53 L108 37 L109 21 L112 4 L116 -13 L121 -30 L129 -47 L137 -63 L148 -80 L160 -97 L173 -114 L188 -131' stroke-width='5.0' stroke-opacity='0.20'/%3E%3Cpath d='M623 199 L615 203 L607 208 L597 212 L587 215 L577 218 L566 221 L554 223 L542 225 L529 226 L516 226 L503 226 L490 226 L476 224 L462 223 L449 220 L435 217 L421 214 L408 210 L394 205 L381 199 L369 193 L357 187 L345 179 L334 172 L323 163 L313 155 L304 145 L296 135 L288 125 L282 114 L276 103 L272 91 L268 79 L266 67 L265 54 L265 42 L266 28 L269 15 L272 2 L278 -12 L284 -25 L292 -39 L301 -53 L312 -66 L324 -79 L338 -93 L353 -106 L369 -119 L387 -131 L406 -143 L426 -155 L448 -166 L471 -177 L496 -187 L521 -197 L548 -206 L576 -215 L605 -222 L635 -230' stroke-width='2.2' stroke-opacity='0.25'/%3E%3Cpath d='M601 183 L590 184 L578 184 L567 184 L555 183 L544 181 L532 179 L521 177 L510 173 L499 170 L489 165 L478 160 L469 155 L460 149 L451 142 L443 136 L436 128 L429 120 L424 112 L419 104 L415 95 L412 85 L410 76 L409 66 L409 56 L410 45 L413 35 L416 24 L421 14 L427 3 L434 -8 L442 -18 L452 -29 L462 -39 L474 -50 L487 -60 L502 -69 L517 -79 L534 -88 L552 -97 L571 -106 L591 -114 L613 -121 L635 -128 L658 -134 L682 -140 L708 -145 L734 -150 L760 -153 L788 -156 L816 -159 L845 -160 L874 -161 L904 -160 L934 -159 L965 -157 L995 -154 L1026 -150 L1057 -146 L1088 -140' stroke-width='3.6' stroke-opacity='0.10'/%3E%3Cpath d='M601 164 L592 160 L583 156 L574 151 L567 146 L559 141 L553 135 L547 129 L542 122 L538 115 L535 108 L533 101 L532 93 L531 85 L532 77 L534 69 L536 60 L540 52 L545 44 L551 35 L558 27 L566 19 L575 11 L585 3 L597 -5 L609 -12 L622 -20 L637 -26 L652 -33 L669 -39 L686 -44 L704 -50 L723 -54 L743 -58 L764 -62 L785 -65 L807 -67 L830 -68 L853 -69 L877 -69 L901 -69 L925 -67 L950 -65 L975 -62 L999 -59 L1025 -54 L1049 -49 L1074 -42 L1099 -35 L1123 -27 L1148 -19 L1171 -9 L1194 1 L1217 13 L1239 25 L1260 37 L1280 51 L1299 65 L1318 81 L1335 96' stroke-width='5.0' stroke-opacity='0.15'/%3E%3Cpath d='M623 149 L620 142 L618 136 L616 129 L616 123 L617 116 L618 109 L621 102 L624 95 L629 88 L635 82 L641 75 L649 69 L658 62 L667 56 L677 51 L689 45 L701 40 L714 36 L728 32 L743 28 L758 24 L774 22 L791 19 L808 18 L826 17 L844 16 L863 16 L882 17 L901 19 L921 21 L940 23 L960 27 L980 31 L999 36 L1019 42 L1038 48 L1057 56 L1076 64 L1094 72 L1112 82 L1129 92 L1146 102 L1161 114 L1176 126 L1190 139 L1204 152 L1216 166 L1227 181 L1237 196 L1245 211 L1253 227 L1259 244 L1264 261 L1267 278 L1269 296 L1269 314 L1268 332 L1265 350 L1260 369' stroke-width='2.2' stroke-opacity='0.20'/%3E%3Cpath d='M657 145 L661 139 L667 134 L673 128 L680 123 L688 118 L697 113 L707 109 L717 105 L729 101 L740 98 L753 96 L766 94 L779 92 L793 91 L808 90 L822 91 L837 91 L853 92 L868 94 L883 97 L899 100 L914 104 L929 108 L945 113 L959 119 L974 126 L988 133 L1002 140 L1015 148 L1027 157 L1039 167 L1051 177 L1061 187 L1070 199 L1079 210 L1087 222 L1093 235 L1099 248 L1103 261 L1106 275 L1108 289 L1109 303 L1108 318 L1106 333 L1102 348 L1098 363 L1091 378 L1084 393 L1074 408 L1064 424 L1051 439 L1037 454 L1022 468 L1005 483 L987 497 L967 511 L946 524 L923 537 L899 550' stroke-width='3.6' stroke-opacity='0.25'/%3E%3Cpath d='M686 155 L696 152 L707 150 L718 148 L730 147 L741 146 L753 145 L766 146 L778 147 L790 148 L803 150 L815 153 L828 156 L840 160 L852 164 L863 169 L874 175 L885 181 L895 187 L905 194 L914 202 L922 210 L930 219 L936 228 L942 237 L947 247 L951 257 L954 268 L956 279 L957 290 L957 302 L955 313 L953 325 L949 337 L944 349 L937 361 L930 373 L921 385 L910 397 L899 409 L886 421 L872 432 L856 443 L839 454 L821 465 L802 475 L781 485 L760 494 L737 503 L713 511 L687 519 L661 526 L634 532 L606 538 L577 543 L547 547 L516 550 L485 553 L453 554 L420 555' stroke-width='5.0' stroke-opacity='0.10'/%3E%3Ccircle cx='902' cy='421' r='1.8' fill='%23fff' stroke='none' opacity='0.51'/%3E%3Ccircle cx='768' cy='492' r='2.1' fill='%23fff' stroke='none' opacity='0.53'/%3E%3Ccircle cx='445' cy='170' r='0.8' fill='%23fff' stroke='none' opacity='0.45'/%3E%3Ccircle cx='566' cy='146' r='2.1' fill='%23fff' stroke='none' opacity='0.38'/%3E%3Ccircle cx='656' cy='218' r='2.4' fill='%23fff' stroke='none' opacity='0.66'/%3E%3Ccircle cx='967' cy='-10' r='0.9' fill='%23fff' stroke='none' opacity='0.43'/%3E%3Ccircle cx='523' cy='175' r='2.3' fill='%23fff' stroke='none' opacity='0.45'/%3E%3Ccircle cx='975' cy='450' r='1.0' fill='%23fff' stroke='none' opacity='0.76'/%3E%3Ccircle cx='257' cy='242' r='1.3' fill='%23fff' stroke='none' opacity='0.52'/%3E%3Ccircle cx='677' cy='213' r='2.2' fill='%23fff' stroke='none' opacity='0.38'/%3E%3Ccircle cx='683' cy='69' r='2.4' fill='%23fff' stroke='none' opacity='0.74'/%3E%3Ccircle cx='664' cy='-141' r='1.7' fill='%23fff' stroke='none' opacity='0.65'/%3E%3Ccircle cx='906' cy='318' r='2.1' fill='%23fff' stroke='none' opacity='0.36'/%3E%3Ccircle cx='1203' cy='6' r='1.5' fill='%23fff' stroke='none' opacity='0.45'/%3E%3Ccircle cx='361' cy='226' r='2.4' fill='%23fff' stroke='none' opacity='0.46'/%3E%3Ccircle cx='757' cy='184' r='1.9' fill='%23fff' stroke='none' opacity='0.80'/%3E%3Ccircle cx='279' cy='179' r='1.7' fill='%23fff' stroke='none' opacity='0.66'/%3E%3Ccircle cx='726' cy='426' r='1.7' fill='%23fff' stroke='none' opacity='0.59'/%3E%3Ccircle cx='716' cy='257' r='1.4' fill='%23fff' stroke='none' opacity='0.76'/%3E%3Ccircle cx='398' cy='381' r='1.3' fill='%23fff' stroke='none' opacity='0.31'/%3E%3Ccircle cx='1178' cy='307' r='2.0' fill='%23fff' stroke='none' opacity='0.46'/%3E%3Ccircle cx='449' cy='-84' r='2.2' fill='%23fff' stroke='none' opacity='0.78'/%3E%3Ccircle cx='70' cy='394' r='2.3' fill='%23fff' stroke='none' opacity='0.57'/%3E%3Ccircle cx='922' cy='31' r='1.4' fill='%23fff' stroke='none' opacity='0.39'/%3E%3Ccircle cx='759' cy='111' r='0.9' fill='%23fff' stroke='none' opacity='0.69'/%3E%3Ccircle cx='703' cy='-34' r='2.1' fill='%23fff' stroke='none' opacity='0.28'/%3E%3Ccircle cx='636' cy='311' r='1.5' fill='%23fff' stroke='none' opacity='0.34'/%3E%3Ccircle cx='892' cy='239' r='2.2' fill='%23fff' stroke='none' opacity='0.79'/%3E%3Ccircle cx='639' cy='-34' r='1.2' fill='%23fff' stroke='none' opacity='0.78'/%3E%3Ccircle cx='131' cy='125' r='0.8' fill='%23fff' stroke='none' opacity='0.37'/%3E%3Ccircle cx='947' cy='-104' r='2.2' fill='%23fff' stroke='none' opacity='0.58'/%3E%3Ccircle cx='266' cy='284' r='2.2' fill='%23fff' stroke='none' opacity='0.42'/%3E%3Ccircle cx='424' cy='145' r='2.0' fill='%23fff' stroke='none' opacity='0.26'/%3E%3Ccircle cx='383' cy='-181' r='0.8' fill='%23fff' stroke='none' opacity='0.58'/%3E%3Ccircle cx='275' cy='-100' r='1.7' fill='%23fff' stroke='none' opacity='0.39'/%3E%3Ccircle cx='90' cy='390' r='2.2' fill='%23fff' stroke='none' opacity='0.32'/%3E%3Ccircle cx='740' cy='210' r='0.8' fill='%23fff' stroke='none' opacity='0.50'/%3E%3Ccircle cx='1037' cy='447' r='1.8' fill='%23fff' stroke='none' opacity='0.32'/%3E%3Ccircle cx='395' cy='137' r='1.6' fill='%23fff' stroke='none' opacity='0.37'/%3E%3Ccircle cx='733' cy='258' r='1.4' fill='%23fff' stroke='none' opacity='0.64'/%3E%3Ccircle cx='572' cy='159' r='1.9' fill='%23fff' stroke='none' opacity='0.73'/%3E%3Ccircle cx='734' cy='-147' r='0.8' fill='%23fff' stroke='none' opacity='0.51'/%3E%3Ccircle cx='1152' cy='296' r='1.1' fill='%23fff' stroke='none' opacity='0.64'/%3E%3Ccircle cx='639' cy='463' r='1.3' fill='%23fff' stroke='none' opacity='0.27'/%3E%3Ccircle cx='456' cy='267' r='2.2' fill='%23fff' stroke='none' opacity='0.41'/%3E%3Ccircle cx='241' cy='169' r='2.3' fill='%23fff' stroke='none' opacity='0.30'/%3E%3Ccircle cx='342' cy='44' r='2.0' fill='%23fff' stroke='none' opacity='0.78'/%3E%3Ccircle cx='462' cy='444' r='1.6' fill='%23fff' stroke='none' opacity='0.56'/%3E%3Ccircle cx='1182' cy='304' r='2.4' fill='%23fff' stroke='none' opacity='0.45'/%3E%3Ccircle cx='359' cy='538' r='1.0' fill='%23fff' stroke='none' opacity='0.29'/%3E%3Ccircle cx='1167' cy='322' r='2.0' fill='%23fff' stroke='none' opacity='0.50'/%3E%3Ccircle cx='603' cy='149' r='1.8' fill='%23fff' stroke='none' opacity='0.49'/%3E%3Ccircle cx='347' cy='155' r='1.4' fill='%23fff' stroke='none' opacity='0.37'/%3E%3Ccircle cx='965' cy='231' r='1.2' fill='%23fff' stroke='none' opacity='0.64'/%3E%3Ccircle cx='862' cy='-100' r='1.5' fill='%23fff' stroke='none' opacity='0.38'/%3E%3Ccircle cx='373' cy='313' r='1.8' fill='%23fff' stroke='none' opacity='0.78'/%3E%3Ccircle cx='959' cy='280' r='1.6' fill='%23fff' stroke='none' opacity='0.64'/%3E%3Ccircle cx='1078' cy='-30' r='1.8' fill='%23fff' stroke='none' opacity='0.67'/%3E%3Ccircle cx='348' cy='-131' r='1.9' fill='%23fff' stroke='none' opacity='0.63'/%3E%3Ccircle cx='667' cy='545' r='1.4' fill='%23fff' stroke='none' opacity='0.59'/%3E%3Ccircle cx='954' cy='-174' r='2.4' fill='%23fff' stroke='none' opacity='0.25'/%3E%3Ccircle cx='551' cy='308' r='1.4' fill='%23fff' stroke='none' opacity='0.33'/%3E%3Ccircle cx='552' cy='154' r='1.3' fill='%23fff' stroke='none' opacity='0.77'/%3E%3Ccircle cx='631' cy='-28' r='1.0' fill='%23fff' stroke='none' opacity='0.78'/%3E%3Ccircle cx='596' cy='72' r='1.3' fill='%23fff' stroke='none' opacity='0.60'/%3E%3Ccircle cx='557' cy='59' r='2.3' fill='%23fff' stroke='none' opacity='0.43'/%3E%3Ccircle cx='632' cy='519' r='1.0' fill='%23fff' stroke='none' opacity='0.62'/%3E%3Ccircle cx='784' cy='414' r='1.2' fill='%23fff' stroke='none' opacity='0.46'/%3E%3Ccircle cx='977' cy='100' r='1.5' fill='%23fff' stroke='none' opacity='0.59'/%3E%3Ccircle cx='617' cy='266' r='1.4' fill='%23fff' stroke='none' opacity='0.40'/%3E%3Ccircle cx='902' cy='533' r='0.9' fill='%23fff' stroke='none' opacity='0.70'/%3E%3Ccircle cx='1114' cy='57' r='0.8' fill='%23fff' stroke='none' opacity='0.53'/%3E%3Ccircle cx='1080' cy='236' r='1.9' fill='%23fff' stroke='none' opacity='0.38'/%3E%3Ccircle cx='1051' cy='185' r='1.0' fill='%23fff' stroke='none' opacity='0.42'/%3E%3Ccircle cx='43' cy='277' r='1.4' fill='%23fff' stroke='none' opacity='0.32'/%3E%3Ccircle cx='799' cy='-152' r='1.6' fill='%23fff' stroke='none' opacity='0.28'/%3E%3Ccircle cx='767' cy='340' r='1.7' fill='%23fff' stroke='none' opacity='0.37'/%3E%3Ccircle cx='841' cy='-153' r='2.3' fill='%23fff' stroke='none' opacity='0.74'/%3E%3Ccircle cx='1074' cy='201' r='0.9' fill='%23fff' stroke='none' opacity='0.74'/%3E%3Ccircle cx='638' cy='-139' r='1.1' fill='%23fff' stroke='none' opacity='0.28'/%3E%3Ccircle cx='825' cy='-61' r='1.8' fill='%23fff' stroke='none' opacity='0.51'/%3E%3Ccircle cx='732' cy='26' r='1.2' fill='%23fff' stroke='none' opacity='0.44'/%3E%3Ccircle cx='512' cy='425' r='2.2' fill='%23fff' stroke='none' opacity='0.29'/%3E%3Ccircle cx='997' cy='264' r='1.9' fill='%23fff' stroke='none' opacity='0.35'/%3E%3Ccircle cx='637' cy='224' r='0.9' fill='%23fff' stroke='none' opacity='0.52'/%3E%3Ccircle cx='448' cy='-74' r='1.1' fill='%23fff' stroke='none' opacity='0.31'/%3E%3Ccircle cx='1011' cy='77' r='1.5' fill='%23fff' stroke='none' opacity='0.63'/%3E%3Ccircle cx='594' cy='-49' r='0.9' fill='%23fff' stroke='none' opacity='0.71'/%3E%3Ccircle cx='665' cy='216' r='1.4' fill='%23fff' stroke='none' opacity='0.54'/%3E%3Ccircle cx='535' cy='106' r='1.9' fill='%23fff' stroke='none' opacity='0.52'/%3E%3Ccircle cx='965' cy='469' r='2.1' fill='%23fff' stroke='none' opacity='0.75'/%3E%3Ccircle cx='566' cy='74' r='2.0' fill='%23fff' stroke='none' opacity='0.75'/%3E%3Ccircle cx='21' cy='97' r='2.4' fill='%23fff' stroke='none' opacity='0.46'/%3E%3Ccircle cx='1263' cy='38' r='2.1' fill='%23fff' stroke='none' opacity='0.26'/%3E%3Ccircle cx='380' cy='381' r='1.8' fill='%23fff' stroke='none' opacity='0.67'/%3E%3Ccircle cx='554' cy='102' r='2.3' fill='%23fff' stroke='none' opacity='0.54'/%3E%3Ccircle cx='784' cy='102' r='2.4' fill='%23fff' stroke='none' opacity='0.56'/%3E%3Ccircle cx='733' cy='-128' r='2.2' fill='%23fff' stroke='none' opacity='0.45'/%3E%3Ccircle cx='920' cy='263' r='1.1' fill='%23fff' stroke='none' opacity='0.55'/%3E%3Ccircle cx='761' cy='23' r='1.0' fill='%23fff' stroke='none' opacity='0.26'/%3E%3Ccircle cx='270' cy='288' r='0.8' fill='%23fff' stroke='none' opacity='0.62'/%3E%3Ccircle cx='677' cy='240' r='2.3' fill='%23fff' stroke='none' opacity='0.54'/%3E%3Ccircle cx='952' cy='38' r='1.0' fill='%23fff' stroke='none' opacity='0.38'/%3E%3Ccircle cx='233' cy='297' r='2.0' fill='%23fff' stroke='none' opacity='0.66'/%3E%3Ccircle cx='523' cy='73' r='1.5' fill='%23fff' stroke='none' opacity='0.46'/%3E%3Ccircle cx='426' cy='182' r='1.7' fill='%23fff' stroke='none' opacity='0.50'/%3E%3Ccircle cx='1218' cy='248' r='1.7' fill='%23fff' stroke='none' opacity='0.69'/%3E%3Ccircle cx='604' cy='-128' r='2.4' fill='%23fff' stroke='none' opacity='0.46'/%3E%3Ccircle cx='607' cy='192' r='1.9' fill='%23fff' stroke='none' opacity='0.57'/%3E%3Ccircle cx='29' cy='-12' r='1.1' fill='%23fff' stroke='none' opacity='0.37'/%3E%3Ccircle cx='591' cy='-158' r='1.6' fill='%23fff' stroke='none' opacity='0.28'/%3E%3Ccircle cx='245' cy='420' r='1.6' fill='%23fff' stroke='none' opacity='0.50'/%3E%3Ccircle cx='296' cy='343' r='1.8' fill='%23fff' stroke='none' opacity='0.63'/%3E%3Ccircle cx='1005' cy='-59' r='1.4' fill='%23fff' stroke='none' opacity='0.39'/%3E%3Ccircle cx='761' cy='-146' r='2.3' fill='%23fff' stroke='none' opacity='0.36'/%3E%3Ccircle cx='1010' cy='-123' r='0.9' fill='%23fff' stroke='none' opacity='0.42'/%3E%3Ccircle cx='551' cy='111' r='2.1' fill='%23fff' stroke='none' opacity='0.40'/%3E%3Ccircle cx='548' cy='46' r='1.1' fill='%23fff' stroke='none' opacity='0.36'/%3E%3Ccircle cx='135' cy='178' r='1.1' fill='%23fff' stroke='none' opacity='0.63'/%3E%3Ccircle cx='407' cy='408' r='1.4' fill='%23fff' stroke='none' opacity='0.36'/%3E%3Ccircle cx='703' cy='213' r='1.9' fill='%23fff' stroke='none' opacity='0.48'/%3E%3Ccircle cx='1093' cy='424' r='1.8' fill='%23fff' stroke='none' opacity='0.26'/%3E%3Ccircle cx='579' cy='-75' r='1.5' fill='%23fff' stroke='none' opacity='0.53'/%3E%3Ccircle cx='933' cy='134' r='1.8' fill='%23fff' stroke='none' opacity='0.60'/%3E%3Ccircle cx='465' cy='292' r='2.0' fill='%23fff' stroke='none' opacity='0.60'/%3E%3Ccircle cx='278' cy='233' r='1.2' fill='%23fff' stroke='none' opacity='0.68'/%3E%3Ccircle cx='1112' cy='207' r='1.5' fill='%23fff' stroke='none' opacity='0.37'/%3E%3Ccircle cx='281' cy='45' r='0.9' fill='%23fff' stroke='none' opacity='0.52'/%3E%3Ccircle cx='938' cy='456' r='1.3' fill='%23fff' stroke='none' opacity='0.43'/%3E%3Ccircle cx='666' cy='219' r='1.1' fill='%23fff' stroke='none' opacity='0.33'/%3E%3Ccircle cx='221' cy='-70' r='1.2' fill='%23fff' stroke='none' opacity='0.31'/%3E%3Ccircle cx='526' cy='158' r='1.4' fill='%23fff' stroke='none' opacity='0.67'/%3E%3Ccircle cx='794' cy='452' r='1.7' fill='%23fff' stroke='none' opacity='0.30'/%3E%3Ccircle cx='669' cy='427' r='1.0' fill='%23fff' stroke='none' opacity='0.36'/%3E%3Ccircle cx='133' cy='18' r='1.6' fill='%23fff' stroke='none' opacity='0.61'/%3E%3Ccircle cx='894' cy='182' r='1.3' fill='%23fff' stroke='none' opacity='0.75'/%3E%3Ccircle cx='298' cy='425' r='0.9' fill='%23fff' stroke='none' opacity='0.52'/%3E%3Ccircle cx='1076' cy='-27' r='1.7' fill='%23fff' stroke='none' opacity='0.35'/%3E%3Ccircle cx='739' cy='147' r='2.3' fill='%23fff' stroke='none' opacity='0.68'/%3E%3Ccircle cx='573' cy='-50' r='1.1' fill='%23fff' stroke='none' opacity='0.44'/%3E%3C/g%3E%3C/svg%3E") 100% 0 / max(120vw, 900px) auto no-repeat,
    url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='420' height='420' viewBox='0 0 420 420'%3E%3Cdefs%3E%3CradialGradient id='m' cx='0' cy='0' r='1' gradientUnits='objectBoundingBox'%3E%3Cstop offset='0' stop-color='%23fff'/%3E%3Cstop offset='.85' stop-color='%23fff' stop-opacity='0'/%3E%3C/radialGradient%3E%3Cmask id='k'%3E%3Crect width='420' height='420' fill='url(%23m)'/%3E%3C/mask%3E%3C/defs%3E%3Cg transform='rotate(0 210.0 210.0)'%3E%3Cg mask='url(%23k)' stroke='%23e6f4ff' stroke-linecap='round'%3E%3Cpath d='M0 0L268 36' stroke-opacity='0.61' stroke-width='1.2'/%3E%3Cpath d='M67 9L144 -71' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M86 -11L72 -55' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M86 -11L132 -6' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M106 -31L101 -61' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M106 -31L136 -27' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M125 -51L122 -66' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M125 -51L140 -48' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M67 9L121 107' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M80 33L126 35' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M80 33L62 75' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M94 58L124 59' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M94 58L81 86' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M107 82L122 84' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M107 82L101 96' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M134 18L180 -40' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M146 4L138 -26' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M146 4L176 5' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M157 -11L150 -30' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M157 -11L178 -9' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M169 -25L166 -35' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M169 -25L179 -25' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M134 18L169 83' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M143 34L173 36' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M143 34L127 60' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M152 51L172 50' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M152 51L143 69' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M161 67L171 68' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M161 67L155 75' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M201 27L224 -2' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M207 20L201 5' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M207 20L222 21' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M212 13L208 3' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M212 13L222 14' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M218 5L216 0' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M218 5L223 5' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M201 27L217 61' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M205 36L220 38' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M205 36L196 48' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M209 44L219 45' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M209 44L204 53' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M213 52L218 53' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M213 52L210 56' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M0 0L243 145' stroke-opacity='0.61' stroke-width='1.2'/%3E%3Cpath d='M61 36L166 -14' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M87 24L89 -24' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M87 24L128 49' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M113 11L116 -21' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M113 11L139 30' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M140 -1L141 -17' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M140 -1L153 8' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M61 36L72 152' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M63 65L105 90' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M63 65L25 94' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M66 94L94 110' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M66 94L41 114' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M69 123L83 131' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M69 123L56 133' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M121 72L193 42' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M139 65L146 34' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M139 65L164 85' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M157 57L161 36' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M157 57L176 68' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M175 50L176 39' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M175 50L184 56' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M121 72L124 150' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M122 92L151 106' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M122 92L97 112' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M123 111L141 123' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M123 111L104 122' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M124 131L133 135' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M124 131L114 136' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M182 109L218 93' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M191 105L193 89' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M191 105L205 113' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M200 101L202 90' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M200 101L209 106' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M209 97L210 92' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M209 97L213 100' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M182 109L181 148' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M182 118L195 128' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M182 118L169 128' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M182 128L191 134' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M182 128L173 134' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M182 138L186 141' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M182 138L177 140' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M0 0L158 211' stroke-opacity='0.61' stroke-width='1.2'/%3E%3Cpath d='M40 53L148 40' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M67 49L83 8' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M67 49L93 86' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M94 46L105 19' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M94 46L111 70' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M121 43L126 29' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M121 43L131 54' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M40 53L-4 153' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M29 78L57 112' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M29 78L-16 85' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M18 103L37 126' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M18 103L-12 108' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M7 128L16 140' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M7 128L-8 129' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M79 106L151 97' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M97 103L111 77' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M97 103L116 127' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M115 101L124 83' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M115 101L128 116' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M133 99L138 90' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M133 99L139 107' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M79 106L59 175' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M74 123L96 144' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M74 123L46 133' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M69 141L83 155' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M69 141L50 146' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M64 158L70 166' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M64 158L54 160' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M119 158L155 156' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M128 158L133 144' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M128 158L136 170' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M137 157L142 149' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M137 157L142 165' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M146 156L148 152' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M146 156L149 161' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M119 158L106 192' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M116 167L125 179' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M116 167L101 170' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M112 175L118 184' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M112 175L102 177' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M109 184L112 188' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M109 184L104 185' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M0 0L78 247' stroke-opacity='0.61' stroke-width='1.2'/%3E%3Cpath d='M20 62L121 94' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M45 70L80 43' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M45 70L57 112' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M70 78L94 60' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M70 78L75 107' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M96 86L107 77' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M96 86L98 100' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M20 62L-43 148' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M4 83L19 125' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M4 83L-40 82' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M-12 105L-1 132' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M-12 105L-41 103' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M-27 127L-23 141' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M-27 127L-42 126' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M39 123L109 136' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M57 126L75 103' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M57 126L67 154' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M74 130L89 116' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M74 130L80 148' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M92 133L99 126' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M92 133L96 141' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M39 123L-4 180' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M28 138L40 165' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M28 138L-1 137' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M18 152L23 171' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M18 152L-2 151' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M7 166L10 175' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M7 166L-3 164' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M59 185L94 191' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M68 186L78 176' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M68 186L74 200' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M76 188L83 180' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M76 188L81 196' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M85 189L88 185' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M85 189L87 194' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M59 185L35 211' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M53 192L56 206' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M53 192L38 188' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M47 198L50 207' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M47 198L37 197' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M41 205L42 209' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M41 205L36 204' stroke-opacity='0.37' stroke-width='0.7'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E") left top / min(70vw, 560px) auto no-repeat,
    url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='420' height='420' viewBox='0 0 420 420'%3E%3Cdefs%3E%3CradialGradient id='m' cx='0' cy='0' r='1' gradientUnits='objectBoundingBox'%3E%3Cstop offset='0' stop-color='%23fff'/%3E%3Cstop offset='.85' stop-color='%23fff' stop-opacity='0'/%3E%3C/radialGradient%3E%3Cmask id='k'%3E%3Crect width='420' height='420' fill='url(%23m)'/%3E%3C/mask%3E%3C/defs%3E%3Cg transform='rotate(180 210.0 210.0)'%3E%3Cg mask='url(%23k)' stroke='%23e6f4ff' stroke-linecap='round'%3E%3Cpath d='M0 0L309 51' stroke-opacity='0.61' stroke-width='1.2'/%3E%3Cpath d='M77 13L162 -84' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M99 -12L83 -63' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M99 -12L151 -5' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M120 -36L113 -71' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M120 -36L155 -33' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M141 -60L135 -77' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M141 -60L159 -58' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M77 13L127 132' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M90 43L142 55' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M90 43L61 88' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M102 72L137 80' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M102 72L84 103' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M115 102L132 107' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M115 102L106 118' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M155 26L218 -33' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M170 11L165 -24' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M170 11L205 18' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M186 -4L182 -27' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M186 -4L209 4' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M202 -18L200 -30' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M202 -18L213 -14' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M155 26L182 107' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M161 46L197 51' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M161 46L140 74' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M168 67L191 73' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M168 67L152 84' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M175 87L187 89' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M175 87L168 96' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M232 38L261 7' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M239 31L233 14' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M239 31L257 33' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M247 23L244 11' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M247 23L258 24' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M254 15L253 9' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M254 15L260 16' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M232 38L252 77' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M237 48L255 50' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M237 48L229 64' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M242 58L254 58' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M242 58L236 68' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M247 67L253 68' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M247 67L244 72' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M0 0L260 175' stroke-opacity='0.61' stroke-width='1.2'/%3E%3Cpath d='M65 44L186 -2' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M95 32L105 -20' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M95 32L139 62' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M126 21L132 -14' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M126 21L156 39' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M156 9L158 -8' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M156 9L170 21' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M65 44L50 172' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M61 76L102 110' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M61 76L15 102' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M57 108L84 131' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M57 108L26 126' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M53 140L68 150' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M53 140L37 146' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M130 88L211 58' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M150 80L156 45' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M150 80L179 102' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M171 73L175 49' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M171 73L190 87' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M191 65L193 53' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M191 65L200 73' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M130 88L131 174' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M130 109L162 125' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M130 109L101 129' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M131 131L151 144' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M131 131L110 142' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M131 152L141 159' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M131 152L121 159' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M195 131L235 114' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M205 127L209 110' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M205 127L219 138' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M215 123L216 111' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M215 123L225 129' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M225 118L225 112' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M225 118L230 122' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M195 131L195 175' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M195 142L210 151' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M195 142L181 153' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M195 153L204 160' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M195 153L184 158' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M195 164L200 166' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M195 164L190 167' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M0 0L147 204' stroke-opacity='0.61' stroke-width='1.2'/%3E%3Cpath d='M37 51L139 35' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M62 47L82 9' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M62 47L90 79' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M88 43L101 17' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M88 43L108 62' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M113 39L120 26' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M113 39L122 50' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M37 51L-4 146' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M27 75L51 109' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M27 75L-15 86' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M16 99L34 121' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M16 99L-12 102' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M6 122L14 134' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M6 122L-8 125' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M73 102L142 102' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M91 102L107 79' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M91 102L107 125' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M108 102L118 86' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M108 102L117 119' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M125 102L130 94' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M125 102L129 111' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M73 102L51 167' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M68 118L86 140' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M68 118L40 125' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M62 134L76 148' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M62 134L44 139' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M57 151L63 158' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M57 151L48 154' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M110 153L144 153' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M119 153L126 141' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M119 153L126 165' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M127 153L132 145' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M127 153L133 160' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M136 153L138 148' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M136 153L138 157' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M110 153L95 184' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M106 160L115 172' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M106 160L92 161' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M102 168L107 177' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M102 168L93 169' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M99 176L101 180' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M99 176L94 177' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M0 0L67 238' stroke-opacity='0.61' stroke-width='1.2'/%3E%3Cpath d='M17 59L113 93' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M41 68L75 43' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M41 68L47 110' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M65 76L87 59' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M65 76L69 104' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M89 85L100 76' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M89 85L93 98' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M17 59L-58 129' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M-2 77L11 117' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M-2 77L-43 69' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M-20 94L-17 122' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M-20 94L-48 90' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M-39 112L-37 126' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M-39 112L-52 108' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M33 119L100 135' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M50 123L70 104' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M50 123L61 149' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M67 127L80 114' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M67 127L72 145' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M83 131L89 124' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M83 131L85 140' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M33 119L-11 170' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M22 132L31 159' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M22 132L-6 129' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M11 145L18 162' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M11 145L-7 142' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M-0 157L2 166' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M-0 157L-9 156' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M50 178L82 191' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M58 182L70 174' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M58 182L61 195' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M66 185L73 179' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M66 185L69 194' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M74 188L78 185' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M74 188L75 192' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M50 178L29 205' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M45 185L49 199' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M45 185L31 184' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M40 192L43 201' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M40 192L31 191' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M35 199L36 203' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M35 199L30 198' stroke-opacity='0.37' stroke-width='0.7'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E") right bottom / min(70vw, 560px) auto no-repeat;
  --w-far: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='320' height='320' viewBox='0 0 320 320'%3E%3Cdefs%3E%3CradialGradient id='p'%3E%3Cstop offset='0' stop-color='%23fff'/%3E%3Cstop offset='.45' stop-color='%23fff' stop-opacity='.75'/%3E%3Cstop offset='1' stop-color='%23fff' stop-opacity='0'/%3E%3C/radialGradient%3E%3C/defs%3E%3Ccircle cx='43.0' cy='271.2' r='1.39' fill='%23fff' opacity='0.50'/%3E%3Ccircle cx='158.5' cy='143.8' r='1.29' fill='%23fff' opacity='0.82'/%3E%3Ccircle cx='30.0' cy='9.1' r='1.45' fill='%23fff' opacity='0.61'/%3E%3Ccircle cx='243.9' cy='0.7' r='1.10' fill='%23fff' opacity='0.78'/%3E%3Ccircle cx='243.9' cy='320.7' r='1.10' fill='%23fff' opacity='0.78'/%3E%3Ccircle cx='73.2' cy='302.5' r='1.51' fill='%23fff' opacity='0.37'/%3E%3Ccircle cx='8.1' cy='173.3' r='1.55' fill='%23fff' opacity='0.58'/%3E%3Ccircle cx='69.3' cy='135.1' r='0.73' fill='%23fff' opacity='0.48'/%3E%3Ccircle cx='140.1' cy='158.7' r='0.91' fill='%23fff' opacity='0.49'/%3E%3Ccircle cx='70.0' cy='147.1' r='0.96' fill='%23fff' opacity='0.36'/%3E%3Ccircle cx='268.0' cy='178.1' r='1.28' fill='%23fff' opacity='0.46'/%3E%3Ccircle cx='-2.4' cy='275.2' r='0.81' fill='%23fff' opacity='0.55'/%3E%3Ccircle cx='317.6' cy='275.2' r='0.81' fill='%23fff' opacity='0.55'/%3E%3Ccircle cx='230.9' cy='227.6' r='1.54' fill='%23fff' opacity='0.60'/%3E%3Ccircle cx='265.6' cy='214.5' r='0.97' fill='%23fff' opacity='0.70'/%3E%3Ccircle cx='282.4' cy='270.8' r='1.15' fill='%23fff' opacity='0.70'/%3E%3Ccircle cx='11.0' cy='77.7' r='1.42' fill='%23fff' opacity='0.60'/%3E%3Ccircle cx='55.4' cy='175.6' r='1.33' fill='%23fff' opacity='0.75'/%3E%3Ccircle cx='119.9' cy='140.5' r='1.16' fill='%23fff' opacity='0.82'/%3E%3Ccircle cx='166.7' cy='125.8' r='1.14' fill='%23fff' opacity='0.37'/%3E%3Ccircle cx='13.9' cy='225.1' r='1.58' fill='%23fff' opacity='0.71'/%3E%3Ccircle cx='126.0' cy='54.5' r='1.15' fill='%23fff' opacity='0.94'/%3E%3Ccircle cx='246.6' cy='172.7' r='1.47' fill='%23fff' opacity='0.49'/%3E%3Ccircle cx='164.4' cy='304.8' r='1.22' fill='%23fff' opacity='0.63'/%3E%3Ccircle cx='86.2' cy='175.4' r='1.56' fill='%23fff' opacity='0.35'/%3E%3Ccircle cx='250.8' cy='262.6' r='1.50' fill='%23fff' opacity='0.79'/%3E%3Ccircle cx='258.9' cy='166.0' r='1.21' fill='%23fff' opacity='0.61'/%3E%3Ccircle cx='18.0' cy='278.4' r='1.21' fill='%23fff' opacity='0.47'/%3E%3Ccircle cx='161.5' cy='155.2' r='1.02' fill='%23fff' opacity='0.56'/%3E%3Ccircle cx='172.3' cy='199.5' r='1.25' fill='%23fff' opacity='0.62'/%3E%3Ccircle cx='9.0' cy='73.5' r='0.86' fill='%23fff' opacity='0.70'/%3E%3Ccircle cx='275.5' cy='255.5' r='1.42' fill='%23fff' opacity='0.84'/%3E%3Ccircle cx='81.7' cy='269.4' r='1.31' fill='%23fff' opacity='0.40'/%3E%3Ccircle cx='5.3' cy='4.7' r='1.38' fill='%23fff' opacity='0.50'/%3E%3Ccircle cx='5.3' cy='324.7' r='1.38' fill='%23fff' opacity='0.50'/%3E%3Ccircle cx='35.0' cy='199.9' r='1.01' fill='%23fff' opacity='0.39'/%3E%3Ccircle cx='51.1' cy='168.8' r='0.85' fill='%23fff' opacity='0.51'/%3E%3Ccircle cx='227.7' cy='145.5' r='0.99' fill='%23fff' opacity='0.63'/%3E%3Ccircle cx='7.6' cy='123.7' r='1.08' fill='%23fff' opacity='0.46'/%3E%3Ccircle cx='34.8' cy='287.9' r='1.16' fill='%23fff' opacity='0.48'/%3E%3Ccircle cx='193.8' cy='261.5' r='0.72' fill='%23fff' opacity='0.36'/%3E%3Ccircle cx='46.9' cy='230.0' r='0.84' fill='%23fff' opacity='0.77'/%3E%3Ccircle cx='217.0' cy='174.3' r='0.90' fill='%23fff' opacity='0.94'/%3E%3Ccircle cx='255.3' cy='165.3' r='0.90' fill='%23fff' opacity='0.74'/%3E%3Ccircle cx='126.4' cy='184.3' r='0.99' fill='%23fff' opacity='0.73'/%3E%3Ccircle cx='18.8' cy='95.6' r='1.57' fill='%23fff' opacity='0.88'/%3E%3Ccircle cx='98.0' cy='274.7' r='0.98' fill='%23fff' opacity='0.91'/%3E%3Ccircle cx='238.0' cy='133.2' r='0.93' fill='%23fff' opacity='0.36'/%3E%3Ccircle cx='281.2' cy='12.1' r='1.44' fill='%23fff' opacity='0.93'/%3E%3Ccircle cx='182.5' cy='54.9' r='1.48' fill='%23fff' opacity='0.93'/%3E%3Ccircle cx='225.3' cy='162.8' r='1.04' fill='%23fff' opacity='0.56'/%3E%3Ccircle cx='65.8' cy='215.7' r='1.09' fill='%23fff' opacity='0.47'/%3E%3Ccircle cx='33.4' cy='213.1' r='0.97' fill='%23fff' opacity='0.65'/%3E%3Ccircle cx='104.1' cy='278.9' r='1.51' fill='%23fff' opacity='0.36'/%3E%3Ccircle cx='64.3' cy='104.9' r='1.59' fill='%23fff' opacity='0.82'/%3E%3Ccircle cx='108.5' cy='68.2' r='1.31' fill='%23fff' opacity='0.85'/%3E%3Ccircle cx='298.3' cy='110.0' r='1.49' fill='%23fff' opacity='0.76'/%3E%3Ccircle cx='155.0' cy='-4.6' r='0.91' fill='%23fff' opacity='0.79'/%3E%3Ccircle cx='155.0' cy='315.4' r='0.91' fill='%23fff' opacity='0.79'/%3E%3Ccircle cx='27.1' cy='54.3' r='1.52' fill='%23fff' opacity='0.48'/%3E%3Ccircle cx='242.9' cy='192.1' r='1.46' fill='%23fff' opacity='0.57'/%3E%3Ccircle cx='108.9' cy='93.2' r='1.48' fill='%23fff' opacity='0.71'/%3E%3Ccircle cx='305.4' cy='283.9' r='0.82' fill='%23fff' opacity='0.68'/%3E%3Ccircle cx='33.4' cy='12.5' r='0.77' fill='%23fff' opacity='0.87'/%3E%3Ccircle cx='252.2' cy='265.1' r='1.01' fill='%23fff' opacity='0.72'/%3E%3Ccircle cx='250.2' cy='121.0' r='1.21' fill='%23fff' opacity='0.48'/%3E%3Ccircle cx='26.2' cy='85.4' r='1.50' fill='%23fff' opacity='0.69'/%3E%3Ccircle cx='296.0' cy='146.5' r='0.95' fill='%23fff' opacity='0.82'/%3E%3Ccircle cx='264.9' cy='4.0' r='1.30' fill='%23fff' opacity='0.41'/%3E%3Ccircle cx='264.9' cy='324.0' r='1.30' fill='%23fff' opacity='0.41'/%3E%3Ccircle cx='36.8' cy='283.2' r='0.74' fill='%23fff' opacity='0.49'/%3E%3Ccircle cx='-3.8' cy='134.7' r='0.80' fill='%23fff' opacity='0.45'/%3E%3Ccircle cx='316.2' cy='134.7' r='0.80' fill='%23fff' opacity='0.45'/%3E%3Ccircle cx='77.3' cy='238.1' r='0.79' fill='%23fff' opacity='0.90'/%3E%3Ccircle cx='121.0' cy='310.5' r='1.52' fill='%23fff' opacity='0.53'/%3E%3Ccircle cx='81.1' cy='152.6' r='0.79' fill='%23fff' opacity='0.74'/%3E%3C/svg%3E") 0 0 / 320px 320px repeat;
  --w-far-dx: -320px; --w-far-dy: 960px; --w-far-o: .6;
  --w-far-anim: am-w-drift 46s linear infinite;
  --w-near: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='560' height='560' viewBox='0 0 560 560'%3E%3Cdefs%3E%3CradialGradient id='p'%3E%3Cstop offset='0' stop-color='%23fff'/%3E%3Cstop offset='.45' stop-color='%23fff' stop-opacity='.75'/%3E%3Cstop offset='1' stop-color='%23fff' stop-opacity='0'/%3E%3C/radialGradient%3E%3C/defs%3E%3Ccircle cx='535.4' cy='530.8' r='4.06' fill='url(%23p)' opacity='0.40'/%3E%3Ccircle cx='467.9' cy='412.1' r='6.41' fill='url(%23p)' opacity='0.53'/%3E%3Ccircle cx='339.3' cy='339.8' r='6.07' fill='url(%23p)' opacity='0.45'/%3E%3Ccircle cx='241.2' cy='220.4' r='6.62' fill='url(%23p)' opacity='0.95'/%3E%3Ccircle cx='531.7' cy='304.7' r='5.55' fill='url(%23p)' opacity='0.51'/%3E%3Ccircle cx='20.1' cy='15.4' r='5.63' fill='url(%23p)' opacity='0.54'/%3E%3Ccircle cx='212.8' cy='499.4' r='5.86' fill='url(%23p)' opacity='0.69'/%3E%3Ccircle cx='132.2' cy='13.4' r='5.09' fill='url(%23p)' opacity='0.43'/%3E%3Ccircle cx='285.7' cy='-0.7' r='6.43' fill='url(%23p)' opacity='0.46'/%3E%3Ccircle cx='285.7' cy='559.3' r='6.43' fill='url(%23p)' opacity='0.46'/%3E%3Ccircle cx='500.4' cy='446.2' r='6.66' fill='url(%23p)' opacity='0.89'/%3E%3Ccircle cx='427.2' cy='442.3' r='5.20' fill='url(%23p)' opacity='0.94'/%3E%3Ccircle cx='538.7' cy='90.3' r='6.74' fill='url(%23p)' opacity='0.78'/%3E%3Ccircle cx='258.4' cy='297.0' r='5.72' fill='url(%23p)' opacity='0.90'/%3E%3Ccircle cx='280.5' cy='465.7' r='5.20' fill='url(%23p)' opacity='0.88'/%3E%3Ccircle cx='503.8' cy='258.2' r='6.02' fill='url(%23p)' opacity='0.90'/%3E%3Ccircle cx='405.3' cy='272.5' r='4.69' fill='url(%23p)' opacity='0.54'/%3E%3Ccircle cx='391.8' cy='93.0' r='7.33' fill='url(%23p)' opacity='0.51'/%3E%3Ccircle cx='510.4' cy='173.4' r='7.52' fill='url(%23p)' opacity='0.77'/%3E%3Ccircle cx='282.4' cy='289.9' r='6.34' fill='url(%23p)' opacity='0.70'/%3E%3Ccircle cx='174.6' cy='116.4' r='5.81' fill='url(%23p)' opacity='0.91'/%3E%3Ccircle cx='349.0' cy='42.2' r='6.99' fill='url(%23p)' opacity='0.79'/%3E%3Ccircle cx='508.3' cy='107.2' r='6.70' fill='url(%23p)' opacity='0.39'/%3E%3Ccircle cx='365.6' cy='152.9' r='4.71' fill='url(%23p)' opacity='0.88'/%3E%3Ccircle cx='59.5' cy='292.5' r='7.12' fill='url(%23p)' opacity='0.50'/%3E%3Ccircle cx='117.9' cy='493.1' r='5.46' fill='url(%23p)' opacity='0.78'/%3E%3Ccircle cx='17.8' cy='202.9' r='4.50' fill='url(%23p)' opacity='0.75'/%3E%3Ccircle cx='46.4' cy='534.6' r='3.94' fill='url(%23p)' opacity='0.79'/%3E%3Ccircle cx='11.8' cy='143.2' r='6.96' fill='url(%23p)' opacity='0.44'/%3E%3Ccircle cx='102.9' cy='387.2' r='5.32' fill='url(%23p)' opacity='0.38'/%3E%3Ccircle cx='-5.6' cy='84.8' r='3.98' fill='url(%23p)' opacity='0.56'/%3E%3Ccircle cx='554.4' cy='84.8' r='3.98' fill='url(%23p)' opacity='0.56'/%3E%3Ccircle cx='344.5' cy='415.8' r='4.27' fill='url(%23p)' opacity='0.55'/%3E%3Ccircle cx='17.3' cy='251.2' r='6.78' fill='url(%23p)' opacity='0.79'/%3E%3Ccircle cx='505.1' cy='423.2' r='7.15' fill='url(%23p)' opacity='0.77'/%3E%3Ccircle cx='264.8' cy='126.3' r='6.38' fill='url(%23p)' opacity='0.54'/%3E%3Cg transform='translate(73.1 252.9)' stroke='%23fff' stroke-width='1.1' stroke-linecap='round' fill='none' opacity='0.5946377626165757'%3E%3Cpath d='M0 0V-11.37M0 -5.56l-2.92 -2.19M0 -5.56l2.92 -2.19M0 -7.99l-1.95 -1.46M0 -7.99l1.95 -1.46' transform='rotate(0)'/%3E%3Cpath d='M0 0V-11.37M0 -5.56l-2.92 -2.19M0 -5.56l2.92 -2.19M0 -7.99l-1.95 -1.46M0 -7.99l1.95 -1.46' transform='rotate(60)'/%3E%3Cpath d='M0 0V-11.37M0 -5.56l-2.92 -2.19M0 -5.56l2.92 -2.19M0 -7.99l-1.95 -1.46M0 -7.99l1.95 -1.46' transform='rotate(120)'/%3E%3Cpath d='M0 0V-11.37M0 -5.56l-2.92 -2.19M0 -5.56l2.92 -2.19M0 -7.99l-1.95 -1.46M0 -7.99l1.95 -1.46' transform='rotate(180)'/%3E%3Cpath d='M0 0V-11.37M0 -5.56l-2.92 -2.19M0 -5.56l2.92 -2.19M0 -7.99l-1.95 -1.46M0 -7.99l1.95 -1.46' transform='rotate(240)'/%3E%3Cpath d='M0 0V-11.37M0 -5.56l-2.92 -2.19M0 -5.56l2.92 -2.19M0 -7.99l-1.95 -1.46M0 -7.99l1.95 -1.46' transform='rotate(300)'/%3E%3Ccircle r='1.36' fill='%23fff' stroke='none'/%3E%3C/g%3E%3Cg transform='translate(324.2 224.3)' stroke='%23fff' stroke-width='1.1' stroke-linecap='round' fill='none' opacity='0.6003403123919304'%3E%3Cpath d='M0 0V-9.57M0 -3.83l-2.38 -1.79M0 -3.83l2.38 -1.79M0 -6.73l-1.45 -1.08M0 -6.73l1.45 -1.08' transform='rotate(0)'/%3E%3Cpath d='M0 0V-9.57M0 -3.83l-2.38 -1.79M0 -3.83l2.38 -1.79M0 -6.73l-1.45 -1.08M0 -6.73l1.45 -1.08' transform='rotate(60)'/%3E%3Cpath d='M0 0V-9.57M0 -3.83l-2.38 -1.79M0 -3.83l2.38 -1.79M0 -6.73l-1.45 -1.08M0 -6.73l1.45 -1.08' transform='rotate(120)'/%3E%3Cpath d='M0 0V-9.57M0 -3.83l-2.38 -1.79M0 -3.83l2.38 -1.79M0 -6.73l-1.45 -1.08M0 -6.73l1.45 -1.08' transform='rotate(180)'/%3E%3Cpath d='M0 0V-9.57M0 -3.83l-2.38 -1.79M0 -3.83l2.38 -1.79M0 -6.73l-1.45 -1.08M0 -6.73l1.45 -1.08' transform='rotate(240)'/%3E%3Cpath d='M0 0V-9.57M0 -3.83l-2.38 -1.79M0 -3.83l2.38 -1.79M0 -6.73l-1.45 -1.08M0 -6.73l1.45 -1.08' transform='rotate(300)'/%3E%3Ccircle r='1.15' fill='%23fff' stroke='none'/%3E%3C/g%3E%3Cg transform='translate(519.1 154.7)' stroke='%23fff' stroke-width='1.1' stroke-linecap='round' fill='none' opacity='0.6969144409795114'%3E%3Cpath d='M0 0V-10.03M0 -4.96l-2.10 -1.58M0 -4.96l2.10 -1.58M0 -6.39l-1.76 -1.32M0 -6.39l1.76 -1.32' transform='rotate(0)'/%3E%3Cpath d='M0 0V-10.03M0 -4.96l-2.10 -1.58M0 -4.96l2.10 -1.58M0 -6.39l-1.76 -1.32M0 -6.39l1.76 -1.32' transform='rotate(60)'/%3E%3Cpath d='M0 0V-10.03M0 -4.96l-2.10 -1.58M0 -4.96l2.10 -1.58M0 -6.39l-1.76 -1.32M0 -6.39l1.76 -1.32' transform='rotate(120)'/%3E%3Cpath d='M0 0V-10.03M0 -4.96l-2.10 -1.58M0 -4.96l2.10 -1.58M0 -6.39l-1.76 -1.32M0 -6.39l1.76 -1.32' transform='rotate(180)'/%3E%3Cpath d='M0 0V-10.03M0 -4.96l-2.10 -1.58M0 -4.96l2.10 -1.58M0 -6.39l-1.76 -1.32M0 -6.39l1.76 -1.32' transform='rotate(240)'/%3E%3Cpath d='M0 0V-10.03M0 -4.96l-2.10 -1.58M0 -4.96l2.10 -1.58M0 -6.39l-1.76 -1.32M0 -6.39l1.76 -1.32' transform='rotate(300)'/%3E%3Ccircle r='1.20' fill='%23fff' stroke='none'/%3E%3C/g%3E%3Cg transform='translate(29.4 310.1)' stroke='%23fff' stroke-width='1.1' stroke-linecap='round' fill='none' opacity='0.5698733485381188'%3E%3Cpath d='M0 0V-7.70M0 -3.78l-2.04 -1.53M0 -3.78l2.04 -1.53M0 -5.65l-1.02 -0.76M0 -5.65l1.02 -0.76' transform='rotate(0)'/%3E%3Cpath d='M0 0V-7.70M0 -3.78l-2.04 -1.53M0 -3.78l2.04 -1.53M0 -5.65l-1.02 -0.76M0 -5.65l1.02 -0.76' transform='rotate(60)'/%3E%3Cpath d='M0 0V-7.70M0 -3.78l-2.04 -1.53M0 -3.78l2.04 -1.53M0 -5.65l-1.02 -0.76M0 -5.65l1.02 -0.76' transform='rotate(120)'/%3E%3Cpath d='M0 0V-7.70M0 -3.78l-2.04 -1.53M0 -3.78l2.04 -1.53M0 -5.65l-1.02 -0.76M0 -5.65l1.02 -0.76' transform='rotate(180)'/%3E%3Cpath d='M0 0V-7.70M0 -3.78l-2.04 -1.53M0 -3.78l2.04 -1.53M0 -5.65l-1.02 -0.76M0 -5.65l1.02 -0.76' transform='rotate(240)'/%3E%3Cpath d='M0 0V-7.70M0 -3.78l-2.04 -1.53M0 -3.78l2.04 -1.53M0 -5.65l-1.02 -0.76M0 -5.65l1.02 -0.76' transform='rotate(300)'/%3E%3Ccircle r='0.92' fill='%23fff' stroke='none'/%3E%3C/g%3E%3Cg transform='translate(37.4 103.8)' stroke='%23fff' stroke-width='1.1' stroke-linecap='round' fill='none' opacity='0.7722764941385334'%3E%3Cpath d='M0 0V-7.48M0 -3.48l-1.64 -1.23M0 -3.48l1.64 -1.23M0 -5.39l-1.32 -0.99M0 -5.39l1.32 -0.99' transform='rotate(0)'/%3E%3Cpath d='M0 0V-7.48M0 -3.48l-1.64 -1.23M0 -3.48l1.64 -1.23M0 -5.39l-1.32 -0.99M0 -5.39l1.32 -0.99' transform='rotate(60)'/%3E%3Cpath d='M0 0V-7.48M0 -3.48l-1.64 -1.23M0 -3.48l1.64 -1.23M0 -5.39l-1.32 -0.99M0 -5.39l1.32 -0.99' transform='rotate(120)'/%3E%3Cpath d='M0 0V-7.48M0 -3.48l-1.64 -1.23M0 -3.48l1.64 -1.23M0 -5.39l-1.32 -0.99M0 -5.39l1.32 -0.99' transform='rotate(180)'/%3E%3Cpath d='M0 0V-7.48M0 -3.48l-1.64 -1.23M0 -3.48l1.64 -1.23M0 -5.39l-1.32 -0.99M0 -5.39l1.32 -0.99' transform='rotate(240)'/%3E%3Cpath d='M0 0V-7.48M0 -3.48l-1.64 -1.23M0 -3.48l1.64 -1.23M0 -5.39l-1.32 -0.99M0 -5.39l1.32 -0.99' transform='rotate(300)'/%3E%3Ccircle r='0.90' fill='%23fff' stroke='none'/%3E%3C/g%3E%3C/svg%3E") 0 0 / 560px 560px repeat;
  --w-near-dx: -560px; --w-near-dy: 1120px; --w-near-o: .6;
  --w-near-anim: am-w-drift 28s linear infinite;
  /* Сосульки — только у главной карточки экрана (--w-hero-orn). Снимки с телефона 15.09:
     когда они висели на каждой карточке, пять рядов сосулек на экране читались как рябь,
     и деталь переставала быть деталью. Остальным карточкам — иней в углу. */
  --w-card-orn: none;
  --w-hero-orn:
    linear-gradient(90deg, transparent, rgba(225, 242, 255, .7), transparent) 0 0 / 100% 1px no-repeat padding-box;
  --w-flake: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cdefs%3E%3C/defs%3E%3Cg transform='translate(8.0 8.0)' stroke='%23bfe0ff' stroke-width='1.1' stroke-linecap='round' fill='none' opacity='1.0'%3E%3Cpath d='M0 0V-7.00M0 -3.18l-1.81 -1.36M0 -3.18l1.81 -1.36M0 -4.96l-1.21 -0.91M0 -4.96l1.21 -0.91' transform='rotate(0)'/%3E%3Cpath d='M0 0V-7.00M0 -3.18l-1.81 -1.36M0 -3.18l1.81 -1.36M0 -4.96l-1.21 -0.91M0 -4.96l1.21 -0.91' transform='rotate(60)'/%3E%3Cpath d='M0 0V-7.00M0 -3.18l-1.81 -1.36M0 -3.18l1.81 -1.36M0 -4.96l-1.21 -0.91M0 -4.96l1.21 -0.91' transform='rotate(120)'/%3E%3Cpath d='M0 0V-7.00M0 -3.18l-1.81 -1.36M0 -3.18l1.81 -1.36M0 -4.96l-1.21 -0.91M0 -4.96l1.21 -0.91' transform='rotate(180)'/%3E%3Cpath d='M0 0V-7.00M0 -3.18l-1.81 -1.36M0 -3.18l1.81 -1.36M0 -4.96l-1.21 -0.91M0 -4.96l1.21 -0.91' transform='rotate(240)'/%3E%3Cpath d='M0 0V-7.00M0 -3.18l-1.81 -1.36M0 -3.18l1.81 -1.36M0 -4.96l-1.21 -0.91M0 -4.96l1.21 -0.91' transform='rotate(300)'/%3E%3Ccircle r='0.84' fill='%23bfe0ff' stroke='none'/%3E%3C/g%3E%3C/svg%3E");
  --aurora-text: linear-gradient(90deg, #ffffff 0%, #cfe8ff 30%, #7fb6ff 50%, #cfe8ff 70%, #ffffff 100%);
}
.app[data-look="level"][data-tier="2d"] .market-atmosphere:not(#am-w) { opacity: 1 !important; z-index: -1 !important; }
.app[data-look="level"][data-tier="2d"] :is(.market-orbit, .market-hud, .market-code, .market-beacon, .market-canvas):not(#am-w) { opacity: .07 !important; }
@media (min-width: 761px) {
  .app[data-look="level"][data-tier="2d"]:not(#am-w):not(#am-d) {
    --e-motif:
      radial-gradient(ellipse 60% 70% at 58% 52%, rgba(4, 10, 26, .74), rgba(4, 10, 26, .3) 70%, transparent 100%),
      url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='900' height='620' viewBox='0 0 900 620'%3E%3Cdefs%3E%3Cfilter id='b' x='-10%' y='-10%' width='120%' height='120%'%3E%3CfeGaussianBlur stdDeviation='1.6'/%3E%3C/filter%3E%3C/defs%3E%3Cg filter='url(%23b)' fill='none' stroke='%23eaf6ff' stroke-linecap='round'%3E%3Cpath d='M698 174 L709 175 L720 177 L730 180 L741 183 L751 187 L760 191 L769 196 L778 201 L786 207 L793 213 L799 220 L805 227 L810 234 L815 242 L818 250 L820 258 L822 267 L822 276 L822 285 L820 294 L817 303 L813 312 L808 322 L802 331 L795 341 L787 350 L777 359 L766 368 L755 377 L742 386 L728 394 L712 402 L696 410 L679 418 L660 424 L641 431 L621 437 L599 442 L577 447 L554 451 L531 455 L506 457 L481 460 L456 461 L429 462 L403 461 L376 461 L348 459 L321 456 L293 453 L265 448 L237 443 L209 437 L181 430 L154 422 L127 413 L100 404 L74 393 L48 381' stroke-width='2.2' stroke-opacity='0.10'/%3E%3Cpath d='M686 192 L693 197 L699 203 L704 209 L708 215 L712 222 L714 228 L716 235 L717 243 L716 250 L715 257 L713 265 L709 272 L705 280 L700 287 L693 295 L686 302 L677 309 L668 316 L657 323 L646 329 L633 335 L620 341 L605 347 L590 352 L574 356 L557 360 L540 364 L521 367 L502 369 L483 371 L463 372 L442 373 L421 373 L399 372 L378 370 L356 368 L333 365 L311 361 L289 357 L267 351 L245 345 L223 339 L201 331 L180 322 L159 313 L139 303 L119 293 L100 281 L82 269 L64 256 L48 242 L32 228 L18 213 L4 197 L-8 181 L-19 164 L-28 147 L-37 129 L-43 111' stroke-width='3.6' stroke-opacity='0.15'/%3E%3Cpath d='M657 202 L656 208 L654 215 L652 221 L648 228 L643 234 L638 240 L631 246 L624 252 L615 257 L606 263 L596 267 L585 272 L573 276 L561 280 L547 283 L534 286 L519 288 L504 290 L488 291 L472 292 L456 292 L439 292 L422 290 L405 289 L388 286 L370 283 L353 279 L335 275 L318 269 L301 264 L284 257 L268 250 L252 242 L236 233 L221 224 L207 214 L193 204 L181 193 L169 181 L157 169 L147 156 L138 142 L130 129 L123 114 L118 100 L113 84 L110 69 L108 53 L108 37 L109 21 L112 4 L116 -13 L121 -30 L129 -47 L137 -63 L148 -80 L160 -97 L173 -114 L188 -131' stroke-width='5.0' stroke-opacity='0.20'/%3E%3Cpath d='M623 199 L615 203 L607 208 L597 212 L587 215 L577 218 L566 221 L554 223 L542 225 L529 226 L516 226 L503 226 L490 226 L476 224 L462 223 L449 220 L435 217 L421 214 L408 210 L394 205 L381 199 L369 193 L357 187 L345 179 L334 172 L323 163 L313 155 L304 145 L296 135 L288 125 L282 114 L276 103 L272 91 L268 79 L266 67 L265 54 L265 42 L266 28 L269 15 L272 2 L278 -12 L284 -25 L292 -39 L301 -53 L312 -66 L324 -79 L338 -93 L353 -106 L369 -119 L387 -131 L406 -143 L426 -155 L448 -166 L471 -177 L496 -187 L521 -197 L548 -206 L576 -215 L605 -222 L635 -230' stroke-width='2.2' stroke-opacity='0.25'/%3E%3Cpath d='M601 183 L590 184 L578 184 L567 184 L555 183 L544 181 L532 179 L521 177 L510 173 L499 170 L489 165 L478 160 L469 155 L460 149 L451 142 L443 136 L436 128 L429 120 L424 112 L419 104 L415 95 L412 85 L410 76 L409 66 L409 56 L410 45 L413 35 L416 24 L421 14 L427 3 L434 -8 L442 -18 L452 -29 L462 -39 L474 -50 L487 -60 L502 -69 L517 -79 L534 -88 L552 -97 L571 -106 L591 -114 L613 -121 L635 -128 L658 -134 L682 -140 L708 -145 L734 -150 L760 -153 L788 -156 L816 -159 L845 -160 L874 -161 L904 -160 L934 -159 L965 -157 L995 -154 L1026 -150 L1057 -146 L1088 -140' stroke-width='3.6' stroke-opacity='0.10'/%3E%3Cpath d='M601 164 L592 160 L583 156 L574 151 L567 146 L559 141 L553 135 L547 129 L542 122 L538 115 L535 108 L533 101 L532 93 L531 85 L532 77 L534 69 L536 60 L540 52 L545 44 L551 35 L558 27 L566 19 L575 11 L585 3 L597 -5 L609 -12 L622 -20 L637 -26 L652 -33 L669 -39 L686 -44 L704 -50 L723 -54 L743 -58 L764 -62 L785 -65 L807 -67 L830 -68 L853 -69 L877 -69 L901 -69 L925 -67 L950 -65 L975 -62 L999 -59 L1025 -54 L1049 -49 L1074 -42 L1099 -35 L1123 -27 L1148 -19 L1171 -9 L1194 1 L1217 13 L1239 25 L1260 37 L1280 51 L1299 65 L1318 81 L1335 96' stroke-width='5.0' stroke-opacity='0.15'/%3E%3Cpath d='M623 149 L620 142 L618 136 L616 129 L616 123 L617 116 L618 109 L621 102 L624 95 L629 88 L635 82 L641 75 L649 69 L658 62 L667 56 L677 51 L689 45 L701 40 L714 36 L728 32 L743 28 L758 24 L774 22 L791 19 L808 18 L826 17 L844 16 L863 16 L882 17 L901 19 L921 21 L940 23 L960 27 L980 31 L999 36 L1019 42 L1038 48 L1057 56 L1076 64 L1094 72 L1112 82 L1129 92 L1146 102 L1161 114 L1176 126 L1190 139 L1204 152 L1216 166 L1227 181 L1237 196 L1245 211 L1253 227 L1259 244 L1264 261 L1267 278 L1269 296 L1269 314 L1268 332 L1265 350 L1260 369' stroke-width='2.2' stroke-opacity='0.20'/%3E%3Cpath d='M657 145 L661 139 L667 134 L673 128 L680 123 L688 118 L697 113 L707 109 L717 105 L729 101 L740 98 L753 96 L766 94 L779 92 L793 91 L808 90 L822 91 L837 91 L853 92 L868 94 L883 97 L899 100 L914 104 L929 108 L945 113 L959 119 L974 126 L988 133 L1002 140 L1015 148 L1027 157 L1039 167 L1051 177 L1061 187 L1070 199 L1079 210 L1087 222 L1093 235 L1099 248 L1103 261 L1106 275 L1108 289 L1109 303 L1108 318 L1106 333 L1102 348 L1098 363 L1091 378 L1084 393 L1074 408 L1064 424 L1051 439 L1037 454 L1022 468 L1005 483 L987 497 L967 511 L946 524 L923 537 L899 550' stroke-width='3.6' stroke-opacity='0.25'/%3E%3Cpath d='M686 155 L696 152 L707 150 L718 148 L730 147 L741 146 L753 145 L766 146 L778 147 L790 148 L803 150 L815 153 L828 156 L840 160 L852 164 L863 169 L874 175 L885 181 L895 187 L905 194 L914 202 L922 210 L930 219 L936 228 L942 237 L947 247 L951 257 L954 268 L956 279 L957 290 L957 302 L955 313 L953 325 L949 337 L944 349 L937 361 L930 373 L921 385 L910 397 L899 409 L886 421 L872 432 L856 443 L839 454 L821 465 L802 475 L781 485 L760 494 L737 503 L713 511 L687 519 L661 526 L634 532 L606 538 L577 543 L547 547 L516 550 L485 553 L453 554 L420 555' stroke-width='5.0' stroke-opacity='0.10'/%3E%3Ccircle cx='902' cy='421' r='1.8' fill='%23fff' stroke='none' opacity='0.51'/%3E%3Ccircle cx='768' cy='492' r='2.1' fill='%23fff' stroke='none' opacity='0.53'/%3E%3Ccircle cx='445' cy='170' r='0.8' fill='%23fff' stroke='none' opacity='0.45'/%3E%3Ccircle cx='566' cy='146' r='2.1' fill='%23fff' stroke='none' opacity='0.38'/%3E%3Ccircle cx='656' cy='218' r='2.4' fill='%23fff' stroke='none' opacity='0.66'/%3E%3Ccircle cx='967' cy='-10' r='0.9' fill='%23fff' stroke='none' opacity='0.43'/%3E%3Ccircle cx='523' cy='175' r='2.3' fill='%23fff' stroke='none' opacity='0.45'/%3E%3Ccircle cx='975' cy='450' r='1.0' fill='%23fff' stroke='none' opacity='0.76'/%3E%3Ccircle cx='257' cy='242' r='1.3' fill='%23fff' stroke='none' opacity='0.52'/%3E%3Ccircle cx='677' cy='213' r='2.2' fill='%23fff' stroke='none' opacity='0.38'/%3E%3Ccircle cx='683' cy='69' r='2.4' fill='%23fff' stroke='none' opacity='0.74'/%3E%3Ccircle cx='664' cy='-141' r='1.7' fill='%23fff' stroke='none' opacity='0.65'/%3E%3Ccircle cx='906' cy='318' r='2.1' fill='%23fff' stroke='none' opacity='0.36'/%3E%3Ccircle cx='1203' cy='6' r='1.5' fill='%23fff' stroke='none' opacity='0.45'/%3E%3Ccircle cx='361' cy='226' r='2.4' fill='%23fff' stroke='none' opacity='0.46'/%3E%3Ccircle cx='757' cy='184' r='1.9' fill='%23fff' stroke='none' opacity='0.80'/%3E%3Ccircle cx='279' cy='179' r='1.7' fill='%23fff' stroke='none' opacity='0.66'/%3E%3Ccircle cx='726' cy='426' r='1.7' fill='%23fff' stroke='none' opacity='0.59'/%3E%3Ccircle cx='716' cy='257' r='1.4' fill='%23fff' stroke='none' opacity='0.76'/%3E%3Ccircle cx='398' cy='381' r='1.3' fill='%23fff' stroke='none' opacity='0.31'/%3E%3Ccircle cx='1178' cy='307' r='2.0' fill='%23fff' stroke='none' opacity='0.46'/%3E%3Ccircle cx='449' cy='-84' r='2.2' fill='%23fff' stroke='none' opacity='0.78'/%3E%3Ccircle cx='70' cy='394' r='2.3' fill='%23fff' stroke='none' opacity='0.57'/%3E%3Ccircle cx='922' cy='31' r='1.4' fill='%23fff' stroke='none' opacity='0.39'/%3E%3Ccircle cx='759' cy='111' r='0.9' fill='%23fff' stroke='none' opacity='0.69'/%3E%3Ccircle cx='703' cy='-34' r='2.1' fill='%23fff' stroke='none' opacity='0.28'/%3E%3Ccircle cx='636' cy='311' r='1.5' fill='%23fff' stroke='none' opacity='0.34'/%3E%3Ccircle cx='892' cy='239' r='2.2' fill='%23fff' stroke='none' opacity='0.79'/%3E%3Ccircle cx='639' cy='-34' r='1.2' fill='%23fff' stroke='none' opacity='0.78'/%3E%3Ccircle cx='131' cy='125' r='0.8' fill='%23fff' stroke='none' opacity='0.37'/%3E%3Ccircle cx='947' cy='-104' r='2.2' fill='%23fff' stroke='none' opacity='0.58'/%3E%3Ccircle cx='266' cy='284' r='2.2' fill='%23fff' stroke='none' opacity='0.42'/%3E%3Ccircle cx='424' cy='145' r='2.0' fill='%23fff' stroke='none' opacity='0.26'/%3E%3Ccircle cx='383' cy='-181' r='0.8' fill='%23fff' stroke='none' opacity='0.58'/%3E%3Ccircle cx='275' cy='-100' r='1.7' fill='%23fff' stroke='none' opacity='0.39'/%3E%3Ccircle cx='90' cy='390' r='2.2' fill='%23fff' stroke='none' opacity='0.32'/%3E%3Ccircle cx='740' cy='210' r='0.8' fill='%23fff' stroke='none' opacity='0.50'/%3E%3Ccircle cx='1037' cy='447' r='1.8' fill='%23fff' stroke='none' opacity='0.32'/%3E%3Ccircle cx='395' cy='137' r='1.6' fill='%23fff' stroke='none' opacity='0.37'/%3E%3Ccircle cx='733' cy='258' r='1.4' fill='%23fff' stroke='none' opacity='0.64'/%3E%3Ccircle cx='572' cy='159' r='1.9' fill='%23fff' stroke='none' opacity='0.73'/%3E%3Ccircle cx='734' cy='-147' r='0.8' fill='%23fff' stroke='none' opacity='0.51'/%3E%3Ccircle cx='1152' cy='296' r='1.1' fill='%23fff' stroke='none' opacity='0.64'/%3E%3Ccircle cx='639' cy='463' r='1.3' fill='%23fff' stroke='none' opacity='0.27'/%3E%3Ccircle cx='456' cy='267' r='2.2' fill='%23fff' stroke='none' opacity='0.41'/%3E%3Ccircle cx='241' cy='169' r='2.3' fill='%23fff' stroke='none' opacity='0.30'/%3E%3Ccircle cx='342' cy='44' r='2.0' fill='%23fff' stroke='none' opacity='0.78'/%3E%3Ccircle cx='462' cy='444' r='1.6' fill='%23fff' stroke='none' opacity='0.56'/%3E%3Ccircle cx='1182' cy='304' r='2.4' fill='%23fff' stroke='none' opacity='0.45'/%3E%3Ccircle cx='359' cy='538' r='1.0' fill='%23fff' stroke='none' opacity='0.29'/%3E%3Ccircle cx='1167' cy='322' r='2.0' fill='%23fff' stroke='none' opacity='0.50'/%3E%3Ccircle cx='603' cy='149' r='1.8' fill='%23fff' stroke='none' opacity='0.49'/%3E%3Ccircle cx='347' cy='155' r='1.4' fill='%23fff' stroke='none' opacity='0.37'/%3E%3Ccircle cx='965' cy='231' r='1.2' fill='%23fff' stroke='none' opacity='0.64'/%3E%3Ccircle cx='862' cy='-100' r='1.5' fill='%23fff' stroke='none' opacity='0.38'/%3E%3Ccircle cx='373' cy='313' r='1.8' fill='%23fff' stroke='none' opacity='0.78'/%3E%3Ccircle cx='959' cy='280' r='1.6' fill='%23fff' stroke='none' opacity='0.64'/%3E%3Ccircle cx='1078' cy='-30' r='1.8' fill='%23fff' stroke='none' opacity='0.67'/%3E%3Ccircle cx='348' cy='-131' r='1.9' fill='%23fff' stroke='none' opacity='0.63'/%3E%3Ccircle cx='667' cy='545' r='1.4' fill='%23fff' stroke='none' opacity='0.59'/%3E%3Ccircle cx='954' cy='-174' r='2.4' fill='%23fff' stroke='none' opacity='0.25'/%3E%3Ccircle cx='551' cy='308' r='1.4' fill='%23fff' stroke='none' opacity='0.33'/%3E%3Ccircle cx='552' cy='154' r='1.3' fill='%23fff' stroke='none' opacity='0.77'/%3E%3Ccircle cx='631' cy='-28' r='1.0' fill='%23fff' stroke='none' opacity='0.78'/%3E%3Ccircle cx='596' cy='72' r='1.3' fill='%23fff' stroke='none' opacity='0.60'/%3E%3Ccircle cx='557' cy='59' r='2.3' fill='%23fff' stroke='none' opacity='0.43'/%3E%3Ccircle cx='632' cy='519' r='1.0' fill='%23fff' stroke='none' opacity='0.62'/%3E%3Ccircle cx='784' cy='414' r='1.2' fill='%23fff' stroke='none' opacity='0.46'/%3E%3Ccircle cx='977' cy='100' r='1.5' fill='%23fff' stroke='none' opacity='0.59'/%3E%3Ccircle cx='617' cy='266' r='1.4' fill='%23fff' stroke='none' opacity='0.40'/%3E%3Ccircle cx='902' cy='533' r='0.9' fill='%23fff' stroke='none' opacity='0.70'/%3E%3Ccircle cx='1114' cy='57' r='0.8' fill='%23fff' stroke='none' opacity='0.53'/%3E%3Ccircle cx='1080' cy='236' r='1.9' fill='%23fff' stroke='none' opacity='0.38'/%3E%3Ccircle cx='1051' cy='185' r='1.0' fill='%23fff' stroke='none' opacity='0.42'/%3E%3Ccircle cx='43' cy='277' r='1.4' fill='%23fff' stroke='none' opacity='0.32'/%3E%3Ccircle cx='799' cy='-152' r='1.6' fill='%23fff' stroke='none' opacity='0.28'/%3E%3Ccircle cx='767' cy='340' r='1.7' fill='%23fff' stroke='none' opacity='0.37'/%3E%3Ccircle cx='841' cy='-153' r='2.3' fill='%23fff' stroke='none' opacity='0.74'/%3E%3Ccircle cx='1074' cy='201' r='0.9' fill='%23fff' stroke='none' opacity='0.74'/%3E%3Ccircle cx='638' cy='-139' r='1.1' fill='%23fff' stroke='none' opacity='0.28'/%3E%3Ccircle cx='825' cy='-61' r='1.8' fill='%23fff' stroke='none' opacity='0.51'/%3E%3Ccircle cx='732' cy='26' r='1.2' fill='%23fff' stroke='none' opacity='0.44'/%3E%3Ccircle cx='512' cy='425' r='2.2' fill='%23fff' stroke='none' opacity='0.29'/%3E%3Ccircle cx='997' cy='264' r='1.9' fill='%23fff' stroke='none' opacity='0.35'/%3E%3Ccircle cx='637' cy='224' r='0.9' fill='%23fff' stroke='none' opacity='0.52'/%3E%3Ccircle cx='448' cy='-74' r='1.1' fill='%23fff' stroke='none' opacity='0.31'/%3E%3Ccircle cx='1011' cy='77' r='1.5' fill='%23fff' stroke='none' opacity='0.63'/%3E%3Ccircle cx='594' cy='-49' r='0.9' fill='%23fff' stroke='none' opacity='0.71'/%3E%3Ccircle cx='665' cy='216' r='1.4' fill='%23fff' stroke='none' opacity='0.54'/%3E%3Ccircle cx='535' cy='106' r='1.9' fill='%23fff' stroke='none' opacity='0.52'/%3E%3Ccircle cx='965' cy='469' r='2.1' fill='%23fff' stroke='none' opacity='0.75'/%3E%3Ccircle cx='566' cy='74' r='2.0' fill='%23fff' stroke='none' opacity='0.75'/%3E%3Ccircle cx='21' cy='97' r='2.4' fill='%23fff' stroke='none' opacity='0.46'/%3E%3Ccircle cx='1263' cy='38' r='2.1' fill='%23fff' stroke='none' opacity='0.26'/%3E%3Ccircle cx='380' cy='381' r='1.8' fill='%23fff' stroke='none' opacity='0.67'/%3E%3Ccircle cx='554' cy='102' r='2.3' fill='%23fff' stroke='none' opacity='0.54'/%3E%3Ccircle cx='784' cy='102' r='2.4' fill='%23fff' stroke='none' opacity='0.56'/%3E%3Ccircle cx='733' cy='-128' r='2.2' fill='%23fff' stroke='none' opacity='0.45'/%3E%3Ccircle cx='920' cy='263' r='1.1' fill='%23fff' stroke='none' opacity='0.55'/%3E%3Ccircle cx='761' cy='23' r='1.0' fill='%23fff' stroke='none' opacity='0.26'/%3E%3Ccircle cx='270' cy='288' r='0.8' fill='%23fff' stroke='none' opacity='0.62'/%3E%3Ccircle cx='677' cy='240' r='2.3' fill='%23fff' stroke='none' opacity='0.54'/%3E%3Ccircle cx='952' cy='38' r='1.0' fill='%23fff' stroke='none' opacity='0.38'/%3E%3Ccircle cx='233' cy='297' r='2.0' fill='%23fff' stroke='none' opacity='0.66'/%3E%3Ccircle cx='523' cy='73' r='1.5' fill='%23fff' stroke='none' opacity='0.46'/%3E%3Ccircle cx='426' cy='182' r='1.7' fill='%23fff' stroke='none' opacity='0.50'/%3E%3Ccircle cx='1218' cy='248' r='1.7' fill='%23fff' stroke='none' opacity='0.69'/%3E%3Ccircle cx='604' cy='-128' r='2.4' fill='%23fff' stroke='none' opacity='0.46'/%3E%3Ccircle cx='607' cy='192' r='1.9' fill='%23fff' stroke='none' opacity='0.57'/%3E%3Ccircle cx='29' cy='-12' r='1.1' fill='%23fff' stroke='none' opacity='0.37'/%3E%3Ccircle cx='591' cy='-158' r='1.6' fill='%23fff' stroke='none' opacity='0.28'/%3E%3Ccircle cx='245' cy='420' r='1.6' fill='%23fff' stroke='none' opacity='0.50'/%3E%3Ccircle cx='296' cy='343' r='1.8' fill='%23fff' stroke='none' opacity='0.63'/%3E%3Ccircle cx='1005' cy='-59' r='1.4' fill='%23fff' stroke='none' opacity='0.39'/%3E%3Ccircle cx='761' cy='-146' r='2.3' fill='%23fff' stroke='none' opacity='0.36'/%3E%3Ccircle cx='1010' cy='-123' r='0.9' fill='%23fff' stroke='none' opacity='0.42'/%3E%3Ccircle cx='551' cy='111' r='2.1' fill='%23fff' stroke='none' opacity='0.40'/%3E%3Ccircle cx='548' cy='46' r='1.1' fill='%23fff' stroke='none' opacity='0.36'/%3E%3Ccircle cx='135' cy='178' r='1.1' fill='%23fff' stroke='none' opacity='0.63'/%3E%3Ccircle cx='407' cy='408' r='1.4' fill='%23fff' stroke='none' opacity='0.36'/%3E%3Ccircle cx='703' cy='213' r='1.9' fill='%23fff' stroke='none' opacity='0.48'/%3E%3Ccircle cx='1093' cy='424' r='1.8' fill='%23fff' stroke='none' opacity='0.26'/%3E%3Ccircle cx='579' cy='-75' r='1.5' fill='%23fff' stroke='none' opacity='0.53'/%3E%3Ccircle cx='933' cy='134' r='1.8' fill='%23fff' stroke='none' opacity='0.60'/%3E%3Ccircle cx='465' cy='292' r='2.0' fill='%23fff' stroke='none' opacity='0.60'/%3E%3Ccircle cx='278' cy='233' r='1.2' fill='%23fff' stroke='none' opacity='0.68'/%3E%3Ccircle cx='1112' cy='207' r='1.5' fill='%23fff' stroke='none' opacity='0.37'/%3E%3Ccircle cx='281' cy='45' r='0.9' fill='%23fff' stroke='none' opacity='0.52'/%3E%3Ccircle cx='938' cy='456' r='1.3' fill='%23fff' stroke='none' opacity='0.43'/%3E%3Ccircle cx='666' cy='219' r='1.1' fill='%23fff' stroke='none' opacity='0.33'/%3E%3Ccircle cx='221' cy='-70' r='1.2' fill='%23fff' stroke='none' opacity='0.31'/%3E%3Ccircle cx='526' cy='158' r='1.4' fill='%23fff' stroke='none' opacity='0.67'/%3E%3Ccircle cx='794' cy='452' r='1.7' fill='%23fff' stroke='none' opacity='0.30'/%3E%3Ccircle cx='669' cy='427' r='1.0' fill='%23fff' stroke='none' opacity='0.36'/%3E%3Ccircle cx='133' cy='18' r='1.6' fill='%23fff' stroke='none' opacity='0.61'/%3E%3Ccircle cx='894' cy='182' r='1.3' fill='%23fff' stroke='none' opacity='0.75'/%3E%3Ccircle cx='298' cy='425' r='0.9' fill='%23fff' stroke='none' opacity='0.52'/%3E%3Ccircle cx='1076' cy='-27' r='1.7' fill='%23fff' stroke='none' opacity='0.35'/%3E%3Ccircle cx='739' cy='147' r='2.3' fill='%23fff' stroke='none' opacity='0.68'/%3E%3Ccircle cx='573' cy='-50' r='1.1' fill='%23fff' stroke='none' opacity='0.44'/%3E%3C/g%3E%3C/svg%3E") right -18vw top -12vh / max(95vw, 1000px) auto no-repeat;
  }
  .app[data-look="level"][data-tier="2d"] .market-atmosphere :is(.market-orbit, .market-hud, .market-code, .market-beacon, .market-canvas, .market-aura):not(#am-w):not(#am-d) { opacity: 0 !important; }
  .app[data-look="level"][data-tier="2d"]:not(#am-w):not(#am-d)::after {
    mix-blend-mode: overlay;
    -webkit-mask-image: radial-gradient(ellipse 58% 66% at 58% 50%, rgba(0, 0, 0, .25), #000 100%);
    mask-image: radial-gradient(ellipse 58% 66% at 58% 50%, rgba(0, 0, 0, .25), #000 100%);
  }
  .app[data-look="level"][data-tier="2d"]:not(#am-w):not(#am-d)::before {
    -webkit-mask-image: radial-gradient(ellipse 58% 66% at 58% 50%, rgba(0, 0, 0, .25), #000 100%);
    mask-image: radial-gradient(ellipse 58% 66% at 58% 50%, rgba(0, 0, 0, .25), #000 100%);
  }
}
.app[data-look="level"][data-tier="2d"] .page-title h1:not(#am-w) {
  background: var(--aurora-text) 0 50% / 200% 100%;
  -webkit-background-clip: text; background-clip: text;
  color: transparent !important;
  text-shadow: none;
  animation: am-w-text 24s linear infinite;
}
.app[data-look="level"][data-tier="2d"] .page-title h1 *:not(#am-w) { color: inherit !important; background: none !important; }
.app[data-look="level"][data-tier="2d"] .page-title > div:first-child > span:not(#am-w) {
  display: inline-flex; align-items: center; gap: 8px;
}
.app[data-look="level"][data-tier="2d"] .page-title > div:first-child > span:not(#am-w)::before {
  content: ""; width: 15px; height: 15px; flex: none;
  background: var(--w-flake) center / contain no-repeat;
}
.app[data-look="level"][data-tier="2d"] [data-slot="button"][data-variant="default"]:not(#am-w) {
  text-shadow: 0 1px 0 rgba(255, 255, 255, .25);
}
.app[data-look="level"][data-tier="2d"] [data-slot="button"][data-variant="default"]:not(#am-w) {
  background: linear-gradient(180deg, #cfe4ff 0%, #8ab9f5 24%, #3f7ad2 60%, #1d477f 100%) !important;
  border: 1px solid rgba(214, 233, 255, .8) !important;
  box-shadow: 0 10px 26px rgba(20, 60, 120, .38), inset 0 1px 0 rgba(255, 255, 255, .5) !important;
}
.app[data-look="level"][data-tier="2d"] {
  --w-card-glare: rgba(210, 235, 255, .35);
  --w-hero-glare: rgba(170, 215, 255, .14);
  --w-nav-mark: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cdefs%3E%3C/defs%3E%3Cg transform='translate(8.0 8.0)' stroke='%23bfe0ff' stroke-width='1.1' stroke-linecap='round' fill='none' opacity='1.0'%3E%3Cpath d='M0 0V-7.00M0 -3.18l-1.81 -1.36M0 -3.18l1.81 -1.36M0 -4.96l-1.21 -0.91M0 -4.96l1.21 -0.91' transform='rotate(0)'/%3E%3Cpath d='M0 0V-7.00M0 -3.18l-1.81 -1.36M0 -3.18l1.81 -1.36M0 -4.96l-1.21 -0.91M0 -4.96l1.21 -0.91' transform='rotate(60)'/%3E%3Cpath d='M0 0V-7.00M0 -3.18l-1.81 -1.36M0 -3.18l1.81 -1.36M0 -4.96l-1.21 -0.91M0 -4.96l1.21 -0.91' transform='rotate(120)'/%3E%3Cpath d='M0 0V-7.00M0 -3.18l-1.81 -1.36M0 -3.18l1.81 -1.36M0 -4.96l-1.21 -0.91M0 -4.96l1.21 -0.91' transform='rotate(180)'/%3E%3Cpath d='M0 0V-7.00M0 -3.18l-1.81 -1.36M0 -3.18l1.81 -1.36M0 -4.96l-1.21 -0.91M0 -4.96l1.21 -0.91' transform='rotate(240)'/%3E%3Cpath d='M0 0V-7.00M0 -3.18l-1.81 -1.36M0 -3.18l1.81 -1.36M0 -4.96l-1.21 -0.91M0 -4.96l1.21 -0.91' transform='rotate(300)'/%3E%3Ccircle r='0.84' fill='%23bfe0ff' stroke='none'/%3E%3C/g%3E%3C/svg%3E");
}
.app[data-look="level"][data-tier="2d"] {
}
.app[data-look="level"][data-tier="2d"] :is(.side-level, .member-card):not(#am-env):not(#am-w) {
  background:
    url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='34' height='26' viewBox='0 0 34 26'%3E%3Cdefs%3E%3ClinearGradient id='au' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%23fff3c4'/%3E%3Cstop offset='.35' stop-color='%23ffd36b'/%3E%3Cstop offset='.62' stop-color='%23b8801c'/%3E%3Cstop offset='1' stop-color='%23ffe29a'/%3E%3C/linearGradient%3E%3C/defs%3E%3Crect x='.5' y='.5' width='33' height='25' rx='5' fill='url(%23au)' stroke='%236a4408' stroke-width='.8'/%3E%3Cpath d='M0 9H11M0 17H11M23 9H34M23 17H34M11 0V26M23 0V26M11 13H23' stroke='%236a4408' stroke-opacity='.55' stroke-width='.8' fill='none'/%3E%3Crect x='11' y='6' width='12' height='14' rx='2' fill='none' stroke='%23fff3c4' stroke-opacity='.6' stroke-width='.7'/%3E%3C/svg%3E") left 14px bottom 14px / 30px 23px no-repeat padding-box,
    url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140' viewBox='0 0 140 140'%3E%3Cdefs%3E%3C/defs%3E%3Cline x1='69' y1='78' x2='57' y2='86' stroke='%23ffffff' stroke-opacity='0.39' stroke-width='1.2'/%3E%3Cline x1='68' y1='50' x2='73' y2='65' stroke='%23ffffff' stroke-opacity='0.33' stroke-width='1.1'/%3E%3Cline x1='125' y1='96' x2='119' y2='110' stroke='%23ffffff' stroke-opacity='0.45' stroke-width='0.7'/%3E%3Cline x1='102' y1='42' x2='120' y2='65' stroke='%23ffffff' stroke-opacity='0.40' stroke-width='1.4'/%3E%3Cline x1='87' y1='107' x2='82' y2='118' stroke='%23ffffff' stroke-opacity='0.57' stroke-width='0.8'/%3E%3Cline x1='57' y1='18' x2='73' y2='21' stroke='%23ffffff' stroke-opacity='0.26' stroke-width='0.9'/%3E%3Cline x1='119' y1='140' x2='122' y2='150' stroke='%23ffffff' stroke-opacity='0.41' stroke-width='0.7'/%3E%3Cline x1='30' y1='87' x2='27' y2='95' stroke='%23ffffff' stroke-opacity='0.47' stroke-width='0.9'/%3E%3Cline x1='56' y1='19' x2='59' y2='29' stroke='%23ffffff' stroke-opacity='0.56' stroke-width='1.1'/%3E%3Cline x1='88' y1='57' x2='72' y2='59' stroke='%23ffffff' stroke-opacity='0.34' stroke-width='0.9'/%3E%3Cline x1='128' y1='22' x2='107' y2='41' stroke='%23ffffff' stroke-opacity='0.63' stroke-width='1.0'/%3E%3Cline x1='63' y1='122' x2='47' y2='142' stroke='%23ffffff' stroke-opacity='0.33' stroke-width='1.1'/%3E%3Cline x1='103' y1='33' x2='124' y2='49' stroke='%23ffffff' stroke-opacity='0.51' stroke-width='0.9'/%3E%3Cline x1='68' y1='36' x2='75' y2='43' stroke='%23ffffff' stroke-opacity='0.43' stroke-width='0.7'/%3E%3Cline x1='126' y1='134' x2='123' y2='143' stroke='%23ffffff' stroke-opacity='0.52' stroke-width='0.7'/%3E%3Cline x1='52' y1='18' x2='52' y2='28' stroke='%23ffffff' stroke-opacity='0.38' stroke-width='0.8'/%3E%3Cline x1='65' y1='130' x2='59' y2='155' stroke='%23ffffff' stroke-opacity='0.58' stroke-width='1.0'/%3E%3Cline x1='10' y1='8' x2='27' y2='16' stroke='%23ffffff' stroke-opacity='0.40' stroke-width='1.3'/%3E%3Cline x1='28' y1='18' x2='19' y2='38' stroke='%23ffffff' stroke-opacity='0.27' stroke-width='0.9'/%3E%3Cline x1='62' y1='115' x2='41' y2='133' stroke='%23ffffff' stroke-opacity='0.49' stroke-width='1.4'/%3E%3Cline x1='66' y1='40' x2='90' y2='52' stroke='%23ffffff' stroke-opacity='0.54' stroke-width='1.1'/%3E%3Cline x1='137' y1='88' x2='150' y2='108' stroke='%23ffffff' stroke-opacity='0.67' stroke-width='0.7'/%3E%3Cline x1='132' y1='58' x2='150' y2='65' stroke='%23ffffff' stroke-opacity='0.60' stroke-width='1.0'/%3E%3Cline x1='38' y1='107' x2='59' y2='115' stroke='%23ffffff' stroke-opacity='0.41' stroke-width='1.1'/%3E%3Cline x1='71' y1='39' x2='92' y2='55' stroke='%23ffffff' stroke-opacity='0.46' stroke-width='0.8'/%3E%3Cline x1='83' y1='108' x2='100' y2='113' stroke='%23ffffff' stroke-opacity='0.32' stroke-width='1.2'/%3E%3C/svg%3E") 0 0 / 140px 140px repeat padding-box,
    linear-gradient(160deg, rgba(160, 205, 255, .30) 0%, rgba(40, 90, 180, .35) 45%, rgba(8, 20, 45, .95) 100%) padding-box !important;
  border: 1px solid rgba(200, 230, 255, .55) !important;
}
.app[data-look="level"][data-tier="2d"] :is(.side-level, .member-card):not(#am-env):not(#am-w) { padding-bottom: 46px !important; }
.app[data-look="level"][data-tier="2d"] .ots-story:not(#am-w) {
  background:
    url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='150' height='150' viewBox='0 0 150 150'%3E%3Cdefs%3E%3CradialGradient id='m' cx='0' cy='0' r='1' gradientUnits='objectBoundingBox'%3E%3Cstop offset='0' stop-color='%23fff'/%3E%3Cstop offset='.85' stop-color='%23fff' stop-opacity='0'/%3E%3C/radialGradient%3E%3Cmask id='k'%3E%3Crect width='150' height='150' fill='url(%23m)'/%3E%3C/mask%3E%3C/defs%3E%3Cg mask='url(%23k)' stroke='%23e6f4ff' stroke-linecap='round'%3E%3Cpath d='M0 0L96 13' stroke-opacity='0.61' stroke-width='1.2'/%3E%3Cpath d='M24 3L52 -25' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M31 -4L26 -20' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M31 -4L47 -2' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M38 -11L36 -22' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M38 -11L49 -10' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M45 -18L44 -24' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M45 -18L50 -17' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M24 3L43 38' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M29 12L45 13' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M29 12L22 27' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M34 21L44 21' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M34 21L29 31' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M38 29L44 30' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M38 29L36 34' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M48 6L64 -14' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M52 1L49 -9' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M52 1L63 2' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M56 -4L54 -11' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M56 -4L63 -3' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M48 6L56 32' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M50 13L60 16' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M50 13L43 21' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M52 19L59 21' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M52 19L48 25' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M72 10L80 -1' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M74 7L72 2' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M74 7L79 8' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M72 10L77 22' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M73 13L78 13' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M73 13L70 17' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M0 0L100 53' stroke-opacity='0.61' stroke-width='1.2'/%3E%3Cpath d='M25 13L64 -12' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M35 7L34 -12' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M35 7L53 13' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M45 1L44 -12' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M45 1L56 6' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M55 -6L54 -12' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M55 -6L60 -3' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M25 13L31 60' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M26 25L44 33' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M26 25L13 38' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M28 36L39 42' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M28 36L17 44' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M29 48L35 51' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M29 48L24 52' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M50 26L78 13' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M57 23L58 10' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M57 23L68 30' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M64 20L65 11' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M64 20L71 24' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M71 16L72 12' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M71 16L75 19' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M50 26L53 58' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M51 34L62 41' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M51 34L41 42' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M52 42L59 46' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M52 42L45 47' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M52 50L56 52' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M52 50L49 52' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M75 40L88 31' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M78 38L78 31' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M78 38L84 40' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M82 35L81 31' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M82 35L86 37' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M75 40L76 55' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M75 44L81 46' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M75 44L70 47' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M76 47L80 49' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M76 47L73 50' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M0 0L68 77' stroke-opacity='0.61' stroke-width='1.2'/%3E%3Cpath d='M17 19L59 14' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M27 18L34 2' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M27 18L39 31' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M38 16L43 6' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M38 16L45 26' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M48 15L50 10' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M48 15L52 20' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M17 19L5 60' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M14 29L25 43' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M14 29L-3 33' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M11 39L20 47' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M11 39L0 43' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M8 50L12 54' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M8 50L3 51' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M34 38L62 36' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M41 38L46 27' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M41 38L48 47' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M48 37L51 30' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M48 37L53 43' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M34 38L27 66' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M32 45L41 53' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M32 45L21 48' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M31 52L36 58' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M31 52L23 54' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M51 57L65 55' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M54 57L56 51' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M54 57L59 61' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M51 57L48 71' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M50 61L55 65' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M50 61L45 63' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M0 0L24 80' stroke-opacity='0.61' stroke-width='1.2'/%3E%3Cpath d='M6 20L39 28' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M14 22L25 13' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M14 22L20 35' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M23 24L30 18' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M23 24L25 33' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M31 26L35 23' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M31 26L33 31' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M6 20L-17 46' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M0 26L4 40' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M0 26L-13 23' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M-5 33L-2 42' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M-5 33L-15 32' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M-11 39L-9 44' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M-11 39L-16 39' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M12 40L34 47' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M17 42L25 37' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M17 42L19 51' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M23 44L27 39' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M23 44L24 50' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M12 40L-3 58' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M8 44L12 53' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M8 44L-1 44' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M5 49L7 55' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M5 49L-2 48' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M18 60L29 64' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M20 61L24 58' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M20 61L21 66' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M18 60L11 69' stroke-opacity='0.49' stroke-width='0.9'/%3E%3Cpath d='M16 62L17 67' stroke-opacity='0.37' stroke-width='0.7'/%3E%3Cpath d='M16 62L11 62' stroke-opacity='0.37' stroke-width='0.7'/%3E%3C/g%3E%3C/svg%3E") right -30px top -30px / 150px 150px no-repeat,
    linear-gradient(160deg, rgba(160, 205, 255, .16), rgba(10, 30, 60, .6));
  border-color: rgba(200, 230, 255, .38);
  box-shadow: 0 16px 40px rgba(0, 0, 0, .45), inset 0 1px 0 rgba(255, 255, 255, .25);
}
.app[data-look="level"][data-tier="2d"] .ots-story > summary:not(#am-w) { padding-top: 22px; }
.app[data-look="level"][data-tier="2d"] { --w-club-card: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%23e6f3ff'/%3E%3Cstop offset='.6' stop-color='%234a8cff'/%3E%3Cstop offset='1' stop-color='%230a2a80'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cg transform='translate(20 20)'%3E%3Cpath d='M0 -17 L3.2 -7 L0 0 L-3.2 -7z' fill='url(%23g)' transform='rotate(0)'/%3E%3Cpath d='M0 -17 L3.2 -7 L0 0 L-3.2 -7z' fill='url(%23g)' transform='rotate(60)'/%3E%3Cpath d='M0 -17 L3.2 -7 L0 0 L-3.2 -7z' fill='url(%23g)' transform='rotate(120)'/%3E%3Cpath d='M0 -17 L3.2 -7 L0 0 L-3.2 -7z' fill='url(%23g)' transform='rotate(180)'/%3E%3Cpath d='M0 -17 L3.2 -7 L0 0 L-3.2 -7z' fill='url(%23g)' transform='rotate(240)'/%3E%3Cpath d='M0 -17 L3.2 -7 L0 0 L-3.2 -7z' fill='url(%23g)' transform='rotate(300)'/%3E%3C/g%3E%3Cg transform='translate(20.0 20.0)' stroke='%23ffffff' stroke-width='0.9' stroke-linecap='round' fill='none' opacity='0.85'%3E%3Cpath d='M0 0V-17.00M0 -8.09l-3.80 -2.85M0 -8.09l3.80 -2.85M0 -11.20l-2.85 -2.14M0 -11.20l2.85 -2.14' transform='rotate(0)'/%3E%3Cpath d='M0 0V-17.00M0 -8.09l-3.80 -2.85M0 -8.09l3.80 -2.85M0 -11.20l-2.85 -2.14M0 -11.20l2.85 -2.14' transform='rotate(60)'/%3E%3Cpath d='M0 0V-17.00M0 -8.09l-3.80 -2.85M0 -8.09l3.80 -2.85M0 -11.20l-2.85 -2.14M0 -11.20l2.85 -2.14' transform='rotate(120)'/%3E%3Cpath d='M0 0V-17.00M0 -8.09l-3.80 -2.85M0 -8.09l3.80 -2.85M0 -11.20l-2.85 -2.14M0 -11.20l2.85 -2.14' transform='rotate(180)'/%3E%3Cpath d='M0 0V-17.00M0 -8.09l-3.80 -2.85M0 -8.09l3.80 -2.85M0 -11.20l-2.85 -2.14M0 -11.20l2.85 -2.14' transform='rotate(240)'/%3E%3Cpath d='M0 0V-17.00M0 -8.09l-3.80 -2.85M0 -8.09l3.80 -2.85M0 -11.20l-2.85 -2.14M0 -11.20l2.85 -2.14' transform='rotate(300)'/%3E%3Ccircle r='2.04' fill='%23ffffff' stroke='none'/%3E%3C/g%3E%3C/svg%3E") right 18px top 22px / 40px 40px no-repeat padding-box, url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140' viewBox='0 0 140 140'%3E%3Cdefs%3E%3C/defs%3E%3Cline x1='69' y1='78' x2='57' y2='86' stroke='%23ffffff' stroke-opacity='0.39' stroke-width='1.2'/%3E%3Cline x1='68' y1='50' x2='73' y2='65' stroke='%23ffffff' stroke-opacity='0.33' stroke-width='1.1'/%3E%3Cline x1='125' y1='96' x2='119' y2='110' stroke='%23ffffff' stroke-opacity='0.45' stroke-width='0.7'/%3E%3Cline x1='102' y1='42' x2='120' y2='65' stroke='%23ffffff' stroke-opacity='0.40' stroke-width='1.4'/%3E%3Cline x1='87' y1='107' x2='82' y2='118' stroke='%23ffffff' stroke-opacity='0.57' stroke-width='0.8'/%3E%3Cline x1='57' y1='18' x2='73' y2='21' stroke='%23ffffff' stroke-opacity='0.26' stroke-width='0.9'/%3E%3Cline x1='119' y1='140' x2='122' y2='150' stroke='%23ffffff' stroke-opacity='0.41' stroke-width='0.7'/%3E%3Cline x1='30' y1='87' x2='27' y2='95' stroke='%23ffffff' stroke-opacity='0.47' stroke-width='0.9'/%3E%3Cline x1='56' y1='19' x2='59' y2='29' stroke='%23ffffff' stroke-opacity='0.56' stroke-width='1.1'/%3E%3Cline x1='88' y1='57' x2='72' y2='59' stroke='%23ffffff' stroke-opacity='0.34' stroke-width='0.9'/%3E%3Cline x1='128' y1='22' x2='107' y2='41' stroke='%23ffffff' stroke-opacity='0.63' stroke-width='1.0'/%3E%3Cline x1='63' y1='122' x2='47' y2='142' stroke='%23ffffff' stroke-opacity='0.33' stroke-width='1.1'/%3E%3Cline x1='103' y1='33' x2='124' y2='49' stroke='%23ffffff' stroke-opacity='0.51' stroke-width='0.9'/%3E%3Cline x1='68' y1='36' x2='75' y2='43' stroke='%23ffffff' stroke-opacity='0.43' stroke-width='0.7'/%3E%3Cline x1='126' y1='134' x2='123' y2='143' stroke='%23ffffff' stroke-opacity='0.52' stroke-width='0.7'/%3E%3Cline x1='52' y1='18' x2='52' y2='28' stroke='%23ffffff' stroke-opacity='0.38' stroke-width='0.8'/%3E%3Cline x1='65' y1='130' x2='59' y2='155' stroke='%23ffffff' stroke-opacity='0.58' stroke-width='1.0'/%3E%3Cline x1='10' y1='8' x2='27' y2='16' stroke='%23ffffff' stroke-opacity='0.40' stroke-width='1.3'/%3E%3Cline x1='28' y1='18' x2='19' y2='38' stroke='%23ffffff' stroke-opacity='0.27' stroke-width='0.9'/%3E%3Cline x1='62' y1='115' x2='41' y2='133' stroke='%23ffffff' stroke-opacity='0.49' stroke-width='1.4'/%3E%3Cline x1='66' y1='40' x2='90' y2='52' stroke='%23ffffff' stroke-opacity='0.54' stroke-width='1.1'/%3E%3Cline x1='137' y1='88' x2='150' y2='108' stroke='%23ffffff' stroke-opacity='0.67' stroke-width='0.7'/%3E%3Cline x1='132' y1='58' x2='150' y2='65' stroke='%23ffffff' stroke-opacity='0.60' stroke-width='1.0'/%3E%3Cline x1='38' y1='107' x2='59' y2='115' stroke='%23ffffff' stroke-opacity='0.41' stroke-width='1.1'/%3E%3Cline x1='71' y1='39' x2='92' y2='55' stroke='%23ffffff' stroke-opacity='0.46' stroke-width='0.8'/%3E%3Cline x1='83' y1='108' x2='100' y2='113' stroke='%23ffffff' stroke-opacity='0.32' stroke-width='1.2'/%3E%3C/svg%3E") 0 0 / 140px 140px repeat padding-box, linear-gradient(160deg, rgba(120, 175, 245, .22), rgba(20, 55, 120, .55) 45%, rgba(6, 16, 38, .98)) padding-box, linear-gradient(#060e1f, #060e1f) padding-box, linear-gradient(135deg, #e6f3ff, #4a8cff 50%, #e6f3ff) border-box; }
.app[data-look="level"][data-tier="2d"] .member-card .mc-name:not(#am-w) { padding-left: 44px; }
.app[data-look="level"][data-tier="2d"] .member-card .mc-front > b:not(#am-w) {
  background: var(--aurora-text) 0 50% / 200% 100%; -webkit-background-clip: text; background-clip: text;
  color: transparent; animation: am-w-text 14s linear infinite;
}
.app[data-look="level"][data-tier="2d"] .mobile-nav:not(#am-env):not(#am-w) {
  background:
    linear-gradient(90deg, transparent, rgba(215, 236, 255, .85) 30%, #fff 50%, rgba(215, 236, 255, .85) 70%, transparent) 0 0 / 100% 1px no-repeat,
    url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140' viewBox='0 0 140 140'%3E%3Cdefs%3E%3C/defs%3E%3Cline x1='69' y1='78' x2='57' y2='86' stroke='%23ffffff' stroke-opacity='0.39' stroke-width='1.2'/%3E%3Cline x1='68' y1='50' x2='73' y2='65' stroke='%23ffffff' stroke-opacity='0.33' stroke-width='1.1'/%3E%3Cline x1='125' y1='96' x2='119' y2='110' stroke='%23ffffff' stroke-opacity='0.45' stroke-width='0.7'/%3E%3Cline x1='102' y1='42' x2='120' y2='65' stroke='%23ffffff' stroke-opacity='0.40' stroke-width='1.4'/%3E%3Cline x1='87' y1='107' x2='82' y2='118' stroke='%23ffffff' stroke-opacity='0.57' stroke-width='0.8'/%3E%3Cline x1='57' y1='18' x2='73' y2='21' stroke='%23ffffff' stroke-opacity='0.26' stroke-width='0.9'/%3E%3Cline x1='119' y1='140' x2='122' y2='150' stroke='%23ffffff' stroke-opacity='0.41' stroke-width='0.7'/%3E%3Cline x1='30' y1='87' x2='27' y2='95' stroke='%23ffffff' stroke-opacity='0.47' stroke-width='0.9'/%3E%3Cline x1='56' y1='19' x2='59' y2='29' stroke='%23ffffff' stroke-opacity='0.56' stroke-width='1.1'/%3E%3Cline x1='88' y1='57' x2='72' y2='59' stroke='%23ffffff' stroke-opacity='0.34' stroke-width='0.9'/%3E%3Cline x1='128' y1='22' x2='107' y2='41' stroke='%23ffffff' stroke-opacity='0.63' stroke-width='1.0'/%3E%3Cline x1='63' y1='122' x2='47' y2='142' stroke='%23ffffff' stroke-opacity='0.33' stroke-width='1.1'/%3E%3Cline x1='103' y1='33' x2='124' y2='49' stroke='%23ffffff' stroke-opacity='0.51' stroke-width='0.9'/%3E%3Cline x1='68' y1='36' x2='75' y2='43' stroke='%23ffffff' stroke-opacity='0.43' stroke-width='0.7'/%3E%3Cline x1='126' y1='134' x2='123' y2='143' stroke='%23ffffff' stroke-opacity='0.52' stroke-width='0.7'/%3E%3Cline x1='52' y1='18' x2='52' y2='28' stroke='%23ffffff' stroke-opacity='0.38' stroke-width='0.8'/%3E%3Cline x1='65' y1='130' x2='59' y2='155' stroke='%23ffffff' stroke-opacity='0.58' stroke-width='1.0'/%3E%3Cline x1='10' y1='8' x2='27' y2='16' stroke='%23ffffff' stroke-opacity='0.40' stroke-width='1.3'/%3E%3Cline x1='28' y1='18' x2='19' y2='38' stroke='%23ffffff' stroke-opacity='0.27' stroke-width='0.9'/%3E%3Cline x1='62' y1='115' x2='41' y2='133' stroke='%23ffffff' stroke-opacity='0.49' stroke-width='1.4'/%3E%3Cline x1='66' y1='40' x2='90' y2='52' stroke='%23ffffff' stroke-opacity='0.54' stroke-width='1.1'/%3E%3Cline x1='137' y1='88' x2='150' y2='108' stroke='%23ffffff' stroke-opacity='0.67' stroke-width='0.7'/%3E%3Cline x1='132' y1='58' x2='150' y2='65' stroke='%23ffffff' stroke-opacity='0.60' stroke-width='1.0'/%3E%3Cline x1='38' y1='107' x2='59' y2='115' stroke='%23ffffff' stroke-opacity='0.41' stroke-width='1.1'/%3E%3Cline x1='71' y1='39' x2='92' y2='55' stroke='%23ffffff' stroke-opacity='0.46' stroke-width='0.8'/%3E%3Cline x1='83' y1='108' x2='100' y2='113' stroke='%23ffffff' stroke-opacity='0.32' stroke-width='1.2'/%3E%3C/svg%3E") 0 0 / 140px 140px repeat,
    linear-gradient(180deg, #11223f, #060e1d) !important;
  border-top: 0 !important;
}
.app[data-look="level"][data-tier="2d"] .mobile-nav button.active:not(#am-env):not(#am-w) {
  text-shadow: 0 0 12px rgba(190, 230, 255, .8);
}
.app[data-look="level"][data-tier="2d"] :is(.os-rate > b, .balance-card > b, .today-mission h3):not(#am-w) {
  letter-spacing: -.03em; font-weight: 800;
  background: var(--aurora-text) 0 50% / 200% 100%; -webkit-background-clip: text; background-clip: text;
  color: transparent !important;
}

/* ── ДОБАВЛЕНО К СНИМКУ ── */
/* Шапка меню аватара и карта профиля: подпись «OTS 250 · счёт» шла синим акцентом
   по тёмно-синей карте и почти пропадала. Тёмный предмет несёт свой светлый текст. */
.app[data-look="level"][data-tier="2d"] :is(.profile-hero, .profile-pop > header):not(#am-w),
.app[data-look="level"][data-tier="2d"] :is(.profile-hero, .profile-pop > header) :is(h2, b):not(#am-w) {
  color: #f2f6ff !important;
}
.app[data-look="level"][data-tier="2d"] :is(.profile-hero, .profile-pop > header) :is(p, small, span, em):not(#am-w) {
  color: #c9dbff !important;
}
/* «ТВОЯ СТУПЕНЬ» на Уровнях красилась чистым акцентом #1f6bff — на тёмной карточке это
   2.9. Подпись на тёмном берёт светлый оттенок того же синего. */
.app[data-look="level"][data-tier="2d"] .lv-current > span:not(#am-w) { color: var(--t-accent-soft) !important; }
/* Каллиграфический почерк ритуалов ОТС и Семьи — свой, не с чужого сервера, с кириллицей. */
@font-face { font-family: "Great Vibes"; font-style: normal; font-weight: 400; font-display: block; src: url("/app/assets/GreatVibes-normal-400-cyrillic-Dy8dZvp5.woff2") format("woff2"); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: "Great Vibes"; font-style: normal; font-weight: 400; font-display: block; src: url("/app/assets/GreatVibes-normal-400-latin-Bcoi9gjv.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; }

/* ═══ РИТУАЛ ВХОДА В МИР СТУПЕНИ (src/app/WorldRitual.tsx) ═══════════════════════
   Своя сцена «запуска» у каждого мира. Слой поверх всего экрана, клики проходят насквозь,
   при «меньше движения» сцена не создаётся вовсе (решает компонент). */

.am-ritual {
  position: fixed;
  inset: 0;
  z-index: 2147483000;
  pointer-events: none;
  overflow: hidden;
}
.am-ritual .rit-scene {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 18px;
}
.am-ritual .rit-rule {
  display: block;
  height: 1px;
  width: 0;
}
@keyframes rit-rule { 0% { width: 0; } 100% { width: min(58vw, 360px); } }
/* ВАЖНО ДЛЯ SAFARI: в анимации фильтра набор функций одинаков во всех кадрах и совпадает
   с исходным значением. Системный движок анимации macOS/iOS падает (CAPresentationModifier:
   «value has more elements than initial value»), если кадры перечисляют разное число
   функций — поймано проверкой в WebKit 15.09 на свечении ритуала ОТС. */
@keyframes rit-launch-out {
  0% { opacity: 1; transform: scale(1); filter: blur(0px); }
  100% { opacity: 0; transform: scale(1.08); filter: blur(6px); visibility: hidden; }
}
@keyframes rit-veil-out { to { opacity: 0; visibility: hidden; } }

/* ── GOLD ─────────────────────────────────────────────────────────────────────── */
.am-ritual[data-tier="5"] {
  background: radial-gradient(ellipse 60% 45% at 50% 46%, #241b09 0%, #0b0907 55%, #050504 100%);
  animation: rit-veil-out .55s ease-in 2.65s forwards;
}
.rit-gold { filter: blur(0px); animation: rit-launch-out .6s cubic-bezier(.5, 0, .75, 0) 2.55s forwards; }
.rit-crown { width: min(46vw, 190px); height: auto; overflow: visible; }
.rit-crown-line path { stroke-dasharray: 1; stroke-dashoffset: 1; animation: rit-draw 1.05s cubic-bezier(.6, .1, .3, 1) .15s forwards; }
.rit-crown-line path:nth-child(2) { animation-delay: .55s; }
.rit-crown-line path:nth-child(3) { animation-delay: .8s; }
@keyframes rit-draw { to { stroke-dashoffset: 0; } }
.rit-crown-fill { opacity: 0; animation: rit-fill .7s ease-out 1.05s forwards; }
@keyframes rit-fill { to { opacity: .92; } }
.rit-crown-pearls circle { opacity: 0; transform-box: fill-box; transform-origin: center; animation: rit-pearl .45s cubic-bezier(.2, 1.4, .4, 1) forwards; }
.rit-crown-pearls circle:nth-child(1) { animation-delay: .95s; }
.rit-crown-pearls circle:nth-child(2) { animation-delay: 1.05s; }
.rit-crown-pearls circle:nth-child(3) { animation-delay: 1.15s; }
@keyframes rit-pearl { from { opacity: 0; transform: scale(.2); } to { opacity: 1; transform: scale(1); } }
.rit-crown-glint { animation: rit-glint .9s cubic-bezier(.4, 0, .2, 1) 1.55s forwards; }
@keyframes rit-glint { to { transform: skewX(-18deg) translateX(420px); } }
.rit-word {
  opacity: 0;
  animation: rit-word 1s cubic-bezier(.2, .7, .2, 1) 1.2s forwards;
}
@keyframes rit-word {
  from { opacity: 0; letter-spacing: .7em; transform: translateY(8px); }
  to { opacity: 1; letter-spacing: .42em; transform: none; }
}
.rit-word-gold {
  font: 700 clamp(30px, 9vw, 42px)/1 "Cormorant SC", Georgia, serif;
  padding-left: .42em;
  background: linear-gradient(90deg, #9c6a16, #ffe39a 35%, #fff6d6 50%, #ffd36b 65%, #9c6a16);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.rit-gold .rit-rule {
  background: linear-gradient(90deg, transparent, #ffd36b 30%, #fff6d6 50%, #ffd36b 70%, transparent);
  animation: rit-rule .9s cubic-bezier(.2, .7, .2, 1) 1.35s forwards;
}

/* ── ЭКСКЛЮЗИВ ────────────────────────────────────────────────────────────────── */
.am-ritual[data-tier="4"] { background: transparent; }
.rit-half {
  position: absolute;
  left: 0;
  right: 0;
  height: 50.5%;
  background:
    repeating-linear-gradient(90deg, rgba(0, 0, 0, .18) 0 3px, rgba(255, 255, 255, .025) 3px 7px),
    radial-gradient(ellipse 80% 90% at 50% 100%, #5e0918 0%, #2a0409 55%, #0c0203 100%);
}
.rit-half-top { top: 0; animation: rit-split-up .75s cubic-bezier(.7, 0, .2, 1) 2.45s forwards; }
.rit-half-bottom {
  bottom: 0;
  transform-origin: top;
  background:
    repeating-linear-gradient(90deg, rgba(0, 0, 0, .18) 0 3px, rgba(255, 255, 255, .025) 3px 7px),
    radial-gradient(ellipse 80% 90% at 50% 0%, #5e0918 0%, #2a0409 55%, #0c0203 100%);
  animation: rit-split-down .75s cubic-bezier(.7, 0, .2, 1) 2.45s forwards;
}
.rit-half-top::after, .rit-half-bottom::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, #d9b27a 25%, #f3d9a6 50%, #d9b27a 75%, transparent);
  opacity: 0;
  animation: rit-seam .3s ease-out 2.2s forwards;
}
.rit-half-top::after { bottom: 0; }
.rit-half-bottom::before { top: 0; }
@keyframes rit-seam { to { opacity: 1; } }
@keyframes rit-split-up { to { transform: translateY(-102%); } }
@keyframes rit-split-down { to { transform: translateY(102%); } }
.rit-excl-stage {
  position: relative;
  display: grid;
  place-items: center;
  gap: 6px;
  animation: rit-shake .32s linear .62s, rit-veil-out .35s ease-in 2.3s forwards;
}
@keyframes rit-shake {
  0%, 100% { transform: none; }
  20% { transform: translate(-3px, 2px); }
  45% { transform: translate(3px, -2px); }
  70% { transform: translate(-2px, 1px); }
}
.rit-seal {
  width: min(34vw, 128px);
  height: auto;
  opacity: 0;
  filter: blur(0px) drop-shadow(0 18px 26px rgba(0, 0, 0, .7));
  animation: rit-stamp .52s cubic-bezier(.55, 0, .9, .4) .1s forwards;
}
@keyframes rit-stamp {
  0% { opacity: 0; transform: scale(2.6) rotate(-14deg); filter: blur(8px) drop-shadow(0 60px 50px rgba(0, 0, 0, .2)); }
  80% { opacity: 1; filter: blur(0px) drop-shadow(0 18px 26px rgba(0, 0, 0, .7)); }
  100% { opacity: 1; transform: scale(1) rotate(-4deg); filter: blur(0px) drop-shadow(0 6px 10px rgba(0, 0, 0, .75)); }
}
.rit-seal-letter { font: italic 700 44px/1 "Playfair Display", Georgia, serif; fill: rgba(60, 0, 12, .55); }
.rit-shock {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 120px;
  height: 120px;
  margin: -118px 0 0 -60px;
  border-radius: 50%;
  border: 2px solid rgba(243, 217, 166, .8);
  opacity: 0;
  animation: rit-shock .9s cubic-bezier(.1, .7, .3, 1) .6s forwards;
}
@keyframes rit-shock {
  0% { opacity: .9; transform: scale(.8); }
  100% { opacity: 0; transform: scale(5.5); border-width: .5px; }
}
.rit-script { width: min(80vw, 380px); height: auto; overflow: visible; margin-top: 4px; }
.rit-script-text {
  font: italic 600 76px/1 "Playfair Display", Georgia, serif;
  fill: #f6eee8;
  fill-opacity: 0;
  stroke: #f3d9a6;
  stroke-width: 1.1;
  stroke-dasharray: 760;
  stroke-dashoffset: 760;
  animation: rit-write 1.25s cubic-bezier(.5, .1, .3, 1) .9s forwards, rit-ink .5s ease-out 1.9s forwards;
}
@keyframes rit-write { to { stroke-dashoffset: 0; } }
@keyframes rit-ink { to { fill-opacity: 1; stroke-opacity: .25; } }

/* ── ЗИМА ОТС ─────────────────────────────────────────────────────────────────────
   Контур буквы пишется каллиграфией → вихрь заполняет буквы снегом (canvas внутри рамки
   надписи) → буквы наливаются светом → порыв сдувает. Анимации стартуют, когда почерк
   загрузился (.is-go), чтобы контур не перескочил с запасного шрифта. */
.am-ritual[data-tier="2"] {
  background: radial-gradient(ellipse 75% 60% at 50% 46%, #0d2446 0%, #06101f 55%, #02060d 100%);
  animation: rit-veil-out .6s ease-in 3.25s forwards;
}
.am-ritual[data-tier="3"] {
  background: radial-gradient(ellipse 75% 60% at 50% 46%, #07353a 0%, #041a1f 55%, #010a0c 100%);
  animation: rit-veil-out .6s ease-in 3.25s forwards;
}
.rit-snow { position: absolute; inset: 0; width: 100%; height: 100%; }
.rit-hand {
  position: relative;
  width: min(94vw, 520px);
  aspect-ratio: 520 / 290;
  --glow: 170, 220, 255;
  filter: brightness(1) blur(0px) drop-shadow(0 0 0 rgba(var(--glow), 0));
}
.rit-winter[data-tier="3"] .rit-hand { --glow: 120, 255, 230; }
.rit-hand svg, .rit-hand .rit-fill { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.rit-hand-big { font-size: 170px; }
.rit-hand-num { font-size: 96px; }
.rit-hand-text {
  fill: #f4faff;
  fill-opacity: 0;
  stroke: rgba(225, 242, 255, .95);
  stroke-width: 1.6;
  stroke-dasharray: 3200;
  stroke-dashoffset: 3200;
  paint-order: stroke;
}
.rit-winter[data-tier="3"] .rit-hand-text { stroke: rgba(200, 255, 246, .95); fill: #effffc; }
.rit-hand .rit-fill { filter: drop-shadow(0 0 6px rgba(var(--glow), .8)); }
.rit-winter.is-go .rit-hand-text {
  animation:
    rit-write-long 1.5s cubic-bezier(.45, .1, .3, 1) .2s forwards,
    rit-ink-late .5s ease-out 2.55s forwards;
}
@keyframes rit-write-long { to { stroke-dashoffset: 0; } }
@keyframes rit-ink-late { to { fill-opacity: 1; stroke-width: 4; stroke-opacity: 1; } }
.rit-winter.is-go .rit-hand {
  animation:
    rit-glow 1s ease-in-out 2.5s forwards,
    rit-blow .65s cubic-bezier(.6, 0, .9, .5) 3.05s forwards;
}
.rit-hand .rit-fill { opacity: .95; }
.rit-winter.is-go .rit-fill { animation: rit-fill-out .5s ease-out 2.7s forwards; }
@keyframes rit-fill-out { to { opacity: .25; } }
@keyframes rit-glow {
  0% { filter: brightness(1) blur(0px) drop-shadow(0 0 0 rgba(var(--glow), 0)); }
  45% { filter: brightness(1.7) blur(0px) drop-shadow(0 0 20px rgba(var(--glow), .95)); }
  100% { filter: brightness(1.2) blur(0px) drop-shadow(0 0 10px rgba(var(--glow), .7)); }
}
@keyframes rit-blow {
  from { opacity: 1; transform: none; filter: brightness(1.2) blur(0px) drop-shadow(0 0 10px rgba(var(--glow), .7)); }
  to { opacity: 0; transform: translate(60px, -18px) scale(1.04); filter: brightness(1.2) blur(4px) drop-shadow(0 0 10px rgba(var(--glow), .7)); }
}

/* ── СЕМЬЯ ────────────────────────────────────────────────────────────────────────
   Тёплая линия рисует сердце → два удара, как пульс → «Семья» почерком. */
.am-ritual[data-tier="1"] {
  background: radial-gradient(ellipse 70% 55% at 50% 46%, #43250f 0%, #1a0f07 60%, #0b0704 100%);
  animation: rit-veil-out .55s ease-in 2.35s forwards;
}
.rit-family { gap: 4px; }
.rit-heart { width: min(34vw, 132px); height: auto; overflow: visible; filter: drop-shadow(0 0 0 rgba(255, 150, 90, 0)); }
.rit-heart-line { stroke-dasharray: 1; stroke-dashoffset: 1; animation: rit-draw .85s cubic-bezier(.5, .1, .3, 1) .1s forwards; }
.rit-heart-fill { opacity: 0; animation: rit-fill .45s ease-out .8s forwards; }
.rit-heart { transform-origin: 50% 55%; animation: rit-beat .95s ease-in-out .9s forwards, rit-warm 1s ease-out .9s forwards; }
@keyframes rit-beat {
  0% { transform: scale(1); }
  12% { transform: scale(1.16); }
  24% { transform: scale(.97); }
  36% { transform: scale(1.12); }
  55%, 100% { transform: scale(1); }
}
@keyframes rit-warm { to { filter: drop-shadow(0 0 26px rgba(255, 150, 90, .75)); } }
.rit-family-word { width: min(82vw, 360px); height: auto; overflow: visible; }
.rit-family-word text {
  font-size: 96px;
  fill: #ffe7c7;
  fill-opacity: 0;
  stroke: #ffc88f;
  stroke-width: 1;
  stroke-dasharray: 1100;
  stroke-dashoffset: 1100;
  animation: rit-write .95s cubic-bezier(.45, .1, .3, 1) 1.15s forwards, rit-ink .45s ease-out 1.95s forwards;
}
/* ── ТРЕЗВАЯ ТИПОГРАФИКА ЦИФР (владелец 24.09) ────────────────────────────────
   Владелец: «моментами сайт выглядит очень мультяшно… как будто чуть детский. Всё-таки
   это серьёзный сайт, связанный с торговлей реальными финансами».

   Здесь была самая дорогая форма этой болезни: СУММЫ СДЕЛОК печатались декоративной
   антиквой, а на ступени 4 — курсивной Playfair Display, то есть шрифтом свадебного
   приглашения. Цифра денег — не украшение: её читают, сравнивают столбиком и по ней
   принимают решение. Курсивная антиква и разная ширина знаков мешают ровно этому.

   Цифры во всех мирах идут табличным начертанием одной ширины. Мир ступени остаётся —
   он выражается цветом и материалом, а не шрифтом суммы. */
/* «МОИ СДЕЛКИ» в профиле — табло итога и сделки билетами по дням.
   Контейнер — общий материал .am-state мира. Текст и поверхности — токены мира; зелёный,
   красный и янтарный — смысловые, одни для всех миров. Цифры табло — шрифтом мира (как
   проходимость и баланс): Gold — антиква с капителью, Эксклюзив — курсивная антиква. */
.app .my-trades {
  --mt-plus: #5fe0a0; --mt-plus-rgb: 95, 224, 160;
  --mt-minus: #ff8a8a; --mt-minus-rgb: 255, 138, 138;
  --mt-warn: #ffc978; --mt-warn-rgb: 255, 201, 120;
  --mt-line: rgba(var(--t-text-2-rgb), .12);
  --mt-num-font: var(--font-data); --mt-num-weight: 700; --mt-num-style: normal; --mt-num-track: -.01em;
  display: flex; flex-direction: column; gap: 16px;
}
.app .my-trades > b { font-size: 20px !important; font-weight: 650; color: var(--t-text); letter-spacing: -.01em; margin-top: -2px; }
.app .my-trades .my-trades-note { margin: 0; color: var(--t-text-3); font-size: 13px; line-height: 1.5; max-width: 64ch; }

/* ── табло ─────────────────────────────────────────────────────────────── */
.app .mt-board {
  position: relative; overflow: hidden; border-radius: 18px; padding: 18px 20px 16px;
  background:
    radial-gradient(ellipse 60% 120% at 0% 0%, rgba(var(--mt-plus-rgb), .10), transparent 60%),
    rgba(var(--t-text-2-rgb), .05);
  border: 1px solid var(--mt-line);
  display: flex; flex-direction: column; gap: 14px;
}
.app .mt-board > header { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--t-text-3); }
.app .mt-score { display: flex; align-items: flex-end; gap: clamp(20px, 5vw, 48px); }
.app .mt-score > p { margin: 0; display: flex; flex-direction: column; gap: 6px; }
.app .mt-score .mt-num {
  font-family: var(--mt-num-font); font-weight: var(--mt-num-weight); font-style: var(--mt-num-style);
  font-variant-numeric: tabular-nums;
  letter-spacing: var(--mt-num-track); font-size: clamp(48px, 9vw, 72px); line-height: .9;
  font-variant-numeric: lining-nums tabular-nums;
}
.app .mt-score [data-k="plus"] .mt-num { color: var(--mt-plus); text-shadow: 0 0 34px rgba(var(--mt-plus-rgb), .35); }
.app .mt-score [data-k="minus"] .mt-num { color: var(--mt-minus); text-shadow: 0 0 34px rgba(var(--mt-minus-rgb), .28); }
.app .mt-score [data-k="open"] .mt-num { color: var(--t-text-2); font-size: clamp(32px, 6vw, 44px); }
.app .mt-score small { font-size: 13px; color: var(--t-text-2); }
.app .mt-split { display: flex; height: 8px; border-radius: 99px; overflow: hidden; gap: 3px; background: rgba(var(--t-text-2-rgb), .08); }
.app .mt-split i { display: block; height: 100%; border-radius: 99px; }
.app .mt-split i[style*="width: 0%"] { display: none; }
/* Не «-bar»: общий язык миров красит любые полосы с таким именем акцентом ступени (product.env.css), а здесь цвет смысловой. */
.app .mt-split i[data-k="plus"] { background: linear-gradient(90deg, rgba(var(--mt-plus-rgb), .55), var(--mt-plus)) !important; }
.app .mt-split i[data-k="minus"] { background: var(--mt-minus) !important; }
.app .mt-split i[data-k="open"] { background: rgba(var(--t-text-2-rgb), .35) !important; }
.app .mt-facts { margin: 2px 0 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--mt-line); padding-top: 12px; }
.app .mt-facts > div { display: flex; flex-direction: column; gap: 3px; padding: 0 12px; }
.app .mt-facts > div:first-child { padding-left: 0; }
.app .mt-facts > div + div { border-left: 1px solid var(--mt-line); }
.app .mt-facts dt { font-size: 12px; color: var(--t-text-3); }
.app .mt-facts dd { margin: 0; font-size: 22px; font-weight: 700; color: var(--t-text); font-variant-numeric: tabular-nums; }
.app .mt-facts > div.warn dd { color: var(--mt-warn); }

/* ── фильтр ────────────────────────────────────────────────────────────── */
.app .mt-filter { display: flex; flex-wrap: wrap; gap: 8px; }
.app .mt-filter > button {
  appearance: none; cursor: pointer; font: inherit; font-size: 13.5px; font-weight: 600;
  display: inline-flex; align-items: center; gap: 8px; padding: 7px 12px 7px 14px; border-radius: 99px;
  color: var(--t-text-2); background: rgba(var(--t-text-2-rgb), .06); border: 1px solid var(--mt-line);
  box-shadow: none !important; min-height: 0 !important; width: auto !important;
}
.app .mt-filter > button span { font-size: 12px; font-variant-numeric: tabular-nums; padding: 1px 7px; border-radius: 99px; background: rgba(var(--t-text-2-rgb), .1); color: var(--t-text-2); }
.app .mt-filter > button.on { color: var(--t-text); background: rgba(var(--t-text-2-rgb), .14); border-color: rgba(var(--t-text-2-rgb), .35); }
.app .mt-filter > button.on[data-k="WIN"] { color: var(--mt-plus); border-color: rgba(var(--mt-plus-rgb), .5); background: rgba(var(--mt-plus-rgb), .1); }
.app .mt-filter > button.on[data-k="LOSS"] { color: var(--mt-minus); border-color: rgba(var(--mt-minus-rgb), .5); background: rgba(var(--mt-minus-rgb), .1); }
.app .mt-filter > button.on[data-k="not-counted"] { color: var(--mt-warn); border-color: rgba(var(--mt-warn-rgb), .5); background: rgba(var(--mt-warn-rgb), .1); }
.app .mt-filter > button:focus-visible { outline: 2px solid var(--t-accent); outline-offset: 2px; }

/* ── день ──────────────────────────────────────────────────────────────── */
.app .mt-day { display: flex; flex-direction: column; gap: 10px; }
.app .mt-day > h3 {
  margin: 4px 0 0; display: flex; align-items: center; gap: 12px;
  font-size: 12px; font-weight: 650; letter-spacing: .1em; text-transform: uppercase; color: var(--t-text-3);
}
.app .mt-day > h3::after { content: ""; flex: 1; height: 1px; background: var(--mt-line); }
.app .mt-day > ol { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }

/* ── билет ─────────────────────────────────────────────────────────────── */
.app .mt-ticket {
  --stub: 132px;
  position: relative; display: grid; grid-template-columns: 58px minmax(0, 1fr) var(--stub);
  border-radius: 16px; min-height: 104px;
  background: rgba(var(--t-text-2-rgb), .055);
  border: 1px solid var(--mt-line);
  /* Перфорация: два выреза на линии корешка. Маска, а не кружки цвета фона — фон у мира свой. */
  -webkit-mask: radial-gradient(circle 8px at calc(100% - var(--stub)) 0, #0000 97%, #000) top / 100% 51% no-repeat,
                radial-gradient(circle 8px at calc(100% - var(--stub)) 100%, #0000 97%, #000) bottom / 100% 51% no-repeat;
          mask: radial-gradient(circle 8px at calc(100% - var(--stub)) 0, #0000 97%, #000) top / 100% 51% no-repeat,
                radial-gradient(circle 8px at calc(100% - var(--stub)) 100%, #0000 97%, #000) bottom / 100% 51% no-repeat;
}
.app .mt-ticket[data-outcome="WIN"] { background: linear-gradient(90deg, rgba(var(--t-text-2-rgb), .055) 55%, rgba(var(--mt-plus-rgb), .13)); border-color: rgba(var(--mt-plus-rgb), .22); }
.app .mt-ticket[data-outcome="LOSS"] { background: linear-gradient(90deg, rgba(var(--t-text-2-rgb), .055) 55%, rgba(var(--mt-minus-rgb), .12)); border-color: rgba(var(--mt-minus-rgb), .22); }

.app .mt-dir { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; margin: 10px 0 10px 10px; border-radius: 12px; background: rgba(var(--t-text-2-rgb), .08); }
.app .mt-dir b { font-size: 26px; line-height: 1; font-weight: 700; color: var(--t-text-2); }
.app .mt-dir small { font-size: 11.5px; color: var(--t-text-3); }
.app .mt-dir[data-dir="up"] { background: rgba(var(--mt-plus-rgb), .14); }
.app .mt-dir[data-dir="up"] :is(b, small) { color: var(--mt-plus); }
.app .mt-dir[data-dir="down"] { background: rgba(var(--mt-minus-rgb), .14); }
.app .mt-dir[data-dir="down"] :is(b, small) { color: var(--mt-minus); }

.app .mt-main { padding: 12px 14px; display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.app .mt-line { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.app .mt-line b { font-size: 17px; font-weight: 700; color: var(--t-text); letter-spacing: -.01em; }
.app .mt-tag { font-style: normal; font-size: 11.5px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--mt-warn); padding: 2px 8px; border-radius: 6px; background: rgba(var(--mt-warn-rgb), .13); }
.app .mt-meta { display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--t-text-3); font-variant-numeric: tabular-nums; }
.app .mt-meta i { font-style: normal; font-size: 12px; font-weight: 650; color: var(--t-text-2); padding: 2px 8px; border-radius: 6px; background: rgba(var(--t-text-2-rgb), .1); }
.app .mt-mine { margin: 2px 0 0; font-size: 14.5px; color: var(--t-text); display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 8px; }
.app .mt-mine small { font-size: 12.5px; color: var(--t-text-3); }
.app .mt-over { font-style: normal; font-size: 12px; font-weight: 650; color: var(--mt-warn); }
.app .mt-why { margin: 2px 0 0; font-size: 13px; line-height: 1.4; color: var(--mt-warn); }

.app .mt-stamp {
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; padding: 10px 12px; text-align: center;
  border-left: 2px dashed rgba(var(--t-text-2-rgb), .2);
}
.app .mt-stamp small { font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: var(--t-text-3); }
.app .mt-stamp b { font-size: 20px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--t-text-2); line-height: 1.1; }
.app .mt-stamp span { font-size: 12.5px; color: var(--t-text-2); }
.app .mt-stamp[data-outcome="WIN"] b { color: var(--mt-plus); text-shadow: 0 0 22px rgba(var(--mt-plus-rgb), .35); }
.app .mt-stamp[data-outcome="LOSS"] b { color: var(--mt-minus); text-shadow: 0 0 22px rgba(var(--mt-minus-rgb), .3); }
.app .mt-stamp[data-outcome="UNRESOLVED"] b { font-size: 15px; }

.app .mt-ticket.not-counted { background: transparent; border-style: dashed; border-color: rgba(var(--mt-warn-rgb), .35); }
.app .mt-ticket.not-counted :is(.mt-dir, .mt-stamp) { opacity: .55; }

.app .my-trades > .mt-more { align-self: flex-start; }

/* ── телефон: корешок уходит вниз полосой ──────────────────────────────── */
@media (max-width: 560px) {
  .app .my-trades { gap: 14px; }
  .app .mt-board { padding: 16px; }
  .app .mt-facts dd { font-size: 19px; }
  .app .mt-facts > div { padding: 0 8px; }
  .app .mt-ticket { grid-template-columns: 50px minmax(0, 1fr); -webkit-mask: none; mask: none; }
  .app .mt-dir { margin: 10px 0 0 10px; height: 54px; }
  .app .mt-dir b { font-size: 22px; }
  .app .mt-stamp {
    grid-column: 1 / -1; flex-direction: row; justify-content: flex-start; gap: 10px; padding: 10px 14px;
    border-left: 0; border-top: 2px dashed rgba(var(--t-text-2-rgb), .18); text-align: left;
  }
  .app .mt-stamp b { font-size: 16px; }
  .app .mt-stamp span { margin-left: auto; }
}
@media (prefers-reduced-motion: no-preference) {
  .app .mt-filter > button { transition: background-color .15s, border-color .15s, color .15s; }
}
/* «ОБУЧЕНИЕ» — путь из текстов Амира. Материал карточек берётся у мира (.am-state и токены
   ступени), здесь только раскладка: список модулей и сам урок как читаемая страница. */
.app .learn-live { display: flex; flex-direction: column; gap: 18px; }

/* ШАПКА — ЭТО ДЕЙСТВИЕ (28.09). Крупным здесь стоит следующий урок, а не счёт: счёт
   человек читает один раз, а «что дальше» — каждый раз, когда открывает экран. Подложка
   тянет взгляд к кнопке мягким свечением цвета ступени, а не рамкой. */
.app .learn-head {
  position: relative; overflow: hidden;
  display: flex; flex-direction: column; align-items: flex-start; gap: 12px;
  padding: 22px 24px 20px; border-radius: 22px;
  background:
    radial-gradient(120% 140% at 0% 0%, rgba(var(--t-accent-rgb, var(--t-text-2-rgb)), .16), transparent 62%),
    rgba(var(--t-text-2-rgb), .05);
  border: 1px solid rgba(var(--t-text-2-rgb), .13);
}
.app .learn-eyebrow {
  font-size: 11.5px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
  color: var(--t-accent);
}
.app .learn-head h2.learn-next-title {
  margin: 0; max-width: 24ch;
  font-size: clamp(20px, 3.4vw, 26px); line-height: 1.2; font-weight: 700;
  letter-spacing: -.01em; color: var(--t-text); text-wrap: balance;
}
.app .learn-head .learn-after { margin: 0; max-width: 46ch; font-size: 14.5px; line-height: 1.55; color: var(--t-text-2); }
.app .learn-head button { margin-top: 2px; }
.app .learn-head .learn-next-word { font-weight: 650; }
.app .learn-line {
  width: 100%; height: 6px; border-radius: 99px; overflow: hidden;
  background: rgba(var(--t-text-2-rgb), .12);
}
.app .learn-line i {
  display: block; height: 100%; border-radius: 99px; background: var(--t-accent);
  transition: width .5s ease;
}
.app .learn-count { font-size: 12.5px; color: var(--t-text-3); font-variant-numeric: tabular-nums; }
.app .learn-head.done .learn-eyebrow { color: var(--t-text-2); }

/* ГЛАВА. Номер, название и счёт СВОЕЙ главы в одну строку: «где я» ищут внутри главы, а
   общая полоса на это не отвечает — она одна на тринадцать уроков. */
.app .learn-module { display: flex; flex-direction: column; gap: 10px; }
.app .learn-module > h3 {
  margin: 14px 0 2px; display: flex; align-items: center; gap: 10px;
  font-size: 15.5px; font-weight: 650; color: var(--t-text);
}
.app .learn-module > h3 > span { flex: 1; min-width: 0; }
.app .learn-module > h3 i {
  font-style: normal; font-size: 11.5px; font-weight: 750; letter-spacing: .06em;
  color: var(--t-text-3); padding: 3px 8px; border-radius: 8px;
  background: rgba(var(--t-text-2-rgb), .1);
}
.app .learn-module.now > h3 i { color: var(--t-ink); background: var(--t-accent); }
.app .learn-module.whole > h3 i { color: var(--t-accent); background: rgba(var(--t-accent-rgb, var(--t-text-2-rgb)), .16); }
.app .learn-module > h3 em {
  font-style: normal; font-size: 12.5px; font-weight: 650; color: var(--t-text-3);
  font-variant-numeric: tabular-nums;
}
.app .learn-module > p { margin: -4px 0 0; font-size: 13.5px; color: var(--t-text-3); }

/* ПУТЬ, А НЕ СПИСОК. Уроки нанизаны на одну линию, и состояние несёт УЗЕЛ: пройденный
   залит, текущий — кольцо, будущий пустой. До 28.09 состояние несли двадцать одинаковых
   зелёных галочек — когда путь пройден целиком, они не отличали ничего от ничего. */
.app .learn-path { list-style: none; margin: 0; padding: 0 0 0 26px; position: relative; display: flex; flex-direction: column; gap: 8px; }
.app .learn-path::before {
  /* Линия начинается и кончается В УЗЛАХ, а не в краях списка: хвост, торчащий выше
     первого узла, читается как обрубок — ровно тот сорт кривизны, на который владелец
     ругался отдельно. 28px — середина карточки урока (13px отступа сверху + строка). */
  content: ""; position: absolute; left: 10px; top: 28px; bottom: 28px; width: 2px;
  border-radius: 2px; background: rgba(var(--t-text-2-rgb), .2);
}
.app .learn-path > li { position: relative; }
/* ПРОЙДЕННАЯ ЧАСТЬ ЛИНИИ ЗАЛИВАЕТСЯ ЦВЕТОМ. Серая линия одинаковой яркости на всю высоту
   говорит только «это список»; залитый снизу вверх отрезок говорит, сколько пути уже за
   спиной, — и это видно одним взглядом, без чтения счёта. Первый урок отрезка не имеет:
   выше него пути нет. */
.app .learn-path > li.done::after {
  content: ""; position: absolute; left: -17px; top: -8px; width: 2px;
  height: calc(50% + 8px); border-radius: 2px;
  background: var(--t-accent); opacity: .6;
}
.app .learn-path > li:first-child.done::after { top: 50%; height: 0; }
.app .learn-path > li > button {
  width: 100%; display: flex; align-items: center; gap: 12px; text-align: left; cursor: pointer;
  padding: 13px 16px; border-radius: 14px; font: inherit; color: var(--t-text);
  background: rgba(var(--t-text-2-rgb), .045); border: 1px solid rgba(var(--t-text-2-rgb), .1);
  transition: border-color .18s ease, background .18s ease, transform .18s ease;
}
.app .learn-path > li > button:hover {
  border-color: rgba(var(--t-text-2-rgb), .26);
  background: rgba(var(--t-text-2-rgb), .07);
}
/* Узел на линии. Он стоит СЛЕВА ОТ КАРТОЧКИ, а не внутри неё: линия должна быть видна
   как линия, иначе это снова список с кружками. */
.app .learn-path .mark {
  position: absolute; left: -26px; top: 50%; transform: translateY(-50%);
  width: 20px; height: 20px; border-radius: 99px; display: grid; place-items: center;
  background: var(--t-bg, #0b0f14);
  border: 2px solid rgba(var(--t-text-2-rgb), .28);
  color: transparent;
}
.app .learn-path .mark svg { width: 11px; height: 11px; }
.app .learn-path > li.done .mark {
  color: var(--t-ink); background: var(--t-accent); border-color: transparent;
}
.app .learn-path > li.now .mark {
  border-color: var(--t-accent);
  box-shadow: 0 0 0 4px rgba(var(--t-accent-rgb, var(--t-text-2-rgb)), .18);
}
.app .learn-path > li.now > button {
  background: rgba(var(--t-accent-rgb, var(--t-text-2-rgb)), .09);
  border-color: rgba(var(--t-accent-rgb, var(--t-text-2-rgb)), .4);
}
.app .learn-path > li.now .body small { color: var(--t-accent); font-weight: 650; }
/* Пройденное отступает на второй план: оно уже сделано, и тянуть на себя внимание ему
   незачем — иначе глаз каждый раз начинает сверху и заново читает всё пройденное. */
.app .learn-path > li.done > button { background: transparent; border-color: rgba(var(--t-text-2-rgb), .08); }
.app .learn-path > li.done .body b { color: var(--t-text-2); font-weight: 550; }
.app .learn-module .body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.app .learn-module .body b { font-size: 15.5px; font-weight: 600; line-height: 1.3; }
.app .learn-module .body small { font-size: 12.5px; color: var(--t-text-3); }
.app .learn-path > li > button > svg:last-child { width: 16px; height: 16px; color: var(--t-text-3); flex: none; }

/* ПОЛКИ — НЕ ПУТЬ. У них нет порядка и нет линии: это материал «когда понадобится».
   На широком экране они ложатся в две колонки — так видно, что это склад, а не лестница. */
.app .learn-module.shelf > ol { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
@media (min-width: 720px) {
  .app .learn-module.shelf > ol { grid-template-columns: 1fr 1fr; }
}
.app .learn-module.shelf > ol > li > button {
  width: 100%; display: flex; align-items: center; gap: 12px; text-align: left; cursor: pointer;
  padding: 12px 14px; border-radius: 13px; font: inherit; color: var(--t-text);
  background: transparent; border: 1px dashed rgba(var(--t-text-2-rgb), .18);
  transition: border-color .18s ease, background .18s ease;
}
.app .learn-module.shelf > ol > li > button:hover {
  border-style: solid; background: rgba(var(--t-text-2-rgb), .05);
}
.app .learn-module.shelf .mark { display: none; }
.app .learn-module.shelf .body b { font-size: 14.5px; font-weight: 580; }
.app .learn-module.shelf > ol > li > button > svg:last-child { width: 15px; height: 15px; color: var(--t-text-3); flex: none; }

.app .learn-back {
  align-self: flex-start; cursor: pointer; font: inherit; font-size: 14px; color: var(--t-text-2);
  background: none; border: 0; padding: 4px 0;
}
.app .lesson-body { max-width: 68ch; }
.app .lesson-body h1 { font-size: clamp(22px, 4.6vw, 30px); line-height: 1.16; margin: 4px 0 6px; letter-spacing: -.01em; }
.app .lesson-meta { margin: 0 0 18px; font-size: 13px; color: var(--t-text-3); }
.app .lesson-body h2 { font-size: 14px; letter-spacing: .08em; text-transform: uppercase; color: var(--t-accent); margin: 22px 0 8px; }
/* Заголовок ШАГА — это вопрос человеку («Что такое поддержка?»), а не ярлык секции.
   Капсом он кричит: владелец 20.09 отдельно запретил капс в обычном чтении, разрешив
   его только маленьким меткам. Здесь метка — строка «Шаг 2 из 7», а не сам вопрос. */
.app .lesson-body .lesson-flow h2:not(#am-lf) {
  font-size: 24px;
  letter-spacing: -.01em;
  text-transform: none;
  color: var(--t-text);
  margin: 0;
}
.app .lesson-body p { margin: 0 0 12px; font-size: 16px; line-height: 1.62; color: var(--t-text); }
.app .lesson-body p.li { padding-left: 16px; position: relative; margin-bottom: 8px; }
.app .lesson-body p.li::before { content: "·"; position: absolute; left: 4px; color: var(--t-accent); font-weight: 700; }
.app .lesson-note {
  margin: 18px 0 0 !important; padding: 12px 14px; border-radius: 12px; font-size: 14px !important;
  color: var(--t-text-2) !important; background: rgba(var(--t-text-2-rgb), .07);
  border-left: 3px solid rgba(var(--t-text-2-rgb), .3);
}
.app .lesson-done { margin-top: 24px; padding-top: 18px; border-top: 1px solid rgba(var(--t-text-2-rgb), .12); display: flex; flex-direction: column; gap: 10px; align-items: flex-start; }
.app .lesson-done .hint { margin: 0; font-size: 14px; color: var(--t-text-3); }
.app .lesson-done .ok { margin: 0; display: flex; align-items: center; gap: 8px; font-size: 15px; font-weight: 650; color: var(--t-accent); }
.app .lesson-done .ok svg { width: 17px; height: 17px; }

@media (max-width: 480px) {
  .app .lesson-body p { font-size: 15.5px; }
  .app .learn-head { padding: 18px 18px 16px; border-radius: 18px; }
  /* На телефоне линия пути съедает ширину названия. Узлы ужимаются, отступ — тоже. */
  .app .learn-path { padding-left: 22px; }
  .app .learn-path::before { left: 8px; top: 26px; bottom: 26px; }
  .app .learn-path .mark { left: -22px; width: 18px; height: 18px; }
  .app .learn-path > li > button { padding: 12px 13px; gap: 10px; }
  .app .learn-module .body b { font-size: 15px; }
}

@media (prefers-reduced-motion: reduce) {
  .app .learn-line i, .app .learn-path > li > button { transition: none; }
}
/* ВИТРИНА ОТКРЫТЫХ СДЕЛОК и КНОПКА «ПОДЕЛИТЬСЯ» (владелец 16.09).
   Одна разметка в двух средах: светлая гостевая страница (токены --ink/--line) и мир
   кабинета (--t-*). Смысловые цвета плюса/минуса — одни на обе. */
.showcase {
  /* Гостевая страница тёмная (фон #050708) — значения повторяют тему кабинета по умолчанию. */
  --sc-plus: #55f2b2; --sc-minus: #ff8a8a; --sc-live: #ff9a6b;
  --sc-text: #f2f6f4; --sc-mute: #a3aea8; --sc-line: rgba(255, 255, 255, .11);
  --sc-card: rgba(255, 255, 255, .035); --sc-soft: rgba(255, 255, 255, .055);
  max-width: 1240px; margin: auto; padding: 88px 32px 40px;
  display: flex; flex-direction: column; gap: 28px; color: var(--sc-text);
}
.app .showcase {
  --sc-plus: #5fe0a0; --sc-minus: #ff8a8a; --sc-live: #ff9a6b;
  --sc-text: var(--t-text); --sc-mute: var(--t-text-3); --sc-line: rgba(var(--t-text-2-rgb), .14);
  --sc-card: rgba(var(--t-text-2-rgb), .05); --sc-soft: rgba(var(--t-text-2-rgb), .08);
  padding: 8px 0 0; max-width: none;
}
.showcase > header { display: flex; flex-direction: column; gap: 10px; max-width: 64ch; }
.showcase > header h2 { margin: 0; font-size: clamp(28px, 4vw, 40px); letter-spacing: -.04em; line-height: 1.08; text-wrap: balance; }
.showcase.compact > header h2 { font-size: 22px; letter-spacing: -.02em; }
.showcase > header p { margin: 0; color: var(--sc-mute); line-height: 1.5; }

.sc-block { display: flex; flex-direction: column; gap: 12px; }
.sc-block > h3 { margin: 0; font-size: 13px; letter-spacing: .1em; text-transform: uppercase; color: var(--sc-mute); font-weight: 650; }
.sc-note { margin: 0; font-size: 12.5px; color: var(--sc-mute); line-height: 1.45; }

.sc-trades, .sc-results { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 12px; }
.sc-trade, .sc-results article, .sc-engine {
  background: var(--sc-card); border: 1px solid var(--sc-line); border-radius: 18px; padding: 18px;
  display: flex; flex-direction: column; gap: 6px; min-width: 0;
}
.sc-trade small, .sc-results small { font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--sc-mute); }
.sc-trade > b, .sc-engine b { font-size: 24px; letter-spacing: -.02em; overflow-wrap: anywhere; }
.showcase [data-dir] { font-weight: 700; }
.showcase [data-dir="up"] { color: var(--sc-plus); }
.showcase [data-dir="down"] { color: var(--sc-minus); }
.sc-trade p { margin: 0; font-size: 13px; color: var(--sc-mute); font-variant-numeric: tabular-nums; }
.showcase em { font-style: normal; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; font-size: 15px; }
.showcase em[data-outcome="WIN"], .sc-session li[data-outcome="WIN"] em { color: var(--sc-plus); }
.showcase em[data-outcome="LOSS"], .sc-session li[data-outcome="LOSS"] em { color: var(--sc-minus); }

.sc-results p { margin: 0; font-size: 15px; }
.sc-results p b { font-size: 26px; font-variant-numeric: tabular-nums; letter-spacing: -.02em; }
.sc-results .sc-week { font-size: 13px; color: var(--sc-mute); font-variant-numeric: tabular-nums; }

.sc-engine { display: grid; grid-template-columns: 1fr auto auto; align-items: center; gap: 8px 24px; }
.sc-engine > div { display: flex; flex-direction: column; gap: 4px; }
.sc-engine small { color: var(--sc-mute); font-size: 13px; }
.sc-engine dl { margin: 0; display: flex; gap: 20px; }
.sc-engine dt { font-size: 11.5px; color: var(--sc-mute); letter-spacing: .06em; text-transform: uppercase; }
.sc-engine dd { margin: 2px 0 0; font-variant-numeric: tabular-nums; font-weight: 650; }
.sc-engine .sc-note { grid-column: 1 / -1; }

.sc-session {
  border-radius: 20px; padding: 20px 22px; border: 1px solid var(--sc-line); background: var(--sc-soft);
  display: flex; flex-direction: column; gap: 8px;
}
.sc-session[data-state="live"] { border-color: color-mix(in srgb, var(--sc-live) 55%, transparent); }
.sc-session > small { font-size: 12px; letter-spacing: .1em; color: var(--sc-mute); display: flex; align-items: center; gap: 8px; }
.sc-session[data-state="live"] > small { color: var(--sc-live); font-weight: 700; }
.sc-session > small i { width: 8px; height: 8px; border-radius: 50%; background: var(--sc-live); animation: sc-pulse 1.4s ease-in-out infinite; }
.sc-session > b { font-size: 20px; letter-spacing: -.01em; text-wrap: balance; }
.sc-session > p { margin: 0; color: var(--sc-mute); line-height: 1.5; }
.sc-session ol { list-style: none; margin: 4px 0 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.sc-session li {
  display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2px 16px; align-items: center;
  background: var(--sc-card); border: 1px solid var(--sc-line); border-radius: 14px; padding: 12px 14px;
}
.sc-session li b { font-size: 17px; }
.sc-session li small { color: var(--sc-mute); font-size: 12.5px; font-variant-numeric: tabular-nums; }
.sc-session li > :is(em, .signal-countdown, .signal-closed) { grid-column: 2; grid-row: 1 / span 2; justify-self: end; font-size: 13px; }
.sc-session li[data-state="live"] { border-color: color-mix(in srgb, var(--sc-live) 45%, transparent); }

.sc-cta, .share-btn {
  align-self: flex-start; cursor: pointer; font: inherit; font-weight: 650; border-radius: 999px;
  border: 1px solid transparent; transition: transform .15s ease, opacity .15s ease;
}
.sc-cta { background: var(--sc-plus); color: #06110c; padding: 12px 22px; font-size: 15px; }
.app .sc-cta { background: var(--t-text); color: var(--t-bg); }
.share-btn { background: transparent; border-color: var(--sc-line, rgba(127,127,127,.3)); color: inherit; padding: 7px 14px; font-size: 13px; margin-top: 6px; }
.app .mt-share { --sc-line: rgba(var(--t-text-2-rgb), .22); padding: 5px 10px; font-size: 12px; }
.share-btn[data-state="shared"], .share-btn[data-state="downloaded"] { border-color: var(--sc-plus, #5fe0a0); }
:is(.sc-cta, .share-btn):hover:not(:disabled) { transform: translateY(-1px); }
:is(.sc-cta, .share-btn):focus-visible { outline: 2px solid var(--sc-plus, #5fe0a0); outline-offset: 2px; }
.share-btn:disabled { opacity: .6; cursor: progress; }

@keyframes sc-pulse { 50% { opacity: .35; } }
@media (prefers-reduced-motion: reduce) { .sc-session > small i { animation: none; } :is(.sc-cta, .share-btn):hover { transform: none; } }
@media (max-width: 640px) {
  .showcase { padding: 56px 18px 28px; }
  .app .showcase { padding: 4px 0 0; }
  .sc-engine { grid-template-columns: 1fr; }
  .sc-session li { grid-template-columns: 1fr; }
  .sc-session li > :is(em, .signal-countdown, .signal-closed) { grid-column: 1; grid-row: auto; justify-self: start; }
}
/* СГЕНЕРИРОВАНО scripts/type_floor.py — НЕ ПРАВИТЬ РУКАМИ.
   Пол типографики продукта: кнопки 15px, основной текст 14px, подписи 13px.
   Правило пишется ТОЛЬКО там, где вёрстка набрана мельче пола. */

/* ПОЛ ДЛЯ УНАСЛЕДОВАННОГО РАЗМЕРА. Большая часть мелкого текста на экранах вообще
   не имеет своего правила: `small` по умолчанию «меньше родителя», абзац берёт
   размер контейнера, утилита `text-xs` — 12px. Правилом по селектору их не
   поймать. `max()` поднимает мелкое и не трогает крупное: если родитель 18px,
   абзац останется 18. `:where()` даёт нулевую специфичность — любое явное
   правило вёрстки о размере важнее, а мелкие явные уже подняты правилами ниже. */
:where(.app[data-look]) :is(p, li, dd, td, blockquote) { font-size: max(14px, 1em); }
:where(.app[data-look]) :is(small, label, figcaption, dt, caption) { font-size: max(13px, .9em); }
:where(.app[data-look]) .text-xs { font-size: 13px; line-height: 1.35; }

.app[data-look] .future-day-preview>header span { font-size: 13px !important; }
.app[data-look] .future-day-preview small { font-size: 13px !important; }
.app[data-look] .future-day-preview article em { font-size: 13px !important; }
.app[data-look] .community-page .mobile-room-trigger small { font-size: 13px !important; }
.app[data-look] .strategy-choice-list small { font-size: 13px !important; }
.app[data-look] .generator-context-line small { font-size: 13px !important; }
.app[data-look] .mechanic-purpose small { font-size: 13px !important; }
.app[data-look] .mechanic-rules small { font-size: 13px !important; }
.app[data-look] .ticket-context small { font-size: 13px !important; }
.app[data-look] .pocket-manage-status small { font-size: 13px !important; }
.app[data-look] .reward-grid>button>span { font-size: 13px !important; }
.app[data-look] .notification-inbox header span { font-size: 13px !important; }
.app[data-look] .support-categories header span { font-size: 13px !important; }
.app[data-look] .support-faq header span { font-size: 13px !important; }
.app[data-look] .quiet-fields label { font-size: 13px !important; }
.app[data-look] .ticket-category { font-size: 13px !important; }
.app[data-look] .support-hero span { font-size: 13px !important; }
.app[data-look] .support-status-card small { font-size: 13px !important; }
.app[data-look] .settings-list button small { font-size: 13px !important; }
.app[data-look] .session-origin-strip small { font-size: 13px !important; }
.app[data-look] .who-grid p { font-size: 14px !important; }
.app[data-look] .free-offer article p { font-size: 14px !important; }
.app[data-look] .free-offer article span { font-size: 13px !important; }
.app[data-look] .free-offer>[data-slot=button] { font-size: 15px !important; }
.app[data-look] .how article>b { font-size: 13px !important; }
.app[data-look] .how article p { font-size: 14px !important; }
.app[data-look] .demo-switch>span { font-size: 13px !important; }
.app[data-look] .next-lesson>span { font-size: 13px !important; }
.app[data-look] .next-level>span { font-size: 13px !important; }
.app[data-look] .all-sections header span { font-size: 13px !important; }
.app[data-look] .home-challenge>div:nth-child(2)>span { font-size: 13px !important; }
.app[data-look] .learning-summary>div>span { font-size: 13px !important; }
.app[data-look] .free-strategies header span { font-size: 13px !important; }
.app[data-look] .active-challenge>div:nth-child(2)>span { font-size: 13px !important; }
.app[data-look] .reward-summary span { font-size: 13px !important; }
.app[data-look] .balance-card button { font-size: 13px !important; }
.app[data-look] .simple-tabs button { font-size: 13px !important; }
.app[data-look] .explain-card p { font-size: 14px !important; }
.app[data-look] .learning-summary p { font-size: 14px !important; }
.app[data-look] .video>small { font-size: 13px !important; }
.app[data-look] .money-cards small { font-size: 13px !important; }
.app[data-look] .active-challenge p { font-size: 14px !important; }
.app[data-look] .active-challenge>div:last-child small { font-size: 13px !important; }
.app[data-look] .available-list article>span small { font-size: 13px !important; }
.app[data-look] .reward-summary p { font-size: 14px !important; }
.app[data-look] .reward-grid p { font-size: 14px !important; }
.app[data-look] .level-current p { font-size: 14px !important; }
.app[data-look] .level-list p { font-size: 14px !important; }
.app[data-look] .level-list article>.level-cta { font-size: 13px !important; }
.app[data-look] .profile-card p { font-size: 14px !important; }
.app[data-look] .logo small { font-size: 13px !important; }
.app[data-look] .side-level small { font-size: 13px !important; }
.app[data-look] .next-lesson [data-slot=button] { font-size: 15px !important; }
.app[data-look] .home-challenge [data-slot=button] { font-size: 15px !important; }
.app[data-look] .available-list [data-slot=button] { font-size: 15px !important; }
.app[data-look] .profile-card [data-slot=button] { font-size: 15px !important; }
.app[data-look] .risk-strip small { font-size: 13px !important; }
.app[data-look] .stage-action p { font-size: 14px !important; }
.app[data-look] .stage-action [data-slot=button] { font-size: 15px !important; }
.app[data-look] .room-feed p>i { font-size: 13px !important; }
.app[data-look] .room-feed p>span { font-size: 13px !important; }
.app[data-look] .room-feed p b { font-size: 13px !important; }
.app[data-look] .room-feed p small { font-size: 13px !important; }
.app[data-look] .room-list>button em { font-size: 13px !important; }
.app[data-look] .chat-feed p b em { font-size: 13px !important; }
.app[data-look] .access-hero span { font-size: 13px !important; }
.app[data-look] .entitlement-grid article>span { font-size: 13px !important; }
.app[data-look] .recovery-card small { font-size: 13px !important; }
.app[data-look] .admin-status span { font-size: 13px !important; }
.app[data-look] .nav-group>small { font-size: 13px !important; }
.app[data-look] .title-market b { font-size: 13px !important; }
.app[data-look] .balance-card small { font-size: 13px !important; }
.app[data-look] .signal-list article p { font-size: 14px !important; }
.app[data-look] .signal-list article>[data-slot=button] { font-size: 15px !important; }
.app[data-look] .market-hud small { font-size: 13px !important; }
.app[data-look] .market-hud b { font-size: 13px !important; }
.app[data-look] .market-pulse-strip>header span { font-size: 13px !important; }
.app[data-look] .market-pulse-strip>header b { font-size: 13px !important; }
.app[data-look] .market-pulse-strip>div small { font-size: 13px !important; }
.app[data-look] .signal-tech { font-size: 13px !important; }
.app[data-look] .daily-route header span { font-size: 13px !important; }
.app[data-look] .strategy-drop>span { font-size: 13px !important; }
.app[data-look] .route-line small { font-size: 13px !important; }
.app[data-look] .route-line em { font-size: 13px !important; }
.app[data-look] .strategy-drop p { font-size: 14px !important; }
.app[data-look] .strategy-drop>button { font-size: 13px !important; }
.app[data-look] .community-pulse header { font-size: 13px !important; }
.app[data-look] .chat-orbit span { font-size: 13px !important; }
.app[data-look] .community-pulse>p { font-size: 14px !important; }
.app[data-look] .room-tags span { font-size: 13px !important; }
.app[data-look] .binding-progress>span i { font-size: 13px !important; }
.app[data-look] .identity-chain article>span { font-size: 13px !important; }
.app[data-look] .identity-chain small { font-size: 13px !important; }
.app[data-look] .pocket-card header small { font-size: 13px !important; }
.app[data-look] .pocket-card>label { font-size: 13px !important; }
.app[data-look] .pocket-input>span { font-size: 13px !important; }
.app[data-look] .verification-state small { font-size: 13px !important; }
.app[data-look] .no-pocket small { font-size: 13px !important; }
.app[data-look] .no-pocket>button { font-size: 13px !important; }
.app[data-look] .binding-security { font-size: 13px !important; }
.app[data-look] .pocket-identity-card header>div>span { font-size: 13px !important; }
.app[data-look] .pocket-identity-card header p { font-size: 14px !important; }
.app[data-look] .identity-evidence article small { font-size: 13px !important; }
.app[data-look] .identity-evidence article span { font-size: 13px !important; }
.app[data-look] .identity-details b { font-size: 13px !important; }
.app[data-look] .identity-details small { font-size: 13px !important; }
.app[data-look] .identity-toggle { font-size: 13px !important; }
.app[data-look] .session-account-strip small { font-size: 13px !important; }
.app[data-look] .session-account-strip>button { font-size: 13px !important; }
.app[data-look] .session-stage-nav>span>i { font-size: 13px !important; }
.app[data-look] .session-stage-nav small { font-size: 13px !important; }
.app[data-look] .session-signal-head { font-size: 13px !important; }
.app[data-look] .session-signal-body small { font-size: 13px !important; }
.app[data-look] .session-facts small { font-size: 13px !important; }
.app[data-look] .session-decision-panel small { font-size: 13px !important; }
.app[data-look] .session-deal-cockpit>div:last-child>small { font-size: 13px !important; }
.app[data-look] .session-result-panel>div:first-child>small { font-size: 13px !important; }
.app[data-look] .session-review-copy>small { font-size: 13px !important; }
.app[data-look] .session-decision-panel p { font-size: 14px !important; }
.app[data-look] .session-deal-cockpit p { font-size: 14px !important; }
.app[data-look] .session-result-panel p { font-size: 14px !important; }
.app[data-look] .session-review-copy>p { font-size: 14px !important; }
.app[data-look] .session-decision-actions [data-slot=button] { font-size: 15px !important; }
.app[data-look] .session-deal-actions [data-slot=button] { font-size: 15px !important; }
.app[data-look] .session-review-actions [data-slot=button] { font-size: 15px !important; }
.app[data-look] .session-amount-orb small { font-size: 13px !important; }
.app[data-look] .session-amount-orb span { font-size: 13px !important; }
.app[data-look] .session-outcome-grid small { font-size: 13px !important; }
.app[data-look] .session-discipline-score small { font-size: 13px !important; }
.app[data-look] .session-review-checks span { font-size: 13px !important; }
.app[data-look] .session-review-copy label>span { font-size: 13px !important; }
.app[data-look] .session-risk-guard header small { font-size: 13px !important; }
.app[data-look] .session-room-v2 header small { font-size: 13px !important; }
.app[data-look] .session-risk-ladder i { font-size: 13px !important; }
.app[data-look] .session-risk-ladder small { font-size: 13px !important; }
.app[data-look] .session-risk-guard>p { font-size: 14px !important; }
.app[data-look] .session-room-v2 header>b { font-size: 13px !important; }
.app[data-look] .session-room-message>i { font-size: 13px !important; }
.app[data-look] .session-room-message p { font-size: 14px !important; }
.app[data-look] .session-room-message p>b { font-size: 13px !important; }
.app[data-look] .session-room-message p small { font-size: 13px !important; }
.app[data-look] .session-room-v2>button { font-size: 13px !important; }
.app[data-look] .session-truth-note p { font-size: 14px !important; }
.app[data-look] .signal-hub-summary small { font-size: 13px !important; }
.app[data-look] .signal-hub-tabs button { font-size: 13px !important; }
.app[data-look] .signal-stream-list header small { font-size: 13px !important; }
.app[data-look] .signal-stream-list button small { font-size: 13px !important; }
.app[data-look] .signal-stream-list button em { font-size: 13px !important; }
.app[data-look] .signal-stream-list button>strong { font-size: 13px !important; }
.app[data-look] .signal-command-card>header>span { font-size: 13px !important; }
.app[data-look] .signal-command-card>header button { font-size: 13px !important; }
.app[data-look] .signal-command-card>header>div>b { font-size: 13px !important; }
.app[data-look] .signal-command-main small { font-size: 13px !important; }
.app[data-look] .signal-generated-amount small { font-size: 13px !important; }
.app[data-look] .signal-generator-facts small { font-size: 13px !important; }
.app[data-look] .signal-generated-amount span { font-size: 13px !important; }
.app[data-look] .signal-generator-facts b { font-size: 13px !important; }
.app[data-look] .signal-trade-generator>[data-slot=button] { font-size: 15px !important; }
.app[data-look] .signal-access-gate small { font-size: 13px !important; }
.app[data-look] .signal-access-gate p { font-size: 14px !important; }
.app[data-look] .signal-access-gate>[data-slot=button] { font-size: 15px !important; }
.app[data-look] .signal-day-schedule header small { font-size: 13px !important; }
.app[data-look] .signal-day-schedule header>span { font-size: 13px !important; }
.app[data-look] .signal-day-schedule button small { font-size: 13px !important; }
.app[data-look] .signal-day-schedule button span { font-size: 13px !important; }
.app[data-look] .signal-hub-truth p { font-size: 14px !important; }
.app[data-look] .signal-hub-truth [data-slot=button] { font-size: 15px !important; }
.app[data-look] .signal-mode-switch small { font-size: 13px !important; }
.app[data-look] .otc-bot-card>header span { font-size: 13px !important; }
.app[data-look] .otc-bot-card>header b { font-size: 13px !important; }
.app[data-look] .otc-bot-card>div>small { font-size: 13px !important; }
.app[data-look] .strategy-scanner-card>div>small { font-size: 13px !important; }
.app[data-look] .otc-bot-card p { font-size: 14px !important; }
.app[data-look] .signal-machine-line small { font-size: 13px !important; }
.app[data-look] .otc-bot-card>[data-slot=button] { font-size: 15px !important; }
.app[data-look] .strategy-picker small { font-size: 13px !important; }
.app[data-look] .scheduled-session-board>header small { font-size: 13px !important; }
.app[data-look] .scheduled-session-list article>div small { font-size: 13px !important; }
.app[data-look] .scheduled-session-list p { font-size: 14px !important; }
.app[data-look] .scheduled-state { font-size: 13px !important; }
.app[data-look] .scheduled-session-list [data-slot=button] { font-size: 15px !important; }
.app[data-look] .signal-primary-action>span { font-size: 13px !important; }
.app[data-look] .compact-deal-action>button:last-child { font-size: 13px !important; }
.app[data-look] .pocket-identity-card.compact small { font-size: 13px !important; }
.app[data-look] .learning-next-card>div>span { font-size: 13px !important; }
.app[data-look] .strategy-essence>small { font-size: 13px !important; }
.app[data-look] .strategy-mechanic>span>i { font-size: 13px !important; }
.app[data-look] .strategy-mechanic>span>b { font-size: 13px !important; }
.app[data-look] .navigator-decision>small { font-size: 13px !important; }
.app[data-look] .navigator-decision [data-slot=button] { font-size: 15px !important; }
.app[data-look] .navigator-decision>span { font-size: 13px !important; }
.app[data-look] .amir-context-guide span { font-size: 13px !important; }
.app[data-look] .navigator-launcher small { font-size: 13px !important; }
.app[data-look] .guided-amir-tour>header span { font-size: 13px !important; }
.app[data-look] .guided-amir-tour>div small { font-size: 13px !important; }
.app[data-look] .guided-amir-tour>[data-slot=button] { font-size: 15px !important; }
.app[data-look] .tour-step-1 .signal-primary-action:after { font-size: 13px !important; }
.app[data-look] .tour-step-2 .lesson-player:after { font-size: 13px !important; }
.app[data-look] .tour-step-3 .community-chat:after { font-size: 13px !important; }
.app[data-look] .tour-step-4 .next-level-preview-callout:after { font-size: 13px !important; }
.app[data-look] .next-level-preview-callout span { font-size: 13px !important; }
.app[data-look] .future-learning-unlock span { font-size: 13px !important; }
.app[data-look] .future-level-rail small { font-size: 13px !important; }
.app[data-look] .future-cabinet-stage>aside>b { font-size: 13px !important; }
.app[data-look] .future-cabinet-stage>aside i { font-size: 13px !important; }
.app[data-look] .future-stage-label { font-size: 13px !important; }
.app[data-look] .future-cabinet-stage article small { font-size: 13px !important; }
.app[data-look] .future-cabinet-stage article p { font-size: 14px !important; }
.app[data-look] .future-cabinet-actions>small { font-size: 13px !important; }
.app[data-look] .future-preview-bar small { font-size: 13px !important; }
.app[data-look] .future-nav-badge { font-size: 13px !important; }
.app[data-look] .scheduled-session-list article.preview-unlock:before { font-size: 13px !important; }
.app[data-look] .future-learning-unlock p { font-size: 14px !important; }
.app[data-look] .account-figure>span { font-size: 13px !important; }
.app[data-look] .account-side>span { font-size: 13px !important; }
.app[data-look] .account-figure p { font-size: 14px !important; }
.app[data-look] .account-side p { font-size: 14px !important; }
.app[data-look] .account-why p { font-size: 14px !important; }
.app[data-look] .account-hint { font-size: 13px !important; }
.app[data-look] .account-link { font-size: 13px !important; }
.app[data-look] .account-tier header span { font-size: 13px !important; }
.app[data-look] .account-sub header span { font-size: 13px !important; }
.app[data-look] .account-tier p { font-size: 14px !important; }
.app[data-look] .account-sub small { font-size: 13px !important; }
.app[data-look] .pocket-connect>label { font-size: 13px !important; }
.app[data-look] .pocket-answer { font-size: 13px !important; }
.app[data-look] .lesson-error { font-size: 13px !important; }
.app[data-look] .rooms-panel>header span { font-size: 13px !important; }
.app[data-look] .room-row small { font-size: 13px !important; }
.app[data-look] .rooms-note { font-size: 13px !important; }
.app[data-look] .prize-summary span { font-size: 13px !important; }
.app[data-look] .account-moves>header span { font-size: 13px !important; }
.app[data-look] .am-live .signal-stream-facts small { font-size: 13px !important; }
.app[data-look] .am-live .learn-progress small { font-size: 13px !important; }
.app[data-look] .am-live .learn-pick small { font-size: 13px !important; }
.app[data-look] .am-live .profile-hero small { font-size: 13px !important; }
.app[data-look] .am-live .strategy-block > h3 { font-size: 13px !important; }
.app[data-look] .am-live .strategy-body ul.strategy-setup > li > small { font-size: 13px !important; }
.app[data-look] .am-live .settle-console > footer { font-size: 13px !important; }
.app[data-look] .chat-composer-row small { font-size: 13px !important; }
.app[data-look] .today-changes>header span { font-size: 13px !important; }
.app[data-look] .ch-card>small { font-size: 13px !important; }
.app[data-look] .ch-pick { font-size: 13px !important; }
.app[data-look] .ch-blocks small { font-size: 13px !important; }
.app[data-look] .ch-reward small { font-size: 13px !important; }
.app[data-look] .ch-active header small { font-size: 13px !important; }
.app[data-look] .ch-win-eyebrow { font-size: 13px !important; }
.app[data-look] .ch-win-what small { font-size: 13px !important; }
.app[data-look] .ch-your-strategy small { font-size: 13px !important; }
.app[data-look] .ch-unusable small { font-size: 13px !important; }
.app[data-look] .ch-unusable p { font-size: 14px !important; }
.app[data-look] .path-now-eyebrow { font-size: 13px !important; }
.app[data-look] .path-step-eyebrow { font-size: 13px !important; }
.app[data-look] .path-day>header { font-size: 13px !important; }
.app[data-look] .lv-current>span { font-size: 13px !important; }
.app[data-look] .lv-next>span { font-size: 13px !important; }
.app[data-look] .lv-list>header { font-size: 13px !important; }
.app[data-look] .nf-group>header { font-size: 13px !important; }
.app[data-look] .sp-manager>span { font-size: 13px !important; }
.app[data-look] .strategy-live { font-size: 13px !important; }
.app[data-look] .strategy-text-only { font-size: 13px !important; }
.app[data-look] .strategy-shadow { font-size: 13px !important; }
.app[data-look] .rooms-locked small { font-size: 13px !important; }
.app[data-look] .sf-block>header { font-size: 13px !important; }
.app[data-look] .sf-stats small { font-size: 13px !important; }
.app[data-look] .firstrun-facts small { font-size: 13px !important; }
.app[data-look] .firstrun-step small { font-size: 13px !important; }
.app[data-look] .tester-strip { font-size: 13px !important; }
.app[data-look] .tester-strip b { font-size: 13px !important; }
.app[data-look] .tester-strip small { font-size: 13px !important; }
.app[data-look] .tester-form small { font-size: 13px !important; }
.app[data-look] .profile-pop-look .look-why:not(#am-look) { font-size: 13px !important; }
.app[data-look] .lesson-talk-list small:not(#am-talk) { font-size: 13px !important; }
.app[data-look] .lesson-show > li:not(#am-l)::before { font-size: 14px !important; }
.app[data-look] .lesson-steps li:not(#am-l)::before { font-size: 14px !important; }
.app[data-look] .lesson-full > summary:not(#am-l)::after { font-size: 13px !important; }
.app[data-look] .strategy-steps > li:not(#am-s)::before { font-size: 14px !important; }
.app[data-look] .strategy-steps small:not(#am-s) { font-size: 13px !important; }
.app[data-look] .lesson-visual figcaption:not(#am-lf) { font-size: 13px !important; }
.app[data-look] .gen-head small:not(#am-gen) { font-size: 13px !important; }
.app[data-look] .gen-rule-n { font-size: 13px !important; }
.app[data-look] .gen-timer > small { font-size: 13px !important; }
.app[data-look] .tv-mission > div small { font-size: 13px !important; }
.app[data-look] .tv-ring b small { font-size: 13px !important; }
.app[data-look] .tv-learn small { font-size: 13px !important; }
.app[data-look] .lvx-chips.small li { font-size: 14px !important; }
.app[data-look] .rsx-main small { font-size: 13px !important; }
.app[data-look] .rwx-road li em { font-size: 13px !important; }
.app[data-look] .rwx-road > small { font-size: 13px !important; }
.app[data-look] .ch-restart-ask p { font-size: 14px !important; }
.app[data-look] .srx-who em { font-size: 13px !important; }
.app[data-look] .srx-ava { font-size: 13px !important; }
.app[data-look] .srx-bubble time { font-size: 13px !important; }
.app[data-look] .demo-head small { font-size: 13px !important; }
.app[data-look] .demo-pop-card small { font-size: 13px !important; }
.app[data-look] .demo-pop-card em { font-size: 13px !important; }
.app[data-look] .help-msg time { font-size: 13px !important; }
.app[data-look] .help-human small { font-size: 13px !important; }
.app[data-look] .learn-module.entry .entry-body i { font-size: 13px !important; }
.app[data-look] .vl-zapis > summary small { font-size: 13px !important; }
.app[data-look] .tv-video small { font-size: 13px !important; }
.app[data-look] .vl-door small { font-size: 13px !important; }
.app[data-look] .more-cap:not(#am-more) { font-size: 13px !important; }
.app[data-look] .next-step > small { font-size: 13px !important; }
.app[data-look] .next-step .next-step-note { font-size: 13px !important; }
.app[data-look] .next-step .next-step-why { font-size: 13px !important; }
.app[data-look] .vl-answers > p { font-size: 14px !important; }
.app[data-look][data-look="level"][data-tier="4"] [data-slot="button"][data-variant="default"]:not(#am-w) { font-size: 15px !important; }
.app[data-look] .ots-story li::before { font-size: 14px !important; }
.app[data-look][data-look="level"] .member-card small:not(#am-w) { font-size: 13px !important; }
.app[data-look] .mt-board > header { font-size: 13px !important; }
.app[data-look] .mt-facts dt { font-size: 13px !important; }
.app[data-look] .mt-filter > button span { font-size: 13px !important; }
.app[data-look] .mt-day > h3 { font-size: 13px !important; }
.app[data-look] .mt-dir small { font-size: 13px !important; }
.app[data-look] .mt-tag { font-size: 13px !important; }
.app[data-look] .mt-meta i { font-size: 13px !important; }
.app[data-look] .mt-mine small { font-size: 13px !important; }
.app[data-look] .mt-over { font-size: 13px !important; }
.app[data-look] .mt-stamp small { font-size: 13px !important; }
.app[data-look] .mt-stamp span { font-size: 13px !important; }
.app[data-look] .learn-module > h3 i { font-size: 13px !important; }
.app[data-look] .learn-module > p { font-size: 14px !important; }
.app[data-look] .learn-module .body small { font-size: 13px !important; }
.app[data-look] .sc-note { font-size: 13px !important; }
.app[data-look] .sc-trade small { font-size: 13px !important; }
.app[data-look] .sc-results small { font-size: 13px !important; }
.app[data-look] .sc-trade p { font-size: 14px !important; }
.app[data-look] .sc-engine dt { font-size: 13px !important; }
.app[data-look] .sc-session > small { font-size: 13px !important; }
.app[data-look] .sc-session li small { font-size: 13px !important; }
.app[data-look] .mt-share { font-size: 13px !important; }
.app[data-look]:not(.recovery) :is(.more-cap { font-size: 13px !important; }
.app[data-look] .lvx-here > small { font-size: 13px !important; }
.app[data-look] .gen-head small):not(#am-mat) { font-size: 13px !important; }
@media (width<=760px) {
  .app[data-look] .navigator-launcher small { font-size: 13px !important; }
  .app[data-look] .strategy-choice-list small { font-size: 13px !important; }
  .app[data-look] .strategy-world-preview>div:last-child span { font-size: 13px !important; }
  .app[data-look] .available-list>.challenge-choice p { font-size: 14px !important; }
  .app[data-look] .preview-head { font-size: 13px !important; }
  .app[data-look] .preview-signal p { font-size: 14px !important; }
  .app[data-look] .next-signal header b { font-size: 13px !important; }
  .app[data-look] .war-signal>header { font-size: 13px !important; }
  .app[data-look] .next-signal header { font-size: 13px !important; }
  .app[data-look] .next-signal>[data-slot=button] { font-size: 15px !important; }
  .app[data-look] .explain-card p { font-size: 14px !important; }
  .app[data-look] .market-code { font-size: 13px !important; }
  .app[data-look] .market-pulse-strip>div small { font-size: 13px !important; }
  .app[data-look] .pocket-identity-card header p { font-size: 14px !important; }
  .app[data-look] .identity-toggle { font-size: 13px !important; }
  .app[data-look] .session-stage-nav b { font-size: 13px !important; }
  .app[data-look] .session-decision-panel>div:first-child>small { font-size: 13px !important; }
  .app[data-look] .session-result-panel>div:first-child>small { font-size: 13px !important; }
  .app[data-look] .session-deal-cockpit>div:last-child>small { font-size: 13px !important; }
  .app[data-look] .scheduled-session-list [data-slot=button] { font-size: 15px !important; }
  .app[data-look] .mobile-room-trigger small { font-size: 13px !important; }
  .app[data-look] .mobile-room-trigger em { font-size: 13px !important; }
  .app[data-look] .strategy-essence>p { font-size: 14px !important; }
  .app[data-look] .strategy-mechanic>span>b { font-size: 13px !important; }
  .app[data-look] .strategy-meta>span { font-size: 13px !important; }
  .app[data-look] .navigator-kicker { font-size: 13px !important; }
  .app[data-look] .navigator-proof>span { font-size: 13px !important; }
  .app[data-look] .navigator-decision [data-slot=button] { font-size: 15px !important; }
  .app[data-look] .amir-context-guide span { font-size: 13px !important; }
  .app[data-look] .future-level-rail em { font-size: 13px !important; }
  .app[data-look] .future-cabinet-stage>aside>span { font-size: 13px !important; }
  .app[data-look] .future-preview-bar span { font-size: 13px !important; }
  .app[data-look] .future-preview-bar button { font-size: 13px !important; }
}
@media (width>=761px) {
  .app[data-look] main .page small { font-size: 13px !important; }
  .app[data-look] main .page p { font-size: 14px !important; }
  .app[data-look] .session-signal-head { font-size: 13px !important; }
  .app[data-look] .signal-command-card>header>span { font-size: 13px !important; }
  .app[data-look] .session-risk-ladder i { font-size: 13px !important; }
  .app[data-look] .session-room-message>i { font-size: 13px !important; }
  .app[data-look] .session-room-message p small { font-size: 13px !important; }
  .app[data-look] .signal-stream-list button small { font-size: 13px !important; }
  .app[data-look] .signal-stream-list button em { font-size: 13px !important; }
  .app[data-look] .session-room-message p { font-size: 14px !important; }
  .app[data-look] .session-risk-guard>p { font-size: 14px !important; }
  .app[data-look] .signal-stream-list button b { font-size: 13px !important; }
  .app[data-look] .session-room-message p>b { font-size: 13px !important; }
  .app[data-look] .session-room-v2>button { font-size: 13px !important; }
}
@media (min-width: 761px) {
  .app[data-look] .side-level:not(#am-sb) > button { font-size: 13px !important; }
}
/* ─────────────────────────────────────────────────────────────────────────────
   МАТЕРИАЛ: ОТКУДА БЕРЁТСЯ «ДОРОГО» (владелец 24.09)

   Что произошло. Владелец сказал, что сайт выглядит по-детски. Я убрал украшения —
   снежинки, короны, глянец, блики — и не дал ничего взамен. Он посмотрел и сказал точнее:
   «я имел в виду нужен взрослый красивый визуал, а не убирать визуал вообще; сейчас сайт
   выглядит очень печально и плохо». Он прав, и ошибка была моя: я перепутал «убрать
   лишнее» с «сделать хорошо».

   Разница между дешёвым и дорогим тёмным интерфейсом — не в количестве картинок. Она в
   МАТЕРИАЛЕ. Дорогое ощущение дают четыре вещи, и ни одна из них не украшение:

     1. СВЕТ ИМЕЕТ НАПРАВЛЕНИЕ. У настоящей поверхности верхняя грань светлее: свет падает
        сверху. Один пиксель подсветки по верхнему краю карточки превращает плоский
        прямоугольник в предмет. Это не блик на кнопке — это физика, и её читает глаз,
        даже не замечая.
     2. СЛОЁВ БОЛЬШЕ ОДНОГО. Фон, карточка, элемент внутри карточки должны отличаться
        яркостью. Когда всё одного тона, экран читается как пустой лист — ровно то, что
        владелец назвал «печально».
     3. ТЕНЬ ШИРОКАЯ И МЯГКАЯ. Резкая чёрная тень — признак дешёвого шаблона. Глубокая
        мягкая тень на большом радиусе даёт вес, не крича.
     4. ТИПОГРАФИКА ИМЕЕТ ИЕРАРХИЮ. Заголовок крупнее и ПЛОТНЕЕ (отрицательный трекинг),
        служебная подпись мельче и РАЗРЕЖЕННЕЕ. Когда всё набрано одинаково, страница
        выглядит черновиком.

   Чего здесь принципиально нет: картинок, глянца, бликов на кнопках и бегущих отсветов.
   Это слой поверхности, а не слой украшений, и он один на все ступени и все страницы.
   ───────────────────────────────────────────────────────────────────────────── */

.app {
  /* Рёбра и тени — токенами, чтобы «дорого» было одно на весь продукт, а не набиралось
     заново на каждом экране. */
  --m-edge: inset 0 1px 0 rgba(255, 255, 255, .07);
  --m-edge-soft: inset 0 1px 0 rgba(255, 255, 255, .045);
  --m-lift-1: 0 1px 2px rgba(0, 0, 0, .28), 0 8px 24px -12px rgba(0, 0, 0, .55);
  --m-lift-2: 0 2px 4px rgba(0, 0, 0, .32), 0 18px 44px -16px rgba(0, 0, 0, .62);
  --m-hair: rgba(var(--t-border-rgb, 255, 255, 255), calc(.14 * var(--t-border-k, 1)));
}

/* ── ПОВЕРХНОСТИ ────────────────────────────────────────────────────────────
   Один набор правил на все карточки продукта. Перечислены поимённо, а не через `*`:
   сплошное правило задело бы и музейную копию прототипа, которая обязана совпадать с
   оригиналом попиксельно. */
.app:not(.recovery) :is(
  .lvx-here, .lvx-next, .lvx-ladder > article,
  .more-grid.compact, .more-block .more-grid,
  .gen, .gen-bar,
  .account-card, .acc-card, .mt-card,
  .am-state, .tv-deal, .today-hub > section
):not(#am-mat) {
  box-shadow: var(--m-edge), var(--m-lift-1);
}

/* Карточка «ты здесь» — главный предмет на экране уровней, ей вес больше. */
.app:not(.recovery) .lvx-here:not(#am-mat) {
  box-shadow: var(--m-edge), var(--m-lift-2);
  border: 1px solid var(--m-hair);
  /* Мягкий подсвет изнутри сверху: поверхность, а не заливка. */
  background-image: linear-gradient(180deg, rgba(255, 255, 255, .045), transparent 42%);
}

/* Строки списков внутри одной рамки: волосяной разделитель, а не рамка у каждой. */
.app:not(.recovery) .more-grid.compact:not(#am-mat) { border-color: var(--m-hair); }
.app:not(.recovery) .more-grid.compact > button + button:not(#am-mat) {
  border-top-color: var(--m-hair);
}

/* ── ТИПОГРАФИКА: ИЕРАРХИЯ, А НЕ ОДИН РАЗМЕР ────────────────────────────────
   Заголовок страницы был просто крупным. Крупный — не значит главный: главным его делает
   ПЛОТНОСТЬ. Отрицательный трекинг на крупном кегле — то, чем набраны заголовки у всех
   приличных финансовых интерфейсов; он собирает слово в единый блок. */
.app:not(.recovery) .page-title h1:not(#am-mat) {
  letter-spacing: -.022em;
  line-height: 1.04;
}

/* Служебная подпись — наоборот, разреженная и мелкая: она обслуживает, а не спорит. */
.app:not(.recovery) :is(.more-cap, .lvx-here > small, .gen-head small):not(#am-mat) {
  font-size: 11px;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--t-text-3);
  font-weight: 600;
}

/* Всё, что число, — табличными цифрами. Иначе колонки «пляшут» при обновлении, и это
   первое, по чему финансовый интерфейс читается как несерьёзный. */
.app:not(.recovery) :is(.lvx-here h2, .gen-pair, .gen-timer b, .gen-bar-left,
                        .gen-seen, .mt-facts dd, .account-figure h1):not(#am-mat) {
  font-variant-numeric: tabular-nums;
}

/* ── ГЛАВНАЯ КНОПКА: ВЕС БЕЗ ГЛЯНЦА ─────────────────────────────────────────
   Глянцевый градиент и бегущий блик сняты раньше — и кнопка стала плоским прямоугольником
   заливки. Предмету нужна грань: один пиксель света по верхнему ребру и мягкая тень под
   ним. Это не блик: блик рисует выпуклость, грань — только край. */
.app:not(.recovery) [data-slot="button"][data-variant="default"]:not(#am-mat) {
  box-shadow: var(--m-edge), var(--m-lift-1);
  letter-spacing: .005em;
  transition: transform 140ms cubic-bezier(.16, 1, .3, 1), box-shadow 140ms ease-out;
}
.app:not(.recovery) [data-slot="button"][data-variant="default"]:active:not(#am-mat) {
  transform: scale(.985);
  box-shadow: var(--m-edge-soft), 0 1px 2px rgba(0, 0, 0, .3);
}

/* ── ЗНАК СТУПЕНИ: ОПРАВА КАК У ПРИБОРА ─────────────────────────────────────
   Кольцо ранга живёт в круглой оправе. Оправа с гранью и лёгкой глубиной читается как
   деталь прибора; без неё кольцо висит в пустоте и выглядит недорисованным. */
.app:not(.recovery) .lvx .lvx-emblem:not(#am-mat) {
  box-shadow: var(--m-edge), inset 0 0 0 1px var(--m-hair);
  background-color: rgba(var(--t-bg-2-rgb, 12, 18, 22), .55);
}
.app:not(.recovery) .lvx .lvx-emblem.big:not(#am-mat) {
  box-shadow: var(--m-edge), inset 0 0 0 1px var(--m-hair), var(--m-lift-1);
}

/* ── ВОЗДУХ ─────────────────────────────────────────────────────────────────
   Плотность без ритма читается как свалка, а ритм — это одинаковые интервалы между
   блоками. Один шаг на странице вместо трёх разных. */
.app:not(.recovery) .lvx > section:not(#am-mat) { margin-bottom: 18px; }
.app:not(.recovery) .page > .page-title:not(#am-mat) { margin-bottom: 20px; }

@media (prefers-reduced-motion: reduce) {
  .app [data-slot="button"][data-variant="default"] { transition: none; }
}

/* ── ФОН ЗАМОЛКАЕТ, ЧТОБЫ СОДЕРЖИМОЕ ЗАГОВОРИЛО ─────────────────────────────
   У каждой ступени есть «сцена»: два слоя рисованной графики, которые медленно едут по
   фону, плюс частицы. На снимке видно, к чему это привело: линии идут ПОВЕРХ заголовка
   «Уровни» и по шапке, и глаз читает их раньше, чем слово.

   Так дешевеет любой тёмный интерфейс: фон соревнуется с содержимым и выигрывает. В
   дорогих финансовых интерфейсах фон спокойный почти до однотонности — «визуалом» там
   работает само содержимое: карточки, цифры, иерархия.

   Сцена не удалена: цвет мира, свечение и ощущение глубины на месте. Приглушена графика —
   настолько, чтобы она читалась как атмосфера, а не как узор на обоях. Это то же решение,
   что и с гирляндой под заголовком, только на уровне всей страницы. */
/* Вес селектора здесь не прихоть: переменные сцены задаются правилом ступени
   (`.app[data-look][data-tier]`), и более простой селектор до них не достаёт. Первый заход
   именно так и промахнулся — значения в файле стояли, а на экране оставались прежние
   (.95 вместо .16). Поймано замером computed-стиля, а не глазами. */
.app[data-look="level"][data-tier]:not(.recovery):not(#am-mat) {
  --w-far-o: .16;
  --w-near-o: .14;
}
.app:not(.recovery) .market-atmosphere:not(#am-mat) { opacity: .34; }

/* Шапка страницы — единственное место, где фон обязан молчать полностью: там стоит
   заголовок, и он должен быть первым, что видит глаз. */
.app:not(.recovery) .page-title:not(#am-mat) { position: relative; z-index: 1; }

/* ── ОДНО ПРАВИЛО НА ВСЕ КНОПКИ КАБИНЕТА (владелец 26.09) ────────────────────
   Владелец прислал четыре жалобы с разных экранов: кнопка ОТС 500 «игрушная», жёлтая
   кнопка GOLD «режет глаза, текст крупнее и растянуть», два блока в чат Семьи «не
   кликабельны», «Пополнить счёт — можно и правее, место дофига». Это не четыре правки,
   а один корень: у кнопки кабинета не было общего правила. Каждый экран рисовал свою —
   где ссылкой с фоном, где плашкой с текстом, — и размеры у них разъезжались.

   Правило одно и стоит ниже двумя блоками: сама кнопка продукта и ссылки, нарисованные
   кнопками. Разделение вынужденное, а не архитектурное: «Пополнить счёт» и «Пополнить счёт
   у брокера» — это `<a>`, потому что ведут по адресу, и атрибута кнопки у них нет. Человеку
   всё равно, тег это или компонент: он видит кнопку и жмёт. Поэтому цифры у обоих блоков
   одни и те же — иначе рядом стоят два органа управления разной высоты, и тот, что пониже,
   читается как второсортный.

   Что здесь НЕ делается: не трогается цвет и материал — их задаёт мир ступени
   (`product.env.css`). Здесь только геометрия и кегль, то есть то, что у кнопки обязано
   быть одинаковым на всех шести ступенях. */
/* САМА КНОПКА. Компонент `components/ui/button.tsx` эмитит `data-slot="button"` — по нему
   и цепляется единственное правило размера. В самом компоненте его написать нельзя:
   таблица утилит Tailwind взята из восстановленной сборки готовой и не пересобирается,
   поэтому `h-11`/`text-[15px]` там были бы именами классов, которых не существует, —
   разметка изменилась бы, экран нет. Ровно эта ловушка и держала кнопку на 14px.

   Пятнадцать пикселей — граница, ниже которой надпись на цветной заливке перестаёт
   читаться с телефона; 44 в высоту — палец взрослого человека. Отступы по бокам 20,
   потому что надпись, упирающаяся в край заливки, читается как наклейка. Размер `default`
   правится не выборочно: все 92 кнопки кабинета идут именно им, других никто не просит. */
.app:not(.recovery) [data-slot="button"][data-size="default"]:not(#am-mat) {
  min-height: 44px;
  font-size: 15px;
  padding-inline: 20px;
}
/* ССЫЛКИ, НАРИСОВАННЫЕ КНОПКАМИ. Пилюля-комната (`.lvx-chip-go`) сюда не входит нарочно:
   её размер стоит рядом с остальными плашками ступени в `product.css` — плашек в ряду
   бывает четыре, и 44 в высоту у каждой разорвали бы ряд лестницы. */
.app:not(.recovery) :is(.account-cta, .account-topup):not(#am-mat) {
  min-height: 44px;
  font-size: 15px;
  padding-inline: 20px;
}

/* «ПОПОЛНИТЬ СЧЁТ — МОЖНО РАСПОЛОЖИТЬ И ПРАВЕЕ, МЕСТО ДОФИГА» (владелец 26.09).

   Кнопка стояла `inline-flex`: она сжималась до ширины своей надписи и прилипала к левому
   краю правой колонки карточки. Колонка при этом широкая — под ней и справа от надписи
   оставалась пустота, про которую владелец и сказал «место дофига». Причина не в отступе,
   а в том, что кнопка не знала о ширине, в которой живёт.

   Теперь она занимает всю доступную ширину колонки, а стрелка уезжает к правому краю:
   надпись слева, направление справа, между ними воздух. Заодно это увеличивает площадь
   нажатия до всей ширины карточки — на телефоне по такой кнопке промахнуться нельзя.
   Так же разложена и вторая дверь к пополнению, «Пополнить счёт у брокера» в блоке
   «Мой уровень»: одно действие — один вид, на каком бы экране оно ни стояло. */
.app:not(.recovery) :is(.account-topup, .account-cta):not(#am-mat) {
  display: flex;
  width: 100%;
  justify-content: space-between;
  box-sizing: border-box;
}
.app:not(.recovery) :is(.account-topup, .account-cta) svg:not(#am-mat) {
  width: 18px;
  flex: none;
}
/* ПРЕМИАЛЬНЫЙ СЛОЙ (владелец 06.10 утвердил концепт https://claude.ai/artifact/FyANJwftMX7XsiiTEv6Nn7 —
   «вот это уже оно… такой сайт везде»). Подключается последним. Язык: объём и свет вместо плоских
   плашек, живая графика, заголовки Unbounded, текст Onest, официальный тон. */
@font-face { font-family: 'Onest'; font-style: normal; font-weight: 400; font-display: swap; src: url('/app/assets/Onest-400-cyrillic-DayYxulF.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-weight: 400; font-display: swap; src: url('/app/assets/Onest-400-latin-Dun_Rd-l.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-weight: 500; font-display: swap; src: url('/app/assets/Onest-400-cyrillic-DayYxulF.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-weight: 500; font-display: swap; src: url('/app/assets/Onest-400-latin-Dun_Rd-l.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-weight: 600; font-display: swap; src: url('/app/assets/Onest-400-cyrillic-DayYxulF.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-weight: 600; font-display: swap; src: url('/app/assets/Onest-400-latin-Dun_Rd-l.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-weight: 700; font-display: swap; src: url('/app/assets/Onest-400-cyrillic-DayYxulF.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-weight: 700; font-display: swap; src: url('/app/assets/Onest-400-latin-Dun_Rd-l.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: 'Unbounded'; font-style: normal; font-weight: 600; font-display: swap; src: url('/app/assets/Unbounded-600-cyrillic-C627f1f8.woff2') format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Unbounded'; font-style: normal; font-weight: 600; font-display: swap; src: url('/app/assets/Unbounded-600-latin-D5afBTBx.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: 'Unbounded'; font-style: normal; font-weight: 700; font-display: swap; src: url('/app/assets/Unbounded-600-cyrillic-C627f1f8.woff2') format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Unbounded'; font-style: normal; font-weight: 700; font-display: swap; src: url('/app/assets/Unbounded-600-latin-D5afBTBx.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: 'Unbounded'; font-style: normal; font-weight: 800; font-display: swap; src: url('/app/assets/Unbounded-600-cyrillic-C627f1f8.woff2') format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Unbounded'; font-style: normal; font-weight: 800; font-display: swap; src: url('/app/assets/Unbounded-600-latin-D5afBTBx.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; }

/* MANROPE — ФАЙЛ, А НЕ ТОЛЬКО ИМЯ (аудит UX 16.10, UX-2): шрифт объявлен в Обучении, Стратегиях, Призах, Поддержке и
   в оформлении миров, но @font-face не было — браузер рисовал эти разделы системным шрифтом другой ширины. */
@font-face { font-family: 'Manrope'; font-style: normal; font-weight: 400 800; font-display: swap; src: url('/app/assets/Manrope-cyrillic-Dvxsihut.woff2') format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Manrope'; font-style: normal; font-weight: 400 800; font-display: swap; src: url('/app/assets/Manrope-latin-DHIcAJRg.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; }
.app { --pm-display: "Unbounded", "Onest", system-ui, sans-serif; --pm-body: "Onest", system-ui, -apple-system, "Segoe UI", sans-serif;
  /* БАЗОВЫЕ ШРИФТЫ КАБИНЕТА — ФИРМЕННЫЕ (аудит UX 16.10, UX-1): --font-ui/--font-display начинались с -apple-system,
     и заголовок каждого экрана выглядел по-разному на iPhone, Android и ПК. Миры, где задан свой шрифт, его сохраняют —
     здесь только основа, на которую они опираются. */
  --font-ui: var(--pm-body); --font-display: "Onest", system-ui, -apple-system, "Segoe UI", sans-serif; }
.app, .app button, .app input, .app textarea, .app select { font-family: var(--pm-body); }

/* ── ОБЩИЙ ПРЕМИАЛЬНЫЙ ПРОХОД ────────────────────────────────────────────────────────────
   Объём светом: у каждой карточки светлая кромка сверху и мягкий внутренний свет, при наведении
   карточка приподнимается. Заголовки разделов — Unbounded. Главные кнопки — металл с бликом.
   Цвета остаются цветами мира уровня (токены --e-* и --t-*): меняется материал, не палитра. */
.app[data-look="level"] :is(
  .balance-card, .next-signal, .home-challenge, .next-level, .next-lesson, .am-state, .ch-card,
  .account-why, .account-sub, .account-hero, .account-tier, .support-hero, .support-categories, .support-status-card, .support-faq,
  .lv-current, .lv-next, .lv-list, .rooms-panel, .nf-head, .nf-group > article, .path-empty, .path-miles,
  .v2-card, .v2-rs, .vs-history, .v2r-hero, .v2r-road
  /* .lw и .tv-market сняты (06.10): это прозрачные обёртки без фона — рамка Эксклюзива
     (двойная внутренняя линия) на них висела отдельными линиями по краям. */
):not(#am-env):not(#am-pm) {
  box-shadow: inset 0 1px 0 rgba(var(--t-text-rgb, 255,255,255), .10), inset 0 0 40px -20px rgba(var(--t-accent-rgb, 242,193,78), .18),
    var(--e-card-top, 0 0 0 transparent), var(--e-card-shadow, 0 24px 60px -30px rgba(0,0,0,.7)) !important;
  transition: transform .35s cubic-bezier(.2,.9,.25,1.1), box-shadow .35s;
}
.app[data-look="level"] :is(.nf-group > article, .ch-card.ch-variant, .lv-list > *, .v2-card.v2-cur):not(#am-env):hover { transform: translateY(-2px); }

.app main :is(.v2-head h2, .ch-card h2, .account-hero h2, .lv-current h2, .support-hero h2, .v2r-hero h2, .v2s-shead h2, .va-head h2, .ls-sec h2) {
  font-family: var(--pm-display); font-weight: 700; letter-spacing: -.02em; text-wrap: balance;
}
.app [data-slot="button"][data-variant="default"]:not(#am-pm),
.app :is(.v2-btn.gold, .levelup-apply, .ch-empty-actions [data-slot="button"]):not(#am-pm) {
  box-shadow: inset 0 1px 0 rgba(255,255,255,.55), inset 0 -2px 0 rgba(0,0,0,.18), 0 14px 30px -16px rgba(var(--t-accent-rgb, 242,193,78), .85) !important;
  transition: transform .2s, filter .2s, box-shadow .2s;
}
.app [data-slot="button"][data-variant="default"]:not(#am-pm):hover,
.app :is(.v2-btn.gold, .levelup-apply):not(#am-pm):hover { transform: translateY(-1px); filter: brightness(1.06); }
/* Главная сумма и крупные числа — дисплейным шрифтом: цифры читаются как витрина. */
.app main :is(.v2-num, .balance-card > b, .account-hero b, .v2r-hero b) { font-family: var(--pm-display); font-variant-numeric: tabular-nums; letter-spacing: -.02em; }
@media (prefers-reduced-motion: reduce) { .app [data-slot="button"], .app .v2-btn { transition: none !important; } }

/* ── «СЕГОДНЯ» (06.10) ─────────────────────────────────────────────────────────────────── */
.app .tv-deal.pm-deal { position: relative; overflow: hidden; isolation: isolate; min-height: 112px; padding: 22px 24px !important; border-radius: 24px !important; gap: 18px;
  background: radial-gradient(70% 120% at 0% 50%, rgba(var(--t-accent-rgb, 242,193,78), .16), transparent 60%), linear-gradient(180deg, var(--t-surface-2, #11141b), var(--t-surface, #08090c)) !important;
  box-shadow: inset 0 1px 0 rgba(var(--t-text-rgb, 255,255,255), .1), 0 0 0 1px rgba(var(--t-accent-rgb, 242,193,78), .3), 0 40px 80px -40px rgba(var(--t-accent-rgb, 242,193,78), .55) !important;
  transition: transform .35s cubic-bezier(.2,.9,.25,1.1), box-shadow .35s; }
.app .tv-deal.pm-deal:hover { transform: translateY(-2px); }
.pm-deal-bg { position: absolute; inset: 0; width: 200%; height: 100%; z-index: -1; opacity: .55; animation: pm-slide 18s linear infinite; }
.pm-deal-area { fill: rgba(var(--t-accent-rgb, 242,193,78), .07); }
.pm-deal-line { fill: none; stroke: rgba(var(--t-accent-rgb, 242,193,78), .55); stroke-width: 2; vector-effect: non-scaling-stroke; }
@keyframes pm-slide { to { transform: translateX(-50%); } }
.app .pm-deal-gems { display: flex; flex: none; align-items: center; padding-right: 10px; }
.app .pm-deal-gems .mk-orb { display: block; flex: none; width: 44px !important; height: 44px !important; margin-right: -12px; animation-duration: 4s; box-shadow: inset -5px -6px 10px rgba(0,0,0,.55), inset 3px 3px 8px rgba(255,255,255,.18), 0 10px 18px -8px rgba(0,0,0,.8); }
.pm-deal-gems .mk-orb::after { display: none; }
.pm-deal-gems .mk-orb.g-otc { --c: #4aa8ff; --c2: #0a2f7a; } .pm-deal-gems .mk-orb.g-fast { --c: #2fe0a2; --c2: #05523a; }
.pm-deal-gems .mk-orb.g-fx { --c: #ffcf5a; --c2: #7a4a06; } .pm-deal-gems .mk-orb.g-long { --c: #b38cff; --c2: #34127a; }
.app .tv-deal.pm-deal .tv-deal-text b { font-family: var(--pm-display); font-size: clamp(18px, 2vw, 22px); letter-spacing: -.02em; }
.app .tv-mission b, .app .tv-learn b { font-family: var(--pm-display); letter-spacing: -.015em; }
.app .tv-ring .fg { stroke: rgba(var(--t-accent-rgb, 242,193,78), 1); filter: drop-shadow(0 0 6px rgba(var(--t-accent-rgb, 242,193,78), .7)); }
/* Телефон (13.10): правило выше ставит камням 44px с !important, и это телефонное правило без веса не действовало —
   четыре камня съедали ширину, «Сделки в открытую» рвалось посреди слова. */
@media (max-width: 560px) { .app .pm-deal-gems .mk-orb { width: 30px !important; height: 30px !important; margin-right: -9px; }
  .app .tv-deal.pm-deal { padding: 18px 16px !important; gap: 12px; min-height: 96px; } .app .pm-deal-gems { padding-right: 6px; } }
@media (prefers-reduced-motion: reduce) { .pm-deal-bg { animation: none; } }

/* Статус рынка — живой огонёк с волной, а не точка. */
.app .tv-market :is(i, .dot, span[class*="dot"]) { box-shadow: 0 0 0 0 rgba(47,211,154,.6); animation: pm-live 2s ease-out infinite; }
@keyframes pm-live { 0% { box-shadow: 0 0 0 0 rgba(47,211,154,.55); } 100% { box-shadow: 0 0 0 10px rgba(47,211,154,0); } }
.app .tv-deal.pm-deal { grid-template-columns: auto minmax(0, 1fr) auto !important; }

/* ── УРОВНИ (06.10): миры — самоцветы на ступенях, «ты здесь» — большой камень своего мира ── */
.app .lw-cards .lw-card { position: relative; overflow: hidden; padding-top: 74px !important; }
.app .lw-gem { position: absolute !important; left: 16px; top: 14px; width: 50px !important; height: 50px !important; animation-duration: 5s; }
.app .lw-gem b { font-size: 18px !important; font-family: system-ui, sans-serif !important; text-shadow: 0 2px 6px rgba(0,0,0,.5); }
.app .lw-gem::after { display: none; }
.app .lw-gem[data-w="1"] { --c: #f5a85e; --c2: #6a3510; } .app .lw-gem[data-w="2"] { --c: #8fd3ff; --c2: #164a78; }
.app .lw-gem[data-w="3"] { --c: #3fd6a0; --c2: #0b5a40; } .app .lw-gem[data-w="4"] { --c: #ff4d6d; --c2: #6e0b1d; }
.app .lw-gem[data-w="5"] { --c: #ffd36b; --c2: #7a5410; }
.app .lw-card:hover .lw-gem, .app .lw-card.on .lw-gem { transform: scale(1.12) translateY(-3px); animation-play-state: paused; }
/* Ступени: каждый следующий мир стоит чуть выше — лестница видна без слов. */
@media (min-width: 760px) {
  .app .lw-cards { align-items: end; }
  .app .lw-cards .lw-card[data-w="1"] { margin-top: 32px; } .app .lw-cards .lw-card[data-w="2"] { margin-top: 24px; }
  .app .lw-cards .lw-card[data-w="3"] { margin-top: 16px; } .app .lw-cards .lw-card[data-w="4"] { margin-top: 8px; }
}
.app .lw-hero-gem { position: relative; display: grid; place-items: center; width: 140px; height: 150px; margin: 0 auto; }
.app .lw-hero-gem::after { content: ""; position: absolute; left: 14%; right: 14%; bottom: 0; height: 22px; border-radius: 50%;
  background: radial-gradient(closest-side, var(--tier-color, #f2c14e), transparent); opacity: .55; filter: blur(8px); }
.app .lw-gem.big { position: relative !important; left: auto; top: auto; width: 116px !important; height: 116px !important; }
.app .lw-gem.big b { font-size: 34px !important; }
.app .lvx-emblem-host, .app .lvx-emblem-host article { background: none !important; box-shadow: none !important; border: 0 !important; }
.app .lvx-here h2 { font-family: var(--pm-display); font-size: clamp(26px, 3vw, 36px); letter-spacing: -.02em; }

/* ── СТРАТЕГИИ, ЧЕЛЛЕНДЖИ, ПРИЗЫ, ПУТЬ (06.10) ──────────────────────────────────────────── */
/* Плитки стратегий: стекло с цветом схемы, свет снизу, подъём и свечение при наведении. */
.app .v2s-picks .v2s-pick, .app .v2s-picks > button { position: relative; overflow: hidden; isolation: isolate;
  background: radial-gradient(90% 70% at 50% 120%, color-mix(in srgb, var(--sc, #d9b66e) 22%, transparent), transparent 70%), linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.015)) !important;
  box-shadow: inset 0 1px 0 rgba(var(--t-text-rgb, 255,255,255), .1), inset 0 0 0 1px color-mix(in srgb, var(--sc, #d9b66e) 30%, rgba(var(--t-text-rgb, 255,255,255), .06)) !important;
  transition: transform .35s cubic-bezier(.2,.9,.25,1.1), box-shadow .35s !important; }
.app .v2s-picks .v2s-pick:hover, .app .v2s-picks > button:hover { transform: translateY(-3px);
  box-shadow: inset 0 1px 0 rgba(var(--t-text-rgb, 255,255,255), .12), inset 0 0 0 1px color-mix(in srgb, var(--sc, #d9b66e) 60%, transparent), 0 24px 50px -24px var(--sc, #d9b66e) !important; }
.app .v2s-detail { border-radius: 28px; }
.app .v2s-detail h2 { font-family: var(--pm-display); letter-spacing: -.02em; }
/* Челленджи: номер варианта — монета; награда — золотой кубок со светом. */
.app .ch-variant-head > i { width: 36px !important; height: 36px !important; border-radius: 50% !important; display: grid; place-items: center; font-style: normal; font-weight: 800;
  color: var(--t-ink, #2a1c05) !important; background: radial-gradient(circle at 35% 30%, color-mix(in srgb, var(--t-accent, #f2c14e) 30%, #fff), var(--t-accent, #f2c14e) 45%, color-mix(in srgb, var(--t-accent, #f2c14e) 50%, #000) 100%) !important;
  box-shadow: inset -3px -4px 8px rgba(0,0,0,.35), 0 8px 18px -8px rgba(var(--t-accent-rgb, 233,191,92), .8) !important; }
.app .ch-variant-head b { font-family: var(--pm-display); letter-spacing: -.015em; }
.app .ch-reward { border-radius: 22px !important; background: radial-gradient(80% 120% at 0% 50%, rgba(var(--t-accent-rgb, 242,193,78), .2), transparent 60%), rgba(var(--t-text-rgb, 255,255,255), .03) !important;
  box-shadow: inset 0 0 0 1px rgba(var(--t-accent-rgb, 242,193,78), .35), 0 30px 70px -40px rgba(var(--t-accent-rgb, 242,193,78), .7) !important; }
.app .ch-reward > svg, .app .ch-card.ch-top > svg { filter: drop-shadow(0 0 14px rgba(var(--t-accent-rgb, 242,193,78), .6)); }
/* Призы и путь: герой со светом мира, вехи — светящиеся точки на линии. */
.app .v2r-hero { background: radial-gradient(70% 90% at 50% 0%, rgba(var(--t-accent-rgb, 242,193,78), .18), transparent 70%), linear-gradient(180deg, var(--t-surface-2, #11141b), var(--t-surface, #08090c)) !important; border-radius: 28px !important; }
.app .path-miles li::before, .app .path-miles .dot { box-shadow: 0 0 0 4px rgba(var(--t-accent-rgb, 242,193,78), .15), 0 0 14px rgba(var(--t-accent-rgb, 242,193,78), .7) !important; }

/* ── ПЕРВЫЙ КАДР: загрузка входа (06.10) ─────────────────────────────────────────────── */
.session-screen.pm-boot { display: grid; place-items: center; min-height: 100vh; min-height: 100dvh;
  background: radial-gradient(50% 40% at 50% 45%, rgba(var(--t-accent-rgb, 242,193,78), .12), transparent 70%), linear-gradient(180deg, var(--t-surface-2, #11141b), var(--t-surface, #08090c)) !important; }
.pm-boot-core { display: grid; justify-items: center; gap: 12px; color: var(--t-text, #f4f1ea); font-family: "Onest", system-ui, sans-serif; }
.pm-boot-orbit { position: relative; width: 150px; height: 150px; margin-bottom: 6px; animation: pm-orbit 8s linear infinite; }
.pm-boot-arm { position: absolute; left: 50%; top: 50%; width: 0; height: 0; transform: rotate(calc(var(--i) * 90deg)) translateY(-56px); }
.pm-boot-arm .mk-orb { position: absolute; left: -17px; top: -17px; width: 34px; height: 34px; animation: pm-orbit 8s linear infinite reverse; }
.pm-boot-arm .mk-orb::after { display: none; }
.pm-boot-arm .mk-orb.g-otc { --c: #4aa8ff; --c2: #0a2f7a; } .pm-boot-arm .mk-orb.g-fast { --c: #2fe0a2; --c2: #05523a; }
.pm-boot-arm .mk-orb.g-fx { --c: #ffcf5a; --c2: #7a4a06; } .pm-boot-arm .mk-orb.g-long { --c: #b38cff; --c2: #34127a; }
@keyframes pm-orbit { to { transform: rotate(360deg); } }
.pm-boot-arm { animation: none; }
.pm-boot-name { font: 700 22px/1 "Unbounded", "Onest", sans-serif; letter-spacing: -.02em; }
.pm-boot-core small { font-size: 11px; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; color: var(--t-text-3, #9a9ca6); }
.pm-boot-bar { width: 160px; height: 2px; border-radius: 2px; overflow: hidden; background: rgba(var(--t-text-rgb, 255,255,255), .08); }
.pm-boot-bar em { display: block; width: 40%; height: 100%; background: linear-gradient(90deg, transparent, var(--t-accent, #f2c14e), transparent); animation: pm-bar 1.2s ease-in-out infinite; }
@keyframes pm-bar { from { transform: translateX(-100%); } to { transform: translateX(260%); } }
@media (prefers-reduced-motion: reduce) { .pm-boot-orbit, .pm-boot-arm .mk-orb, .pm-boot-bar em { animation: none; } }

/* ── ЧАТЫ (06.10): у комнаты — самоцвет её мира, у менеджера — золотая монета; строки — стекло ── */
.app .srx-head h2 { font-family: var(--pm-display); font-size: clamp(26px, 3vw, 36px); letter-spacing: -.02em; }
.app .srx-card { position: relative; overflow: hidden; border-radius: 20px !important; padding: 16px 18px !important; gap: 16px !important;
  background: linear-gradient(90deg, color-mix(in srgb, var(--rc, #f2c14e) 12%, transparent), rgba(var(--t-text-rgb, 255,255,255), .02) 55%) !important;
  box-shadow: inset 0 1px 0 rgba(var(--t-text-rgb, 255,255,255), .08), inset 0 0 0 1px color-mix(in srgb, var(--rc, #f2c14e) 26%, rgba(var(--t-text-rgb, 255,255,255), .06)) !important;
  transition: transform .3s cubic-bezier(.2,.9,.25,1.1), box-shadow .3s !important; }
.app .srx-card:not(:disabled):hover { transform: translateX(4px); box-shadow: inset 0 1px 0 rgba(var(--t-text-rgb, 255,255,255), .1), inset 0 0 0 1px color-mix(in srgb, var(--rc, #f2c14e) 55%, transparent), 0 20px 44px -24px var(--rc, #f2c14e) !important; }
.app .srx-card > i { --c: var(--rc, #f2c14e); --c2: color-mix(in srgb, var(--rc, #f2c14e) 30%, #050608);
  flex: none; width: 48px !important; height: 48px !important; border-radius: 50% !important; display: grid !important; place-items: center; font-style: normal; font-size: 20px;
  background: radial-gradient(35% 28% at 32% 24%, rgba(255,255,255,.9), transparent 70%), radial-gradient(100% 100% at 30% 25%, var(--c), var(--c2) 70%, #02040a) !important;
  box-shadow: inset -6px -8px 14px rgba(0,0,0,.55), inset 4px 4px 10px rgba(255,255,255,.18), 0 10px 22px -10px var(--c) !important; color: #fff !important; }
.app .srx-card > i svg { width: 22px; height: 22px; color: var(--t-ink, #2a1c05); }
.app .srx-card b { font-family: var(--pm-display); font-size: 15.5px; letter-spacing: -.01em; }
.app .srx-card.manager { --rc: #f2c14e; }
.app .srx-card[data-room="semya"] { --rc: #f5a85e; } .app .srx-card[data-room="ots250"] { --rc: #8fd3ff; }
.app .srx-card[data-room="ots500"] { --rc: #3fd6a0; } .app .srx-card[data-room="exclusive"] { --rc: #ff4d6d; }
.app .srx-card.locked { opacity: .72; }
.app .srx-count { min-width: 26px; height: 26px; border-radius: 13px; display: grid; place-items: center; font-style: normal; font-weight: 800; font-size: 12px; color: #08090c; background: var(--rc, #f2c14e); box-shadow: 0 0 14px var(--rc, #f2c14e); }
/* Комната: пузыри сообщений — стекло, свои — в цвете мира. */
.app .srx-msg .srx-bubble { border-radius: 18px !important; background: rgba(var(--t-text-rgb, 255,255,255), .05) !important; box-shadow: inset 0 0 0 1px rgba(var(--t-text-rgb, 255,255,255), .08) !important; }
.app .srx-msg.mine .srx-bubble { background: linear-gradient(180deg, rgba(var(--t-accent-rgb, 242,193,78), .22), rgba(var(--t-accent-rgb, 242,193,78), .1)) !important; box-shadow: inset 0 0 0 1px rgba(var(--t-accent-rgb, 242,193,78), .35) !important; }
.app .srx-ava { background: radial-gradient(circle at 35% 30%, color-mix(in srgb, var(--t-accent, #f2c14e) 30%, #fff), var(--t-accent, #f2c14e) 45%, color-mix(in srgb, var(--t-accent, #f2c14e) 50%, #000) 100%) !important; color: var(--t-ink, #2a1c05) !important; font-weight: 800; }

/* ── ПОДДЕРЖКА (06.10): золотая монета команды, темы с иконками в светящихся плашках ── */
.app .v2h-head { border-radius: 24px !important; background: radial-gradient(80% 140% at 0% 0%, rgba(var(--t-accent-rgb, 242,193,78), .16), transparent 60%), linear-gradient(180deg, var(--t-surface-2, #11141b), var(--t-surface, #08090c)) !important; }
.app .v2h-ava { position: relative; background: radial-gradient(circle at 35% 30%, color-mix(in srgb, var(--t-accent, #f2c14e) 30%, #fff), var(--t-accent, #f2c14e) 45%, color-mix(in srgb, var(--t-accent, #f2c14e) 50%, #000) 100%) !important; color: var(--t-ink, #2a1c05) !important; font-family: var(--pm-display); font-weight: 800;
  box-shadow: inset -4px -5px 10px rgba(0,0,0,.35), 0 10px 22px -10px rgba(var(--t-accent-rgb, 233,191,92), .8) !important; }
.app .v2h-ava::after { content: ""; position: absolute; right: -1px; bottom: -1px; width: 12px; height: 12px; border-radius: 50%; background: #2fd39a; box-shadow: 0 0 0 2px var(--t-surface, #0b0d12); animation: pm-live 2s ease-out infinite; }
.app .v2h-who b, .app .v2h-head h2 { font-family: var(--pm-display); letter-spacing: -.015em; }
.app .v2h-topics button { border-radius: 16px !important; padding: 14px !important; gap: 12px !important; justify-content: flex-start;
  background: linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.015)) !important; box-shadow: inset 0 1px 0 rgba(var(--t-text-rgb, 255,255,255), .08), inset 0 0 0 1px rgba(var(--t-text-rgb, 255,255,255), .08) !important;
  transition: transform .25s, box-shadow .25s !important; }
.app .v2h-topics button:hover { transform: translateY(-2px); box-shadow: inset 0 0 0 1px rgba(var(--t-accent-rgb, 242,193,78), .45), 0 18px 36px -20px rgba(var(--t-accent-rgb, 242,193,78), .7) !important; }
/* Значок жёстко 18px другим правилом — плашку рисуем тенью-расширением, а не отступом. */
.app .v2h-topics button > svg { flex: none; margin: 8px 8px 8px 8px; border-radius: 4px; color: rgb(var(--t-accent-rgb, 242,193,78));
  background: rgba(var(--t-accent-rgb, 242,193,78), .2); box-shadow: 0 0 0 8px rgba(var(--t-accent-rgb, 242,193,78), .2), 0 0 0 9px rgba(var(--t-accent-rgb, 242,193,78), .35); }
.app .v2h-compose { border-radius: 18px !important; box-shadow: inset 0 0 0 1px rgba(var(--t-text-rgb, 255,255,255), .1), 0 20px 40px -24px rgba(0,0,0,.8) !important; }
.app .v2h-send { background: linear-gradient(180deg, color-mix(in srgb, var(--t-accent, #f2c14e) 35%, #fff), var(--t-accent, #f2c14e) 45%, color-mix(in srgb, var(--t-accent, #f2c14e) 70%, #000)) !important; color: var(--t-ink, #1a1206) !important; }

/* ── ПРИЗЫ (06.10): коллекционные карты — самоцвет мира, голографический перелив, наклон ── */
.app .pz-card { position: relative; overflow: hidden; isolation: isolate; padding-top: 84px !important; border-radius: 22px !important;
  transform: perspective(700px) rotateX(0) rotateY(0); transition: transform .45s cubic-bezier(.2,.9,.25,1.1), box-shadow .45s !important; }
.app .pz-card:hover { transform: perspective(700px) rotateX(6deg) rotateY(-8deg) translateY(-4px); }
.app .pz-card .pz-sigil { display: none; }
.app .pz-gem { position: absolute !important; left: 16px; top: 16px; width: 56px !important; height: 56px !important; }
.app .pz-holo { position: absolute; inset: 0; z-index: -1; pointer-events: none; opacity: .35; mix-blend-mode: screen;
  background: linear-gradient(115deg, transparent 20%, rgba(255,0,170,.25) 35%, rgba(0,220,255,.25) 45%, rgba(255,230,0,.2) 55%, transparent 70%);
  background-size: 250% 100%; animation: pz-holo 6s linear infinite; }
.app .pz-card:hover .pz-holo { opacity: .6; }
@keyframes pz-holo { from { background-position: 100% 0; } to { background-position: -150% 0; } }
.app .pz-card b { font-family: var(--pm-display); letter-spacing: -.015em; }
.app .pz-days .v2-n { font-size: 1.3em; }
.app .v2r-hero h2, .app .v2r-hero b { font-family: var(--pm-display); }
@media (prefers-reduced-motion: reduce) { .app .pz-holo { animation: none; } .app .pz-card:hover { transform: none; } }

/* ── МОЙ ПУТЬ (06.10): вехи — золотые монеты на светящейся линии, следующая веха пульсирует ── */
.app .path-miles { border-radius: 26px !important; background: radial-gradient(60% 50% at 100% 0%, rgba(var(--t-accent-rgb, 242,193,78), .14), transparent 70%), linear-gradient(180deg, var(--t-surface-2, #11141b), var(--t-surface, #08090c)) !important; }
.app .path-miles .path-wr b { font-family: var(--pm-display); font-size: clamp(26px, 3vw, 34px); letter-spacing: -.02em;
  /* Цвет мира, а не всегда золото: в ОТС 250 золотые «60%» стояли посреди льда (07.10). */
  background: linear-gradient(180deg, #fff, color-mix(in srgb, var(--t-accent, #f2c14e) 80%, #fff) 55%, var(--t-accent, #f2c14e)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.app .path-miles ol { position: relative; }
.app .path-miles li > i { position: relative; z-index: 1; border: 0 !important;
  background: radial-gradient(circle at 35% 30%, color-mix(in srgb, var(--t-accent, #f2c14e) 30%, #fff), var(--t-accent, #f2c14e) 45%, color-mix(in srgb, var(--t-accent, #f2c14e) 50%, #000) 100%) !important; color: var(--t-ink, #2a1c05) !important;
  box-shadow: inset -3px -4px 8px rgba(0,0,0,.35), 0 0 16px rgba(var(--t-accent-rgb, 233,191,92), .55) !important; }
.app .path-miles li:not(.done) > i { background: rgba(var(--t-text-rgb, 255,255,255), .04) !important; box-shadow: inset 0 0 0 1.5px rgba(var(--t-accent-rgb, 242,193,78), .5) !important; animation: pm-live 2.2s ease-out infinite; }
.app .path-miles li > div b { font-family: var(--pm-display); letter-spacing: -.01em; }
.app .path-miles li.done + li.done > i::before, .app .path-miles li + li > i::before { box-shadow: 0 0 10px rgba(var(--t-accent-rgb, 233,191,92), .6); }

/* ── СЕМЕЙСТВО v2 — В ЦВЕТАХ МИРА (владелец 06.10: «на ОТС 250 сайт белый, а то, что ты изменил,
   осталось в тех же цветах»). Обучение, стратегии, призы, поддержка, генератор и лента сигналов
   жили на своей тёмной палитре (--v2-*), не связанной с миром. Теперь палитра — из токенов мира:
   на светлом ОТС 250 они светлые, на тёмных мирах — тёмные своего оттенка. */
.app[data-look="level"] :is(.v2-gen, .v2-rs, .v2-help, .v2-rew, .v2-learn, .v2-strat, .vs-history, .vs-hub, .vs-instr, .va, .ls-sec, .lt) {
  --v2-bg: var(--t-bg); --v2-bg2: var(--t-surface);
  --v2-panel: rgba(var(--t-text-rgb), .035); --v2-panel2: rgba(var(--t-text-rgb), .06);
  --v2-line: rgba(var(--t-text-rgb), .09); --v2-line2: rgba(var(--t-text-rgb), .15);
  --v2-t1: var(--t-text); --v2-t2: var(--t-text-2); --v2-t3: var(--t-text-3);
  --v2-surface: color-mix(in srgb, var(--t-surface) 92%, transparent);
  --v2-base: color-mix(in srgb, var(--t-surface) 90%, transparent);
  --v2-glass: linear-gradient(var(--v2-panel), var(--v2-panel)), var(--v2-surface);
}
.app[data-look="level"] :is(.v2-learn, .v2-rew, .v2-strat, .v2-help) { background: transparent !important; color: var(--t-text); }
.app[data-look="level"] :is(.v2-rs, .vs-history, .vs-hub) { background: var(--t-surface) !important; }
/* Подписи камней — ореол цвета фона мира, а не чёрный: на светлом мире чёрный ореол пачкает. */
.app .mk-name { text-shadow: 0 1px 12px var(--t-bg, #000), 0 0 2px var(--t-bg, #000); }
.app .mk-meta { color: var(--t-text-3, #9a9ca6); }

/* ── ОБУЧЕНИЕ В ЦВЕТАХ МИРА (06.10): разделы, подписи карточек и окно статьи брали белый текст
   и тёмный фон числами — на светлом ОТС 250 заголовки пропадали. Обложки (тёмные «экраны»)
   остаются тёмными: это медиа, как кадр видео. */
.app[data-look="level"] .va-sec { color: var(--t-text) !important; background:
    radial-gradient(70% 90% at 0% 0%, color-mix(in srgb, var(--c1) 16%, transparent), transparent 60%),
    radial-gradient(60% 80% at 100% 100%, color-mix(in srgb, var(--c2) 12%, transparent), transparent 62%),
    linear-gradient(180deg, var(--t-surface-2), var(--t-surface)) !important; }
.app[data-look="level"] .va-head h2 { background: linear-gradient(90deg, var(--t-text), color-mix(in srgb, var(--c1) 70%, var(--t-text))) !important; -webkit-background-clip: text !important; background-clip: text !important; color: transparent !important; }
.app[data-look="level"] .va-head p, .app[data-look="level"] .va-r-body small { color: var(--t-text-2) !important; }
.app[data-look="level"] .va-r-body b { color: var(--t-text) !important; }
.app[data-look="level"] .va-r { background: rgba(var(--t-text-rgb), .035) !important; box-shadow: inset 0 0 0 1px rgba(var(--t-text-rgb), .08) !important; }
/* Окно статьи и мастер — поверхность мира и его текст. */
.app[data-look="level"] .va-article { background: linear-gradient(180deg, var(--t-surface-2, #11131a), var(--t-surface, #0b0d12)) !important; color: var(--t-text, #f3efe8) !important; }
.app[data-look="level"] :is(.va-lead, .va-key p, .va-article h2, .ud-take p, .ud-lead) { color: var(--t-text, #fff) !important; }
.app[data-look="level"] .va-art-hero::after { background: linear-gradient(180deg, transparent 20%, var(--t-surface, #121316) 96%); }
/* Названия стратегий на светлом мире — цвет схемы, смешанный с цветом текста, чтобы читались. */
.app[data-look="level"] .v2s-picks :is(b, strong) { color: color-mix(in srgb, var(--sc, var(--t-accent)) 55%, var(--t-text)) !important; }

/* Светлый мир (ОТС 250): цвета состояний темнее — светло-розовый и мятный текст на светлом не читается. */
.app[data-look="level"][data-tier="2"] :is(.wz-alert, .ud-warn, .va-alert, .ud-cmp.bad b, .ud-warn p) { color: #b3122b !important; }
.app[data-look="level"][data-tier="2"] .ud-cmp.good b { color: #0a7a52 !important; }
.app[data-look="level"][data-tier="2"] :is(.wz-check li, .ud-check li, .va-check li) { color: var(--t-text) !important; }
/* Премиальность светлого мира — глубина тенями, а не тёмной заливкой: стекло, мягкий синий свет. */
.app[data-look="level"][data-tier="2"] :is(.mk, .pm-cockpit, .pm-trade, .va-article, .wz, .path-miles, .v2h-head, .srx-card, .pz-card, .tv-deal.pm-deal) {
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9), 0 0 0 1px rgba(31,107,255,.14), 0 30px 70px -36px rgba(31,107,255,.45), 0 10px 24px -14px rgba(11,28,53,.18) !important; }
/* Грань объёмной стрелки на светлом мире — мягкая тень, а не чёрный блок. */
.app[data-look="level"][data-tier="2"] .pm-arrow-back { opacity: .22; }
.app[data-look="level"][data-tier="2"] .pm-arrow { filter: drop-shadow(0 14px 24px rgba(11,28,53,.18)) !important; }

/* ── ОТС 250 · ЧЁРНЫЙ ЛЁД (владелец 07.10 выбрал из подборки шести; «Сапфир» и белый отвергнуты) ──
   Чистый чёрный, электрический ледяной свет по краям стекла и на главной кнопке, белые заголовки
   с ледяным свечением. Контраст — главное: чёрное и голубое без промежуточных оттенков. */
.app[data-look="level"][data-tier="2d"] {
  --t-bg: #000000; --t-bg-rgb: 0, 0, 0; --t-bg-2: #030507;
  --t-surface: #05080c; --t-surface-rgb: 5, 8, 12;
  --t-surface-2: #0a1016; --t-surface-2-rgb: 10, 16, 22;
  --t-elevated: #0e1720;
  --t-text: #ffffff; --t-text-rgb: 255, 255, 255;
  --t-text-2: #c4cbd6; --t-text-2-rgb: 196, 203, 214;
  --t-text-3: #8b93a3; --t-text-3-rgb: 139, 147, 163;
  --t-accent: #29c6ff; --t-accent-rgb: 41, 198, 255;
  --t-accent-soft: #a8ecff; --t-accent-soft-rgb: 168, 236, 255;
  --t-accent-strong: #5fd6ff; --t-accent-deep: #063a52;
  --t-border-rgb: 41, 198, 255; --t-border-strong-rgb: 120, 220, 255;
  --t-ink: #001018;
  --e-page: radial-gradient(55% 32% at 50% -4%, rgba(41, 198, 255, .20), transparent 70%), #000;
  --e-texture: none;
  /* Пакет среды (карточки, главные блоки, вкладки, мобильное меню) — тоже чёрный лёд. До 07.10
     здесь доживали тёмно-синие заливки «Сапфира» из product.dark250.css: челленджи, баланс,
     уровни, счёт, поддержка и путь стояли синими плитами среди чёрного стекла. */
  --e-card: linear-gradient(180deg, rgba(255, 255, 255, .055) 0%, rgba(255, 255, 255, .015) 42%, rgba(4, 7, 11, .78) 100%);
  --e-card-border: 1px solid rgba(41, 198, 255, .22);
  --e-card-top: inset 0 1px 0 rgba(200, 240, 255, .16);
  --e-card-shadow: 0 18px 40px -18px rgba(0, 0, 0, .85);
  --e-hero: linear-gradient(100deg, rgba(41, 198, 255, .13) 0%, transparent 58%), rgba(5, 9, 14, .82);
  --e-hero-border: 1px solid rgba(41, 198, 255, .42);
  --e-inset: rgba(255, 255, 255, .03);
  --e-inset-border: 1px solid rgba(41, 198, 255, .16);
  --e-nav: #020304; --e-head: rgba(2, 3, 4, .86); --e-mnav: rgba(2, 3, 4, .92);
  --e-btn: #29c6ff; --e-btn-fg: #001018; --e-btn-border: 1px solid rgba(190, 240, 255, .7);
  --e-btn-shadow: 0 0 26px -8px #29c6ff, inset 0 1px 0 rgba(255, 255, 255, .45);
  --e-progress: linear-gradient(90deg, #0a8fd0, #29c6ff 60%, #bff0ff);
  --e-mark: conic-gradient(from 210deg at 50% 42%, #e6f8ff, #29c6ff 25%, #04121c 50%, #5fd6ff 72%, #e6f8ff);
}
/* Карта «Мой уровень» в меню: чип переезжает в правый нижний угол (слева — кнопка «Уровни»;
   правило в product.worlds.css перебивалось фоном «Чёрного льда»), и он ледяной, а не золотой. */
.app[data-look="level"][data-tier="2d"] .side-level:not(#am-env):not(#am-w):not(#am-pm) {
  background:
    url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='34' height='26' viewBox='0 0 34 26'%3E%3Cdefs%3E%3ClinearGradient id='i' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop offset='0' stop-color='%23ffffff'/%3E%3Cstop offset='.45' stop-color='%23bfefff'/%3E%3Cstop offset='.7' stop-color='%2329c6ff'/%3E%3Cstop offset='1' stop-color='%23e6f8ff'/%3E%3C/linearGradient%3E%3C/defs%3E%3Crect x='.5' y='.5' width='33' height='25' rx='5' fill='url(%23i)' stroke='%23063a52' stroke-width='.8'/%3E%3Cpath d='M0 9H11M0 17H11M23 9H34M23 17H34M11 0V26M23 0V26M11 13H23' stroke='%23063a52' stroke-opacity='.5' stroke-width='.8' fill='none'/%3E%3C/svg%3E") right 14px bottom 14px / 30px 23px no-repeat padding-box,
    radial-gradient(120% 80% at 0% 0%, rgba(41, 198, 255, .22), transparent 60%) padding-box,
    linear-gradient(160deg, rgba(14, 24, 34, .95), rgba(2, 4, 7, .98)) padding-box !important;
  border: 1px solid rgba(41, 198, 255, .45) !important;
}
/* Меню прокручивается по вертикали; по горизонтали лишние 2 пикселя рисовали полосу прокрутки. */
.app .sidebar { overflow-x: hidden; }
/* Края стекла светятся льдом: тонкая голубая кромка и мягкое свечение наружу. */
.app[data-look="level"][data-tier="2d"] :is(.v2-card, .v2-rs, .vs-history, .ch-card, .srx-card, .pz-card, .path-miles, .v2h-head, .mk, .pm-cockpit, .pm-trade, .tv-deal.pm-deal, .lv-current, .account-hero, .balance-card):not(#am-env):not(#am-pm) {
  box-shadow: inset 0 0 0 1px rgba(41,198,255,.28), 0 0 26px -10px rgba(41,198,255,.55) !important; }
/* Главная кнопка — сплошной электрический лёд со свечением. */
.app[data-look="level"][data-tier="2d"] [data-slot="button"][data-variant="default"]:not(#am-w):not(#am-pm),
.app[data-look="level"][data-tier="2d"] :is(.v2-btn.gold, .pm-cockpit .v2-find-go):not(#am-pm) {
  color: #001018 !important; background: #29c6ff !important; box-shadow: 0 0 30px -6px #29c6ff, inset 0 1px 0 rgba(255,255,255,.45) !important; }
/* Заголовки — белые с ледяным свечением. */
.app[data-look="level"][data-tier="2d"] :is(.page-title h1, .v2-head > h1):not(#am-w):not(#am-pm):not(#am-t) {
  background: none !important; -webkit-background-clip: border-box !important; background-clip: border-box !important;
  color: #ffffff !important; -webkit-text-fill-color: #ffffff !important; text-shadow: 0 0 22px rgba(41,198,255,.45); }
/* Меню и верхняя полоса — тоже чёрный лёд, а не тёмно-синий прежнего варианта. */
.app[data-look="level"][data-tier="2d"] :is(.sidebar, .topbar, header.top, .mobile-nav):not(#am-env):not(#am-w) {
  background: #020304 !important; box-shadow: inset -1px 0 0 rgba(41,198,255,.18) !important; }
.app[data-look="level"][data-tier="2d"] .sidebar :is(.active, [aria-current="page"]):not(#am-env):not(#am-w) {
  background: rgba(41,198,255,.10) !important; box-shadow: inset 0 0 0 1px rgba(41,198,255,.45), 0 0 18px -6px rgba(41,198,255,.6) !important; }

/* ══ ЖИДКОЕ СТЕКЛО — ТОЛЬКО МИР ОТС 250 (владелец 07.10: макет «Чёрный лёд Pro» — для ОТС 250, а не для всех миров) ══
   Цвета — только токены мира (--t-accent*), поэтому каждый мир получает своё стекло: лёд, золото,
   рубин, бирюзу, янтарь. Список карточек — тот же, что СТЕКЛО в app/ZhidkoeSteklo.tsx. */

/* Глубина фона: осколки (холст), прожектор и зерно — под содержимым, над фоном мира. */
.app:is([data-tier="2"], [data-tier="2d"]) { isolation: isolate; }
.lg-deep { position: fixed; inset: 0; width: 100%; height: 100%; z-index: -1; pointer-events: none; }
.lg-beam { position: fixed; left: 50%; top: -30vh; width: 70vw; height: 90vh; transform: translateX(-50%); z-index: -1; pointer-events: none;
  background: radial-gradient(closest-side, rgba(var(--t-accent-rgb, 41,198,255), .16), transparent 70%); filter: blur(30px); animation: lg-beam 10s ease-in-out infinite alternate; }
@keyframes lg-beam { to { transform: translateX(-46%) scale(1.08); opacity: .75; } }
/* Зерно неподвижно и без смешивания слоёв: движение на 4 % прозрачности глазу не видно, а
   перерисовка всего экрана 5 раз в секунду поверх стекла съедала плавность (07.10). */
.lg-grain { position: fixed; inset: 0; z-index: 60; pointer-events: none; opacity: .035;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>"); }

/* Стекло: размытие того, что под ним, блик сверху, лёгкий наклон за мышью. */
.app:is([data-tier="2"], [data-tier="2d"]) :is(.v2-card, .ch-card, .pz-card, .srx-card, .v2h-head, .mk, .pm-cockpit, .pm-trade, .tv-deal, .tv-mission, .tv-learn, .lvx-here, .account-hero, .balance-card, .v2-rs, .vs-history, .lw-card, .v2s-pick, .path-miles, .ud-step):not(.v2-cur) {
  position: relative; isolation: isolate; }
.app:is([data-tier="2"], [data-tier="2d"]) :is(.v2-card, .ch-card, .pz-card, .srx-card, .v2h-head, .mk, .pm-cockpit, .pm-trade, .tv-deal, .tv-mission, .tv-learn, .lvx-here, .account-hero, .balance-card, .v2-rs, .vs-history, .lw-card, .v2s-pick, .path-miles, .ud-step) {
  -webkit-backdrop-filter: blur(16px) saturate(165%); backdrop-filter: blur(16px) saturate(165%);
  transform: perspective(900px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg));
  transition: transform .5s cubic-bezier(.2,.9,.25,1.1), box-shadow .35s; }
/* Блик сверху + свет за курсором (::before свободен у всех, кроме разделов обучения и комнат). */
.app:is([data-tier="2"], [data-tier="2d"]) :is(.v2-card, .ch-card, .pz-card, .v2h-head, .mk, .pm-cockpit, .pm-trade, .tv-deal, .tv-mission, .tv-learn, .lvx-here, .account-hero, .balance-card, .v2-rs, .vs-history, .lw-card, .v2s-pick, .path-miles, .ud-step)::before {
  content: ""; position: absolute; inset: 0; border-radius: inherit; z-index: -1; pointer-events: none;
  background: radial-gradient(120% 60% at 30% -10%, rgba(255,255,255,.13), transparent 45%),
              radial-gradient(420px circle at var(--mx, 50%) var(--my, -40%), rgba(var(--t-accent-rgb, 41,198,255), .17), transparent 62%);
  transition: opacity .3s; }
/* Радужная кромка — преломление на краю стекла (::after свободен у всех, кроме призов и миров). */
@property --lg-a { syntax: "<angle>"; inherits: false; initial-value: 0deg; }
.app:is([data-tier="2"], [data-tier="2d"]) :is(.v2-card, .ch-card, .srx-card, .v2h-head, .mk, .pm-cockpit, .pm-trade, .tv-deal, .tv-mission, .tv-learn, .lvx-here, .account-hero, .balance-card, .v2-rs, .vs-history, .v2s-pick, .path-miles)::after {
  content: ""; position: absolute; inset: 0; border-radius: inherit; padding: 1px; pointer-events: none; z-index: 2;
  background: conic-gradient(from var(--lg-a, 0deg), transparent, rgba(var(--t-accent-rgb, 41,198,255), .85), rgba(255,255,255,.45), rgba(180,140,255,.4), transparent 42%, transparent);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude;
  opacity: .32; transition: opacity .35s; }
.app:is([data-tier="2"], [data-tier="2d"]) :is(.v2-card, .ch-card, .srx-card, .v2h-head, .tv-mission, .tv-learn, .account-hero, .balance-card, .v2-rs, .vs-history, .v2s-pick, .path-miles).lg-hot::after { opacity: .75; }
/* Главные блоки — луч обходит кромку постоянно. */
.app:is([data-tier="2"], [data-tier="2d"]) :is(.mk, .pm-cockpit, .pm-trade, .tv-deal.pm-deal, .lvx-here)::after { opacity: .9; animation: lg-rot 6s linear infinite; }
@keyframes lg-rot { to { --lg-a: 360deg; } }

/* Главная кнопка — по ней пробегает блик (::before: ::after у Эксклюзива занят своим лаком). */
.app:is([data-tier="2"], [data-tier="2d"]) :is([data-slot="button"][data-variant="default"], .v2-btn.gold, .v2-find-go, .levelup-apply, .cta) { position: relative; overflow: hidden; }
.app:is([data-tier="2"], [data-tier="2d"]) :is([data-slot="button"][data-variant="default"], .v2-btn.gold, .v2-find-go, .levelup-apply)::before {
  content: ""; position: absolute; top: 0; bottom: 0; width: 40%; left: -70%; pointer-events: none;
  background: linear-gradient(100deg, transparent, rgba(255,255,255,.6), transparent); transform: skewX(-18deg); animation: lg-sheen 3.6s ease-in-out infinite; }
@keyframes lg-sheen { 60%, 100% { left: 140%; } }

/* Заголовки страниц светятся цветом мира. */
.app:is([data-tier="2"], [data-tier="2d"])[data-look="level"] :is(.page-title h1, .v2-head > h1) { text-shadow: 0 0 28px rgba(var(--t-accent-rgb, 41,198,255), .35); }

/* Телефон: без наклона и с меньшим размытием — плавность важнее. */
@media (max-width: 760px) {
  .lg-grain, .lg-beam { display: none; }
  .app:is([data-tier="2"], [data-tier="2d"]) :is(.v2-card, .ch-card, .pz-card, .srx-card, .v2h-head, .mk, .pm-cockpit, .pm-trade, .tv-deal, .tv-mission, .tv-learn, .lvx-here, .account-hero, .balance-card, .v2-rs, .vs-history, .lw-card, .v2s-pick, .path-miles, .ud-step) {
    -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); transform: none; }
}
@media (prefers-reduced-motion: reduce) {
  .lg-beam, .lg-grain, .app:is([data-tier="2"], [data-tier="2d"]) :is(.mk, .pm-cockpit, .pm-trade, .tv-deal, .lvx-here)::after, .app:is([data-tier="2"], [data-tier="2d"]) [data-slot="button"]::before, .app:is([data-tier="2"], [data-tier="2d"]) .v2-btn::before { animation: none !important; }
}
/* Фон с осколками — только в ОТС 250. */
.app:not([data-tier="2"]):not([data-tier="2d"]) :is(.lg-deep, .lg-beam, .lg-grain) { display: none; }

/* ОТС 250 · обучение: общие разделы (база, стратегии, психология, семья) — оттенки одного льда, а
   не радуга оранжевого, зелёного и розового поверх чёрного стекла. Разделы чужих уровней (ОТС 500,
   Эксклюзив, GOLD) сохраняют цвет своего мира — по нему видно, куда ведёт закрытый раздел. */
.app:is([data-tier="2"], [data-tier="2d"]) .va-sec[data-sec="base"] { --c1: #29c6ff !important; --c2: #0a6cff !important; }
.app:is([data-tier="2"], [data-tier="2d"]) .va-sec[data-sec="free_strats"] { --c1: #7fe3ff !important; --c2: #29c6ff !important; }
.app:is([data-tier="2"], [data-tier="2d"]) .va-sec[data-sec="psych"] { --c1: #a9c4ff !important; --c2: #4f7dff !important; }
.app:is([data-tier="2"], [data-tier="2d"]) .va-sec[data-sec="semya_more"] { --c1: #d8f4ff !important; --c2: #6fb6e6 !important; }
.app:is([data-tier="2"], [data-tier="2d"]) .va-sec[data-sec="stati_rynok"] { --c1: #8fd8ff !important; --c2: #3f8cff !important; }
.app:is([data-tier="2"], [data-tier="2d"]) .va-sec[data-sec="efiry"] { --c1: #a9c4ff !important; --c2: #4f7dff !important; }
.app:is([data-tier="2"], [data-tier="2d"]) .va-sec[data-sec="istorii"] { --c1: #bff0ff !important; --c2: #29c6ff !important; }
/* Активная вкладка «Видео-уроки / Курс / Справочник» — сплошной лёд, как главная кнопка. */
.app[data-tier="2d"] .lp-switch button.on:not(#am-w) { background: #29c6ff !important; color: #001018 !important; box-shadow: 0 0 22px -6px #29c6ff !important; }
/* ОТС 250 · стратегии и «Менеджер» — тоже лёд: золотая полоса «2 из 3» и золотой шар менеджера
   были единственным тёплым пятном на чёрном стекле. Отличие стратегий держит рисунок индикатора. */
.app:is([data-tier="2"], [data-tier="2d"]) .v2-strat [style*="--sc"] { --sc: #29c6ff !important; }
.app:is([data-tier="2"], [data-tier="2d"]) .srx-card.manager { --rc: #bfefff; }
/* Обёртка «Сегодня на рынке» прозрачна: её тень рисовала висящую линию над заголовком (Эксклюзив, 07.10). */
.app .tv-market:not(#am-env):not(#am-w):not(#am-pm) { box-shadow: none !important; }

/* Профиль · вход без Telegram (07.10). */
.app .profile-signin .signin-form { display: grid; gap: 10px; margin-top: 10px; max-width: 420px; }
.app .profile-signin .signin-form label { display: grid; gap: 6px; font-size: 12px; font-weight: 700; color: var(--t-text-2, #c9ccd3); }
.app .profile-signin .signin-form input { padding: 11px 13px; border-radius: 12px; font: inherit; font-size: 15px;
  color: var(--t-text, #fff); background: rgba(var(--t-text-rgb, 255,255,255), .05);
  border: 1px solid rgba(var(--t-accent-rgb, 242,193,78), .28); outline: none; }
.app .profile-signin .signin-form input:focus { border-color: var(--t-accent, #f2c14e); box-shadow: 0 0 0 3px rgba(var(--t-accent-rgb, 242,193,78), .18); }
.app .profile-signin .signin-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.app .profile-signin .signin-actions .ghost { background: transparent !important; color: var(--t-text-2, #c9ccd3) !important; box-shadow: inset 0 0 0 1px rgba(var(--t-text-rgb,255,255,255), .2) !important; }
.app .profile-signin .signin-ok { color: #3fd68f; font-weight: 700; }
.app .profile-signin .signin-err { color: #ff6b6b; font-weight: 700; }

/* Обучение 08.10: вкладки тем и серии в цветах мира (светлый ОТС 250 не должен получать белый текст). */
.app[data-look="level"] .va-tabs button { color: var(--t-text-2); background: rgba(var(--t-text-rgb), .06); box-shadow: inset 0 0 0 1px rgba(var(--t-text-rgb), .1); }
.app[data-look="level"] .va-tabs button.on { color: var(--t-bg, #0b0c0e); background: var(--c1); box-shadow: none; }
.app[data-look="level"] .va-series { background: rgba(var(--t-text-rgb), .03); box-shadow: inset 0 0 0 1px rgba(var(--t-text-rgb), .08); }
.app[data-look="level"] :is(.va-series > header b, .va-r-body b) { color: var(--t-text); }
.app[data-look="level"] .va-r-about { color: var(--t-text-2); }
.app[data-look="level"] .va-r { background: rgba(var(--t-text-rgb), .04); }
.app[data-look="level"] .va-series .va-r { background: rgba(var(--t-text-rgb), .05); }
.app:is([data-tier="2"], [data-tier="2d"]) .va-sec:is([data-sec="start"], [data-sec="strategies"], [data-sec="analysis"]) { --c1: #7fe3ff !important; --c2: #29c6ff !important; }
.app:is([data-tier="2"], [data-tier="2d"]) .va-sec:is([data-sec="basics"], [data-sec="practice"], [data-sec="courses"]) { --c1: #a9c4ff !important; --c2: #4f7dff !important; }
.app:is([data-tier="2"], [data-tier="2d"]) .va-sec[data-sec="risk"] { --c1: #bff0ff !important; --c2: #6fb6e6 !important; }

/* ЖИВОЙ ФОН — НЕПОДВИЖНЫЙ (08.10, замер на слабом телефоне ×20, без видеокарты).
   Фон за каждой страницей держал вечные анимации: «бегущая» линия графика и пульс под SVG-фильтром
   свечения, «дышащая» аура под blur(22px), маячок с анимированной тенью. Каждая заставляла телефон
   перерисовывать большой слой на каждом кадре прокрутки: «Сегодня» 18 → 59 кадров/с, «Обучение»
   17 → 31–38, только от того, что фон перестал двигаться. Вид тот же — линия, свечение и маячок на
   месте, просто неподвижны. Возвращать сюда animation — значит вернуть лаги на всех экранах. */
.market-aura, .market-orbit, .market-orbit::before, .market-orbit::after, .market-beacon,
.chart-line-glow, .chart-pulse, .market-canvas *, .market-pulse-strip::before { animation: none !important; }

/* ПЕРЕНОС ВХОДА В ОБЫЧНЫЙ БРАУЗЕР (11.10) — полоска во встроенном браузере Telegram. */
.tg-handoff { position: fixed; top: env(safe-area-inset-top, 0px); left: 0; right: 0; z-index: 110; display: flex; align-items: center;
  gap: 10px; padding: 9px 12px; font-size: 13px; line-height: 1.3; color: var(--t-text, #f4f1ea);
  background: color-mix(in srgb, var(--t-surface, #0b0d12) 88%, var(--t-accent, #f2c14e)); border-bottom: 1px solid rgba(var(--t-accent-rgb, 242, 193, 78), .4); }
.tg-handoff span { flex: 1; min-width: 0; }
.tg-handoff button { flex: none; border: 0; border-radius: 10px; padding: 8px 12px; font-weight: 800; font-size: 12.5px; cursor: pointer;
  color: var(--t-ink, #1a1205); background: var(--t-accent, #f2c14e); }
.tg-handoff button.x { background: transparent; color: var(--t-text, #f4f1ea); padding: 6px; }

/* НИЖНЕЕ МЕНЮ БЕЗ ЗАПЛАТОК (аудит UX 16.10, UX-4). С 19.09 под каждой подписью меню лежала своя тёмная плашка,
   чтобы узор мира не пересекал слова, — это видно на каждом экране и выглядит заплаткой. Вместо плашек — плотная
   сама панель: узор под ней приглушён целиком, подписи читаются без подложек. */
.app[data-look="level"] .mobile-nav:not(#am-nav) {
  background: color-mix(in srgb, var(--t-bg, #07080a) 93%, transparent) !important;
  -webkit-backdrop-filter: blur(18px) saturate(140%); backdrop-filter: blur(18px) saturate(140%);
}
.app[data-look="level"] .mobile-nav button:not(#am-nav) > span { background: none !important; padding: 0 !important; border-radius: 0 !important; }

/* ПОДПИСЬ НАД ЗАГОЛОВКОМ ЭКРАНА (UX-3): была «AMIR MARKETS / СИГНАЛЫ» моноширинным шрифтом, который есть только на
   Windows, — читалась как интерфейс разработчика. Теперь бренд фирменным шрифтом, раздел называет сам заголовок. */
.app .page-title > div > span:first-child:not(#am-w) { font: 700 11px/1.2 var(--pm-body) !important; letter-spacing: .14em !important; text-transform: uppercase; }

/* ОДНА ШКАЛА ЗАГОЛОВКОВ (аудит UX 16.10, UX-1): h1 разделов были 28, 30, 34, 35 и 58 px с весом от 650 до 800 —
   переходя из «Обучения» в «Сигналы», человек видел два разных продукта. Размер и вес — одни на весь кабинет;
   шрифт мира (Эксклюзив, GOLD) не трогается, только размер. Витрина гостя и первые шаги — свои, их не касается. */
.app main .page h1:not(#am-w), .app main .page-title h1:not(#am-w) {
  font-size: clamp(28px, 2.6vw + 14px, 40px) !important; font-weight: 700 !important; line-height: 1.1 !important; letter-spacing: -.01em;
}
/* ═══════════════════════════════════════════════════════════════════════════
   ПЕРЕНОС ТЕКСТА И ПРОПОРЦИИ — ОДНО ПРАВИЛО НА ВСЕ ЭКРАНЫ.

   Владелец 25–26.09, дословно: «Не нравится что текст однотипный, и вылазит за
   рамку» · «Вылезло за рамку поставить лучше!» · «Текст не читабелен, что там
   написано непонятно» · «галочки сплюснуты, текст рядом плохо читается» ·
   «мелкий текст открывается на весь экран; везде должна быть
   пропорциональность».

   ЧТО ИЗМЕРЕНО, А НЕ ПРЕДПОЛОЖЕНО. Прибор `scripts/probe` прогнан по живому
   кабинету в трёх ширинах (1440 / 390 / 320) по всем разделам. Пока в текстах
   короткие слова, вёрстка держится; стоит попасть длинному слову без пробелов —
   имя счёта `AM20481`, склеенный заголовок, ссылка, название пары — и разом
   вылезают 46 коробок за свои границы и 74 элемента за край экрана. То есть
   «вылезло за рамку» — не про один блок, а про то, что перенос не задан НИГДЕ.

   ПОЧЕМУ ИМЕННО ЭТИ ТРИ ПРАВИЛА.
   1. Перенос наследуется от корня кабинета — значит его нельзя забыть на новом
      экране. До этого `overflow-wrap` стоял в девяти местах по одному, и каждая
      новая жалоба добавляла десятое.
   2. Ребёнок флекса по умолчанию не может стать уже своего содержимого
      (`min-width: auto`) — поэтому длинное слово РАЗДВИГАЕТ ряд и выносит его за
      экран, даже когда перенос разрешён. `min-width: 0` снимает именно это.
   3. Значок (галочка, часы, замок) в ряду с текстом сжимается наравне с текстом,
      и человек видит «сплюснутую галочку». `flex-shrink: 0` запрещает сжимать
      значок: уступает место текст, а не картинка.

   `:where()` даёт нулевую силу: любое осознанное правило вёрстки об этих
   свойствах остаётся сильнее. Музейная копия слой не подключает — селекторы
   начинаются с `.app[data-look]`, а этот признак есть только в продукте.
   ═══════════════════════════════════════════════════════════════════════════ */

/* 1. ПЕРЕНОС ДЛИННОГО СЛОВА. Наследуется от корня — на любом экране, включая те,
      которых ещё нет. `anywhere` вместо `break-word`: он же уменьшает
      минимальную ширину блока, поэтому длинное слово не распирает ряд флекса. */
:where(.app[data-look]) {
  overflow-wrap: anywhere;
  word-break: normal;
}

/* Числа и время не рвём посередине: «$1284.50» и «21:40» читаются целиком — им
   разрешено уехать на следующую строку, но не развалиться.
   Список УЗКИЙ нарочно. Первый заход включил сюда `[class*="num"]`,
   `[class*="sum"]` и `[class*="pair"]` — и попал по КОНТЕЙНЕРАМ
   (`history-summary`, `path-numbers`, `gen-pairs`): контейнеру этот запрет
   возвращает большую минимальную ширину, и прибор тут же показал три НОВЫХ выхода
   за край экрана на 320px. Послабление сломало то, что лечило, поэтому здесь
   только те, кто заведомо не контейнер. */
:where(.app[data-look]) :is(time, code, kbd, [class*="price"]) {
  overflow-wrap: break-word;
}

/* 2. РЕБЁНОК ФЛЕКСА МОЖЕТ СТАТЬ УЖЕ СВОЕГО ТЕКСТА. Для блочных элементов вне
      флекса правило ничего не меняет — там ширину задаёт родитель. */
:where(.app[data-look]) :is(div, section, article, header, footer, aside, main, nav,
  p, span, b, strong, em, small, label, li, dd, dt, figure, figcaption, summary,
  h1, h2, h3, h4, h5, h6, button, a, td, th, form, fieldset) {
  min-width: 0;
}

/* 3. ЗНАЧОК НЕ СЖИМАЕТСЯ ТЕКСТОМ РЯДОМ. Галочка обязана остаться галочкой:
      место уступает текст, потому что текст умеет переноситься, а картинка нет.
      Квадратность значка держит отдельное правило `.page .lucide{height:auto}`
      (25.09) — здесь именно про сжатие вбок. */
:where(.app[data-look]) :is(svg, img, .lucide) {
  flex-shrink: 0;
}

/* Галочка-переключатель — орган управления, а не подпись: палец попадает в
   18px, а не в системные 13px, и текст рядом идёт своей строкой. */
:where(.app[data-look]) input:is([type="checkbox"], [type="radio"]) {
  flex: none;
  width: 18px;
  height: 18px;
}

/* Ряд «галочка + текст»: значок сверху по первой строке, а не по середине
   абзаца — иначе при переносе текста галочка уезжает в середину блока и
   «текст рядом плохо читается». */
:where(.app[data-look]) :is(li, article, label):has(> :is(svg, i, .lucide) + *) {
  align-items: start;
}

/* 4. ДЛИНА СТРОКИ. Строка во всю ширину компьютера (1440px — это ~150 знаков)
      читается глазом хуже, чем короткая: глаз теряет начало следующей строки.
      Ограничение щедрое (78 знаков) и только для основного текста в потоке —
      заголовки, таблицы и плитки не тронуты. */
:where(.app[data-look]) .page :is(p, li) {
  max-width: 78ch;
}

/* 5. В КОЛОНКЕ ФИКСИРОВАННОЙ ШИРИНЫ ЗАПРЕТ ПЕРЕНОСА МОЖЕТ ТОЛЬКО ВЫЛЕЗТИ.
      Прибор после правил 1–3 оставил ровно три места: подпись логотипа и название
      ступени в боковом меню — им задан `white-space: nowrap`, но нет ни обрезки,
      ни троеточия. У бокового меню ширина постоянная, поэтому длинное название
      («Испытание до золота») там не сокращается, а буквально вылезает на
      содержимое страницы. Перенос честнее: строк станет две, но всё видно.
      Там, где `nowrap` сопровождён троеточием (имена в списке чатов), правило не
      нужно — это осознанная обрезка, и она остаётся. */
:where(.app[data-look]) .sidebar :is(.logo b, .logo small, .side-level > b, .side-level small) {
  white-space: normal;
}

/* 6. КОМУ ВЁРСТКА ЗАПРЕТИЛА ПЕРЕНОС — ТОМУ НЕЛЬЗЯ СНИМАТЬ МИНИМАЛЬНУЮ ШИРИНУ.
      Названию ступени в боковом меню перенос запрещён жёстко
      (`white-space: nowrap !important`, product.css). Правило 2 разрешило этому
      блоку сжиматься — и он сжался до 41px при содержимом 103px, то есть слово
      «Exclusive» полезло на текст страницы. Прибор показал это на ВСЕХ разделах ПК
      сразу, как новую беду от моей же правки. Возвращаем минимальную ширину по
      содержимому: в колонке 209px слово помещается целиком. */
:where(.app[data-look]) .side-level > b {
  min-width: max-content;
}

/* 7. НАЗВАНИЕ РАЗДЕЛА В НИЖНЕЙ ПОЛОСЕ НЕ РВЁТСЯ ПОСЕРЕДИНЕ СЛОВА.
      Снимок телефона после правил 1–2: «Обучение» разорвалось на «Обучени» и «е».
      Для абзаца разрыв длинного слова — спасение, для названия раздела — мусор:
      меню читают одним взглядом, а не по слогам. Колонок в полосе пять, названия
      короткие («Сигналы», «Чаты»), поэтому запрет разрыва там ничем не грозит.
      Боковому меню тот же запрет НЕ даётся нарочно: прибор показал, что с ним
      длинное название вылезает из колонки на 235px прямо на содержимое страницы —
      в колонке шириной 209px перенос честнее разрыва. */
:where(.app[data-look]) .mobile-nav button {
  overflow-wrap: normal;
}

/* ДЛИННАЯ НАДПИСЬ КНОПКИ ПЕРЕНОСИТСЯ, А НЕ ОБРЕЗАЕТСЯ (29.09, предвыпускной обход).
   Кнопка из общей библиотеки держит надпись в одну строку и прячет лишнее без многоточия.
   На телефоне шириной 320 «Неделя OTS 500 за испытание» просила 263px при 254 доступных —
   и человек читал обрубок «…за испытани». Это класс, а не одна кнопка: любая длинная
   надпись на узком экране резалась так же. Поэтому правило одно на все кнопки кабинета,
   и только на узком экране — на широком надпись и так помещается. */
@media (max-width: 420px) {
  :where(.app[data-look]) .page [data-slot="button"] {
    white-space: normal;
    height: auto;
    min-height: 2.25rem;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    line-height: 1.25;
    text-align: center;
  }
}
/* ПРОПОРЦИИ ОКОН И ВНУТРЕННИЕ ОТСТУПЫ БЛОКОВ.
   ─────────────────────────────────────────────────────────────────────────────
   Две правки владельца, которые не ловит ни один прибор: они не про перенос слов и
   не про размер шрифта, их видно только глазами.

   №7 (список 25.09): «мелкий текст открывается на весь экран; везде должна быть
   пропорциональность». Соседняя правка того же корня — «окно видео занимает весь
   экран при открытии раздела» — уже закрыта в `product.css` (запись ограничена по
   высоте, а не по ширине), поэтому здесь её не трогаем и вторым правилом не спорим.

   Почему так получалось. Окна кабинета — это нижняя шторка телефона: снизу, во всю
   ширину, от края до края. Правило шторки включено по ширине окна «1100 пикселей и
   уже» — потому что когда-то его писали для телефона. Но под эту мерку попадает и
   ноутбук, и окно браузера в половину монитора, и Telegram на рабочем столе. Замер
   на живом кабинете: окно шириной 1024 — шторка 1008 пикселей (98% экрана) на две
   строки текста высотой 136 пикселей. Человек открывает «тихий режим» и получает
   полосу во весь экран ради одного предложения. Это и есть «нет пропорциональности»:
   размер окна перестал зависеть от того, сколько в нём содержимого.

   Как должно быть. Окно — по содержимому, с разумным потолком по ширине и высоте,
   и с видимой полосой фона вокруг: человек должен видеть, что это ОКНО поверх
   кабинета, а не новый экран. Телефон не трогаем: там шторка во всю ширину —
   привычное и правильное поведение, менять его значит сломать то, что не ломалось.

   Поэтому правится ровно средняя полоса ширин (от 761 до 1100) — планшет, ноутбук,
   половина монитора. Слой стоит последним и ничего не знает ни про цвет, ни про
   шрифт: он отвечает только за размер окна и внутренний отступ блока. */

/* ── 1. ОКНО ПО СОДЕРЖИМОМУ, А НЕ ВО ВЕСЬ ЭКРАН ──────────────────────────────
   Правила ниже намеренно БЕЗ `.app`: они должны догонять окно и на входе, и на
   гостевой, где кабинета ещё нет. Силу им даёт порядок слоёв — этот файл подключается
   последним, — а не утяжелённый прицел. */

@media (min-width: 761px) and (max-width: 1100px) {
  [data-slot="dialog-content"],
  .mechanic-dialog,
  .signal-guide-dialog,
  .trade-generator-dialog.strategy-world,
  .future-cabinet-dialog,
  .levelup-dialog {
    /* Потолок ширины у каждого окна свой (ниже), общий — самый узкий. */
    --am-okno: 520px;
    left: 50% !important;
    right: auto !important;
    top: 50% !important;
    bottom: auto !important;
    margin: 0 !important;
    min-width: 0 !important;
    width: min(var(--am-okno), 100vw - 64px) !important;
    max-width: min(var(--am-okno), 100vw - 64px) !important;
    /* Высота — по содержимому; потолок оставляет полосу фона сверху и снизу, чтобы
       окно читалось как окно. Длинное содержимое прокручивается внутри окна. */
    max-height: 86dvh !important;
    overflow: hidden auto !important;
    border-radius: 22px !important;
    transform: translate(-50%, -50%) !important;
  }

  /* Потолки по содержимому: где текст — уже, где таблица и картинки — шире. */
  .mechanic-dialog { --am-okno: 590px; }
  .signal-guide-dialog { --am-okno: 520px; }
  .trade-generator-dialog.strategy-world { --am-okno: 640px; }
  .future-cabinet-dialog { --am-okno: 760px; }
}

/* На телефоне шторка остаётся во всю ширину — но не во всю ВЫСОТУ: полоса фона
   сверху говорит человеку, что кабинет никуда не делся и окно закрывается.
   Окно «уровень открыт» здесь не названо: у него свой, более точный потолок высоты —
   он оставляет место нижнему меню, и перебивать его отсюда значит спорить с решением,
   принятым ради этого меню.
   Прицел без `.app` намеренно: вход и гостевая живут ВНЕ кабинета, а окно
   восстановления доступа там такое же и раздувалось так же. */
@media (max-width: 760px) {
  [data-slot="dialog-content"],
  .mechanic-dialog,
  .signal-guide-dialog,
  .trade-generator-dialog.strategy-world {
    max-height: 88dvh !important;
  }
}

/* ── 2. ТЕКСТ НЕ ПРИЖАТ К КРАЮ БЛОКА ───────────────────────────────────────── */

/* Владелец: «Текст бы чуть в право сдвинуть».
   Блок счёта («POCKET · ••4563 · Счёт подключён · Пополнить счёт») отделялся от
   суммы тонкой чертой слева, и отступ 14 пикселей был отступом ОТ ЧЕРТЫ. Потом слой
   среды сделал этот блок вложенной карточкой — с рамкой по кругу и своим фоном, —
   а на узком экране правило телефона черту убирает и вместе с ней обнуляет отступ.
   Замер на живом: текст начинался в 1 пикселе от рамки. Буквы липли к рамке со всех
   сторон, и «Пополнить счёт» тоже — отсюда и «сдвинуть правее».
   Отступ теперь свой, у самого блока, и не зависит от того, есть черта или нет. */
.app .account-side {
  padding: 14px !important;
}
/* ЕДИНЫЙ ЦВЕТ МИРА (владелец 09.10: «в жёлтом мире подсветка синяя, в Семье синяя, где-то зелёная… нужна
   нормальная система: везде одинаково, ничего не должно меняться»).

   ПРАВИЛО. Оформление — кнопки, свечения, активные вкладки, меню, линии графиков, камни видов сделки, «лицо»
   стратегии, экран сделки — красится ТОЛЬКО цветом своего мира (--t-accent из палитры product.css).
   Цвет другого мира допустим лишь там, где экран рассказывает о других мирах (уровни, список комнат,
   комнаты в обучении), и только ровно его собственный цвет. Плюс/минус сделки — зелёный/красный: это смысл.

   Почему файл, а не правка «по месту»: до 09.10 таблиц «мир → цвет» было четыре (палитра, премиум-слой, экран
   сделки, выбор вида) плюс цвета, зашитые в компоненты, — они и разъехались. Аудит по всем мирам и разделам
   (scratchpad/audit_world_colors.py) нашёл 5 источников чужого цвета; здесь они сведены к палитре мира.
   Новое оформление берёт var(--t-accent) / var(--t-on-accent), а не свой hex. */

/* Текст на заливке цветом мира: тёмный на светлых акцентах, белый на тёмных (ОТС 250 синий, Эксклюзив). */
.app[data-look="level"] { --t-on-accent: #0b0c0e; }
.app[data-look="level"]:is([data-tier="2"], [data-tier="4"]) { --t-on-accent: #ffffff; }

/* 1. Камни видов сделки («Сигналы», «Сегодня») — оттенки цвета мира, а не синий/зелёный/жёлтый/фиолетовый.
   13.10: и в «Обычном» оформлении тоже (Амир: «захожу на обычный стиль, а там жёлтые, синие»). У «Обычного» свой
   --t-accent из палитры product.css, поэтому правило одно на все виды. */
.app :is(.g-otc .mk-orb, .mk-orb.g-otc):not(#am-wc) { --c: var(--t-accent); --c2: color-mix(in srgb, var(--t-accent) 35%, #000); }
.app :is(.g-fast .mk-orb, .mk-orb.g-fast):not(#am-wc) { --c: color-mix(in srgb, var(--t-accent) 65%, #fff); --c2: color-mix(in srgb, var(--t-accent) 45%, #000); }
.app :is(.g-fx .mk-orb, .mk-orb.g-fx):not(#am-wc) { --c: color-mix(in srgb, var(--t-accent) 82%, #000); --c2: color-mix(in srgb, var(--t-accent) 22%, #000); }
.app :is(.g-long .mk-orb, .mk-orb.g-long):not(#am-wc) { --c: color-mix(in srgb, var(--t-accent) 50%, #fff); --c2: color-mix(in srgb, var(--t-accent) 30%, #000); }
.app :is(.g-max .mk-orb, .mk-orb.g-max):not(#am-wc) { --c: var(--t-accent); --c2: color-mix(in srgb, var(--t-accent) 35%, #000); }

/* 2. «Лицо» стратегии — цвет мира во всех мирах (раньше так было только у ОТС 250). */
.app[data-look="level"] .v2-strat [style*="--sc"] { --sc: var(--t-accent) !important; }

/* 3. Экран сделки и график без цифр — цвет мира вместо золота (золото — цвет мира GOLD). */
.app[data-look="level"] :is(.dl, .tm) { --gold: var(--t-accent); }
.app[data-look="level"] .dl .v2-btn.gold,
.app[data-look="level"] .dl.pm-res .v2-btn.gold { color: var(--t-on-accent) !important;
  background: linear-gradient(180deg, color-mix(in srgb, var(--t-accent) 55%, #fff), var(--t-accent)) !important;
  box-shadow: 0 18px 38px -18px var(--t-accent), inset 0 1px 0 rgba(255, 255, 255, .5) !important; }
.app[data-look="level"] .dl-st.done i { color: var(--t-on-accent); }
.app[data-look="level"] .tm-bar i { background: linear-gradient(90deg, var(--t-accent), color-mix(in srgb, var(--t-accent) 45%, #fff)); }
.app[data-look="level"] .tm-pnl.flat { --pc: var(--t-accent); }

/* 4. Второй/третий цвет мира — оттенки СВОЕГО цвета (палитра product.css давала чужие: у ОТС 250 третий —
   фиолетовый, у Эксклюзива второй и третий — шампанское, почти цвет GOLD). Любой экран, взявший
   --t-third / --t-alt-soft, получает теперь свой мир, а не соседний. */
.app[data-look="level"][data-tier="2"] {
  --t-third: #4f8bff; --t-third-rgb: 79, 139, 255;
  --t-third-soft: #9cbcff; --t-third-soft-rgb: 156, 188, 255;
  --t-third-deep: #12306e; --t-third-deep-rgb: 18, 48, 110;
}
.app[data-look="level"][data-tier="2d"] { --t-third-deep: #0a3a66; --t-third-deep-rgb: 10, 58, 102; }
.app[data-look="level"][data-tier="4"] {
  --t-alt-soft: #f0a3b0; --t-alt-soft-rgb: 240, 163, 176;
  --t-third: #e0566c; --t-third-rgb: 224, 86, 108;
  --t-third-soft: #ffb3bf; --t-third-soft-rgb: 255, 179, 191;
  --t-third-deep: #5e1420; --t-third-deep-rgb: 94, 20, 32;
}

/* 5. Выбранный вид сделки («ОТС», «Быстрые»…) больше не перекрашивает экран в свой цвет (синий/зелёный/
   фиолетовый поверх GOLD — найдено живым проходом 09.10, аудит шёл без выбранного вида). Подсветка
   выбора остаётся, но цветом мира. */
.app { --sig-w: var(--t-accent); }  /* 13.10: и в «Обычном» — там ОТС красил кнопки в синий при зелёном камне */
.app[data-look="level"] .pm-cockpit .v2-pp.on { color: var(--t-on-accent) !important; }
/* ЧЕТЫРЕ ДВЕРИ БЕЗ РЕГИСТРАЦИИ (17.10). Живёт внутри `.pl` и берёт его токены: --acc, --line, --text-*. */
.fh-doors { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.fh-door { display: grid; gap: 6px; align-content: start; text-align: left; padding: 18px 18px 16px; border-radius: var(--r);
  border: 0; background: rgba(255,255,255,.03); box-shadow: inset 0 0 0 1px var(--line); transition: background .25s, box-shadow .25s, transform .25s; }
.fh-door:hover { background: rgba(255,255,255,.06); transform: translateY(-2px); }
.fh-door i { font-style: normal; width: 38px; height: 38px; display: grid; place-items: center; border-radius: 12px; font-size: 17px;
  color: var(--acc); background: rgba(var(--acc-rgb), .10); box-shadow: inset 0 0 0 1px rgba(var(--acc-rgb), .25); margin-bottom: 6px; }
.fh-door b { font: 800 19px/1.15 var(--f-display); letter-spacing: -.01em; color: var(--text); }
.fh-door span { font-size: 14px; color: var(--text-3); line-height: 1.35; }
.fh-door.on { background: linear-gradient(180deg, rgba(var(--acc-rgb), .14), rgba(var(--acc-rgb), .04));
  box-shadow: inset 0 0 0 1px rgba(var(--acc-rgb), .55), 0 18px 40px -24px rgba(var(--acc-rgb), .7); }
.fh-door.on span { color: var(--text-2); }

.fh-panel { margin-top: 18px; padding: clamp(18px, 3vw, 32px); border-radius: calc(var(--r) + 4px); background: var(--ink-2);
  box-shadow: inset 0 0 0 1px var(--line); animation: fh-in .35s ease both; }
@keyframes fh-in { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .fh-panel { animation: none; } .fh-door:hover { transform: none; } }

.fh-two { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: clamp(18px, 3vw, 36px); align-items: stretch; }
.fh-copy { display: grid; gap: 18px; min-width: 0; align-content: center; }
.fh-copy h3 { font: 800 clamp(28px, 3.4vw, 44px)/1.08 var(--f-display); letter-spacing: -.02em; text-wrap: balance; }
.fh-copy h3 em { font-style: normal; color: var(--gold); }
.fh-copy > p { color: var(--text-2); font-size: 18px; max-width: 30em; }
.fh-steps { list-style: none; padding: 0; display: grid; gap: 8px; counter-reset: fh; }
.fh-steps li { counter-increment: fh; display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 10px; align-items: center; color: var(--text); font-size: 15px; }
.fh-steps li::before { content: counter(fh); width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center;
  font: 700 13px var(--f-body); color: var(--acc); box-shadow: inset 0 0 0 1px rgba(var(--acc-rgb), .45); }
.fh-cta { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 4px; }
.fh-cta .pl-btn { text-decoration: none; }
.fh-fine { color: var(--text-3); font-size: 13.5px; }

.fh-card { display: grid; gap: 12px; min-width: 0; padding: 18px; border-radius: var(--r); background: rgba(255,255,255,.025); box-shadow: inset 0 0 0 1px var(--line); }
.fh-card > b { font: 600 12px var(--f-body); letter-spacing: .18em; text-transform: uppercase; color: var(--text-3); }
.fh-card ul { list-style: none; padding: 0; display: grid; gap: 0; }
.fh-deals li, .fh-news li { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "s e" "t e"; column-gap: 12px; row-gap: 2px;
  padding-block: 10px; border-bottom: 1px solid var(--line); }
.fh-deals li:last-child, .fh-news li:last-child { border-bottom: 0; }
.fh-deals small, .fh-news small { grid-area: s; color: var(--text-3); font-size: 12.5px; font-variant-numeric: tabular-nums; }
.fh-deals span, .fh-news span { grid-area: t; color: var(--text); font-size: 15px; overflow-wrap: anywhere; }
.fh-deals em { grid-area: e; align-self: center; font-style: normal; font-weight: 700; font-size: 14px; }
.fh-deals em.win { color: #55e6a5; } .fh-deals em.loss { color: #ff8a80; } .fh-deals em.draw { color: var(--text-2); }
.fh-news span em { font-style: normal; font-weight: 700; color: var(--acc); margin-right: 4px; }
.fh-news i { grid-area: e; align-self: center; font-style: normal; color: var(--acc); letter-spacing: 2px; font-size: 11px; }
.fh-live { color: var(--acc); font-size: 14px; font-weight: 600; }
.fh-link { justify-self: start; background: none; border: 0; padding: 0; color: var(--acc); font-weight: 600; font-size: 14px; }
.fh-link:hover { text-decoration: underline; }

.fh-video { min-width: 0; border-radius: var(--r); overflow: hidden; background: #000; box-shadow: inset 0 0 0 1px var(--line); }
.fh-video video { display: block; width: 100%; max-height: 520px; background: #000; }
.fh-lessons { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.fh-lesson { display: grid; gap: 4px; text-align: left; padding: 14px; border: 0; border-radius: 16px; background: rgba(255,255,255,.03);
  box-shadow: inset 0 0 0 1px var(--line), inset 3px 0 0 var(--g, var(--acc)); }
.fh-lesson:hover { background: rgba(255,255,255,.06); }
.fh-lesson i { font-style: normal; font-size: 18px; }
.fh-lesson b { font-size: 15px; color: var(--text); }
.fh-lesson span { font-size: 13px; color: var(--text-3); }
.fh-family ul { gap: 10px; }
.fh-family li { position: relative; padding-left: 24px; color: var(--text); font-size: 18px; font-weight: 600; }
.fh-family li::before { content: '♥'; position: absolute; left: 0; color: #c98a52; font-size: 13px; top: 2px; }

@media (max-width: 900px) {
  .fh-doors { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fh-two { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 420px) {
  .fh-door { padding: 14px; } .fh-door b { font-size: 17px; } .fh-door span { font-size: 13px; }
  .fh-lessons { grid-template-columns: minmax(0, 1fr); }
  .fh-cta .pl-btn { flex: 1 1 100%; justify-content: center; white-space: normal; }
}
/* ВЕРХ ВИТРИНЫ: кружок Амира + бесплатное + «хочешь больше» (17.10). Живёт внутри `.pl`, токены оттуда. */
.in-hero { padding-block: clamp(40px, 7vw, 96px) clamp(36px, 5vw, 64px); }
.in-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(24px, 5vw, 64px); align-items: center; }
.in-copy { display: grid; gap: 18px; justify-items: start; min-width: 0; }
.pl .in-copy h1 { font: 800 clamp(34px, 3.4vw, 50px)/1.05 var(--f-display); letter-spacing: -.035em; text-wrap: balance; margin: 0; }
.pl .in-copy h1 em { font-style: normal; display: block; color: var(--gold); background: none; -webkit-background-clip: border-box; background-clip: border-box; }
.in-copy .pl-lede { margin: 0 !important; font-size: clamp(17px, 1.8vw, 21px); }
.in-copy .pl-cta { justify-content: flex-start; }
.in-copy .pl-btn { text-decoration: none; }

.in-video { position: relative; justify-self: center; width: 100%; aspect-ratio: 16 / 9; max-width: 100%; margin: 0;
  border-radius: 20px; overflow: hidden; background: #000;
  box-shadow: 0 0 0 2px rgba(var(--acc-rgb), .55), 0 30px 80px -30px rgba(var(--acc-rgb), .8); }
.in-video video { display: block; width: 100%; height: 100%; object-fit: cover; }
.in-video video::cue { font: 700 17px/1.3 var(--f-body); background: rgba(0,0,0,.6); color: #fff; }
.in-play { position: absolute; right: 14px; top: 14px; display: inline-flex; align-items: center; gap: 10px; border: 0;
  padding: 10px 18px 10px 10px; border-radius: 999px; background: rgba(0,0,0,.55); backdrop-filter: blur(6px); color: #fff; }
.in-play i { font-style: normal; width: 44px; height: 44px; display: grid; place-items: center; border-radius: 50%; font-size: 20px;
  color: #160f02; background: linear-gradient(180deg, #ffe7a3, var(--acc)); box-shadow: 0 10px 30px -8px rgba(var(--acc-rgb), .9); }
.in-play span { white-space: nowrap; font-weight: 700; font-size: 15px; text-shadow: 0 1px 8px rgba(0,0,0,.7); }

.in-offer { padding-block: clamp(36px, 6vw, 72px); }
.in-cols { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.in-card { display: grid; gap: 16px; align-content: start; justify-items: start; min-width: 0; padding: clamp(20px, 3vw, 32px); border-radius: calc(var(--r) + 4px);
  background: var(--ink-2); box-shadow: inset 0 0 0 1px var(--line); }
.in-card h2 { margin: 0 !important; font-size: clamp(26px, 3vw, 38px) !important; }
.in-card .pl-btn { text-decoration: none; }
.in-card ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 12px; width: 100%; }
.in-card li { display: grid; grid-template-columns: 26px minmax(0, 1fr); column-gap: 10px; align-items: baseline; }
.in-card li::before { content: '✓'; grid-row: span 2; font-weight: 800; color: #55e6a5; }
.in-card li b { font-size: 18px; color: var(--text); }
.in-card li span { grid-column: 2; font-size: 14.5px; color: var(--text-3); }
.in-more { background: linear-gradient(180deg, rgba(242,193,78,.10), rgba(242,193,78,.02)); box-shadow: inset 0 0 0 1px rgba(242,193,78,.35); }
.in-more li::before { content: '★'; color: var(--gold); }
  background: rgba(255,255,255,.04); box-shadow: inset 0 0 0 1px var(--line); font-size: 14px; color: var(--text); }
  font-weight: 800; font-size: 12px; color: #160f02; background: var(--gold); grid-row: auto; }
.in-cta { display: flex; flex-wrap: wrap; gap: 10px; }
.in-link { background: none; border: 0; padding: 0; color: var(--gold); font-weight: 600; font-size: 14px; }
.in-fine { margin-top: 14px !important; color: var(--text-3); font-size: 13px; }

@media (max-width: 860px) {
  .in-grid { grid-template-columns: minmax(0, 1fr); }
  .in-video { order: -1; width: 100%; }
  .in-copy { justify-items: center; text-align: center; }
  .in-copy .pl-cta { justify-content: center; }
  .in-cols { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 420px) {
  .in-copy .pl-btn, .in-card .pl-btn { flex: 1 1 100%; justify-content: center; white-space: normal; }
}

.in-offer .pl-wrap { display: grid; gap: 18px; }
.in-path { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
.in-path li { display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; gap: 14px; align-items: center; padding: 14px 16px; border-radius: 18px;
  background: var(--ink-2); box-shadow: inset 0 0 0 1px var(--line); }
.in-path li > i { font-style: normal; width: 44px; height: 44px; display: grid; place-items: center; border-radius: 50%; font: 800 18px var(--f-display);
  color: #160f02; background: linear-gradient(180deg, #ffe7a3, var(--gold)); }
.in-path li b { display: block; font: 800 clamp(17px, 1.8vw, 21px)/1.2 var(--f-display); color: var(--text); }
.in-path li span { display: block; font-size: 14.5px; color: var(--text-3); margin-top: 3px; }
.in-path .pl-btn { text-decoration: none; }
@media (max-width: 560px) {
  .in-path li { grid-template-columns: 40px minmax(0, 1fr); }
  .in-path li > i { width: 40px; height: 40px; }
  .in-path .pl-btn { grid-column: 1 / -1; justify-content: center; }
}
.in-story { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; width: 100%; max-width: 560px; margin-top: 6px; }
.in-story small { grid-column: 1 / -1; color: var(--text-3); font-size: 12.5px; letter-spacing: .14em; text-transform: uppercase; }
.in-story a { display: grid; gap: 2px; padding: 12px 14px; border-radius: 14px; text-decoration: none; text-align: left;
  background: rgba(255,255,255,.03); box-shadow: inset 0 0 0 1px var(--line); }
.in-story a:hover { background: rgba(255,255,255,.06); }
.in-story b { font-size: 15px; color: var(--text); }
.in-story span { font-size: 13px; color: var(--text-3); }
@media (max-width: 420px) { .in-story { grid-template-columns: minmax(0, 1fr); } }
/* «Старт с нуля» на витрине (17.10). Живёт внутри `.pl`, токены оттуда. */
.sk h2 em { font-style: normal; color: var(--gold); }
.sk-grid { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 16px; align-items: start; }
.sk-player { margin: 0; display: grid; gap: 10px; min-width: 0; }
.sk-player video { display: block; width: 100%; aspect-ratio: 16 / 9; max-width: 100%; border-radius: var(--r); background: #000;
  box-shadow: inset 0 0 0 1px var(--line); }
.sk-player figcaption { display: grid; gap: 2px; }
.sk-player b { font: 800 clamp(18px, 2vw, 24px)/1.2 var(--f-display); color: var(--text); }
.sk-player span { color: var(--text-2); font-size: 15px; }
.sk-list { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; min-width: 0; }
.sk-list button { width: 100%; display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 12px; align-items: center; text-align: left;
  padding: 8px; border: 0; border-radius: 14px; background: rgba(255,255,255,.03); box-shadow: inset 0 0 0 1px var(--line); }
.sk-list button:hover { background: rgba(255,255,255,.06); }
.sk-list button.on { box-shadow: inset 0 0 0 1px rgba(242,193,78,.6); background: rgba(242,193,78,.08); }
.sk-list img { width: 96px; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 9px; display: block; max-width: 100%; }
.sk-list b { display: block; font-size: 15px; color: var(--text); line-height: 1.25; }
.sk-list small { color: var(--text-3); font-size: 13px; }
.sk-next { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 16px; margin-top: 16px; }
.sk-next span { color: var(--text-3); font-size: 14px; }
@media (max-width: 860px) { .sk-grid { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 420px) { .sk-next .pl-btn { flex: 1 1 100%; justify-content: center; } }
.sk-cta { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; margin-top: 4px; }
.sk-cta .pl-btn { text-decoration: none; }
.sk-cta small { color: var(--text-3); font-size: 13.5px; }
@media (max-width: 420px) { .sk-cta .pl-btn { flex: 1 1 100%; justify-content: center; } }
/* СТАРТОВАЯ СТРАНИЦА ГОСТЯ (07.10, утверждённый концепт). Всё под `.pl`, чтобы не задеть кабинет. */
.pl {
  --ink: #050608; --ink-2: #0b0d12; --line: rgba(236, 232, 222, .10);
  --text: #f3f0e8; --text-2: #b9b6ad; --text-3: #7d7a73; --gold: #f2c14e;
  --acc: #f2c14e; --acc-rgb: 242, 193, 78;
  --f-display: "Unbounded", "Arial Black", system-ui, sans-serif;
  --f-body: "Onest", system-ui, -apple-system, "Segoe UI", sans-serif;
  --f-serif: "Playfair Display", Georgia, serif;
  --r: 22px;
  min-height: 100vh; background: var(--ink); color: var(--text); font: 400 16px/1.55 var(--f-body); overflow-x: hidden;
}
.pl *, .pl *::before, .pl *::after { box-sizing: border-box; }
.pl h1, .pl h2, .pl h3, .pl p, .pl figure, .pl ol, .pl ul { margin: 0; }
.pl button { font: inherit; color: inherit; cursor: pointer; }
.pl :focus-visible { outline: 2px solid var(--acc); outline-offset: 3px; border-radius: 8px; }
.pl-wrap { max-width: 1240px; margin: 0 auto; padding-inline: clamp(16px, 4vw, 40px); }
.pl-eyebrow { font: 600 12px var(--f-body); letter-spacing: .22em; text-transform: uppercase; color: var(--acc); transition: color .8s; }

/* шапка */
.pl-top { position: sticky; top: env(safe-area-inset-top, 0px); z-index: 30; backdrop-filter: blur(14px) saturate(140%); -webkit-backdrop-filter: blur(14px) saturate(140%);
  background: rgba(5, 6, 8, .72); border-bottom: 1px solid var(--line); }
.pl-top .pl-wrap { display: flex; align-items: center; gap: 24px; padding-block: 14px; }
.pl-logo { display: flex; align-items: center; gap: 12px; }
.pl-logo i { width: 36px; height: 36px; border-radius: 11px; display: grid; place-items: center; font: 800 15px var(--f-display); font-style: normal; color: #1a1204;
  background: conic-gradient(from 200deg, #fff3c8, var(--gold) 30%, #9a6a14 55%, #ffe39a 80%, #fff3c8); box-shadow: 0 0 24px -6px var(--gold); }
.pl-logo b { font: 700 14px var(--f-display); letter-spacing: .12em; white-space: nowrap; }
.pl-short { display: none; }
.pl-nav { display: flex; gap: 26px; margin-left: auto; }
.pl-nav button { background: none; border: 0; padding: 0; color: var(--text-2); font-size: 14px; font-weight: 500; }
.pl-nav button:hover { color: var(--text); }
.pl-btn { display: inline-flex; align-items: center; gap: 10px; border: 0; white-space: nowrap; padding: 13px 22px; border-radius: 14px; font-weight: 700; font-size: 15px;
  transition: transform .2s, box-shadow .3s, background .4s; }
.pl-main { color: #160f02 !important; background: linear-gradient(180deg, #ffe7a3, var(--acc) 55%, color-mix(in srgb, var(--acc) 70%, #000));
  box-shadow: 0 10px 30px -10px rgba(var(--acc-rgb), .8), inset 0 1px 0 rgba(255,255,255,.5); }
.pl-main:hover { transform: translateY(-2px); }
.pl-ghost { color: var(--text); background: rgba(255,255,255,.04); box-shadow: inset 0 0 0 1px var(--line); }
.pl-ghost:hover { background: rgba(255,255,255,.08); }
.pl-tg { width: 18px; height: 18px; flex: none; }

/* герой */
.pl-hero { position: relative; overflow: hidden; padding-block: clamp(56px, 9vw, 110px) 40px; }
.pl-net { position: absolute; inset: 0; width: 100%; height: 100%; opacity: .55; }
.pl-hero::after { content: ""; position: absolute; inset: -20% -10% auto; height: 120%; pointer-events: none;
  background: radial-gradient(40% 50% at 50% 25%, rgba(var(--acc-rgb), .18), transparent 70%); }
.pl-hero-c { position: relative; z-index: 1; text-align: center; display: flex; flex-direction: column; align-items: center; }
.pl h1 { font: 800 clamp(38px, 6.2vw, 78px)/1.02 var(--f-display); letter-spacing: -.035em; margin: 18px 0 22px; text-wrap: balance; }
.pl h1 em { font-style: normal; background: linear-gradient(180deg, #fff, rgba(var(--acc-rgb), 1)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.pl-lede { font-size: clamp(16px, 1.6vw, 19px); color: var(--text-2); max-width: 34em; margin: 0 auto 30px !important; }
.pl-cta { display: flex; gap: 12px; flex-wrap: wrap; justify-content: center; }
  max-width: 1320px; margin: clamp(40px, 6vw, 70px) auto 0; padding-inline: clamp(16px, 3vw, 40px); perspective: 1600px; }
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--c) 45%, transparent), 0 40px 70px -30px rgba(0,0,0,.9), 0 0 60px -18px var(--c);
  animation: pl-float 7s ease-in-out infinite; }
  opacity: 0; transform: scale(1.02); transition: opacity 1.1s ease, transform 4.5s ease-out; }
@keyframes pl-float { 50% { transform: translateY(-10px); } }

/* бегущая строка */
.pl-ticker { overflow: hidden; border-block: 1px solid var(--line); background: linear-gradient(90deg, rgba(242,193,78,.06), transparent 30%, transparent 70%, rgba(242,193,78,.06)); }
.pl-tk { display: flex; width: max-content; padding-block: 18px; animation: pl-tk 38s linear infinite; font: 700 15px var(--f-display); letter-spacing: -.01em; white-space: nowrap; }
.pl-tk span { display: inline-flex; align-items: center; gap: 28px; padding-right: 28px; }
.pl-tk i { font-style: normal; color: var(--gold); font-size: 10px; }
@keyframes pl-tk { to { transform: translateX(-50%); } }

/* главы */
.pl-sec { padding-block: clamp(56px, 8vw, 96px); }
.pl-alt { background: linear-gradient(180deg, transparent, rgba(255,255,255,.018) 20%, rgba(255,255,255,.018) 80%, transparent); }
.pl h2 { font: 800 clamp(28px, 3.8vw, 46px)/1.08 var(--f-display); letter-spacing: -.03em; margin-top: 12px; text-wrap: balance; }
.pl-text p { color: var(--text-2); font-size: 17px; max-width: 32em; margin-top: 14px; }
.pl-narrow { max-width: 760px; margin-bottom: 34px; }
.pl-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(28px, 5vw, 70px); align-items: center; }
.pl-rev > .pl-text { order: 2; }
.pl-flow { list-style: none; padding: 0; margin-top: 26px !important; display: grid; gap: 10px; counter-reset: f; }
.pl-flow li { counter-increment: f; display: grid; grid-template-columns: 44px 1fr; column-gap: 14px; padding: 14px 16px; border-radius: 16px; background: rgba(255,255,255,.03); box-shadow: inset 0 0 0 1px var(--line); }
.pl-flow li::before { content: counter(f); grid-row: span 2; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 12px; font: 800 17px var(--f-display); color: #160f02; background: linear-gradient(180deg, #ffe7a3, var(--gold)); }
.pl-flow b { font: 700 16px var(--f-display); }
.pl-flow span { color: var(--text-3); font-size: 14px; }
.pl-wall { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; padding: 22px; border-radius: 28px;
  background: radial-gradient(70% 60% at 50% 0%, rgba(242,193,78,.10), transparent 70%), var(--ink-2); box-shadow: inset 0 0 0 1px var(--line), 0 40px 80px -40px rgba(0,0,0,.9); }
.pl-wcol { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.pl-wcol small { font: 700 11px var(--f-body); letter-spacing: .18em; text-transform: uppercase; color: var(--c); margin-bottom: 4px; }
.pl-wcol .pl-strat { display: flex; justify-content: space-between; align-items: center; gap: 8px; width: 100%; text-align: left; border: 0; color: inherit; padding: 11px 12px; border-radius: 12px; font-size: 13.5px; font-weight: 600; background: color-mix(in srgb, var(--c) 9%, transparent); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--c) 28%, transparent); overflow-wrap: anywhere; transition: transform .2s, background .3s, box-shadow .3s; }
.pl-wcol .pl-strat i { font-style: normal; color: var(--c); opacity: .5; transition: transform .2s, opacity .2s; flex: none; }
.pl-wcol .pl-strat:hover { transform: translateX(4px); background: color-mix(in srgb, var(--c) 18%, transparent); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--c) 60%, transparent), 0 10px 26px -14px var(--c); }
.pl-wcol .pl-strat:hover i { opacity: 1; transform: translateX(3px); }
.pl-wline { grid-column: 1 / -1; width: 100%; height: 70px; margin-top: 6px; }
.pl-bento { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.pl-bx { position: relative; overflow: hidden; border-radius: var(--r); padding: 24px; min-width: 0; background: var(--ink-2); box-shadow: inset 0 0 0 1px var(--line); }
.pl-bx::before { content: ""; position: absolute; inset: 0; background: radial-gradient(80% 70% at 100% 0%, color-mix(in srgb, var(--c) 22%, transparent), transparent 70%); pointer-events: none; }
.pl-big { grid-row: span 2; display: flex; flex-direction: column; justify-content: flex-end; min-height: 320px; }
.pl-wide { grid-column: span 2; }
.pl-n { position: relative; display: block; font: 800 clamp(48px, 6vw, 92px)/.9 var(--f-display); letter-spacing: -.05em; background: linear-gradient(180deg, #fff, var(--c)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.pl-bx h3 { font: 700 18px var(--f-display); margin-top: 10px; margin-bottom: 6px; position: relative; }
.pl-bx p { color: var(--text-2); font-size: 14.5px; position: relative; }

/* челленджи */
.pl-stairs { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; align-items: end; }
.pl-st { position: relative; overflow: hidden; min-width: 0; border-radius: 20px 20px 8px 8px; padding: 20px; min-height: calc(150px + var(--h) * 46px); display: flex; flex-direction: column; gap: 4px;
  background: linear-gradient(180deg, color-mix(in srgb, var(--c) 26%, transparent), color-mix(in srgb, var(--c) 6%, var(--ink-2))); box-shadow: inset 0 1px 0 color-mix(in srgb, var(--c) 70%, transparent), inset 0 0 0 1px color-mix(in srgb, var(--c) 30%, transparent); }
.pl-st-mark { position: absolute; right: -14px; top: -26px; font-size: 150px; line-height: 1; color: var(--c); opacity: .07; pointer-events: none; }
.pl-st-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: auto; position: relative; }
.pl-st small { margin-top: 14px; font: 700 11px var(--f-body); letter-spacing: .16em; text-transform: uppercase; color: var(--c); position: relative; }
.pl-st b { font: 700 16px/1.25 var(--f-display); position: relative; }
.pl-days { display: grid; grid-template-columns: repeat(7, 8px); gap: 5px; }
.pl-days i { width: 8px; height: 8px; border-radius: 50%; background: var(--c); box-shadow: 0 0 8px var(--c); }
.pl-days i:nth-child(n+5) { opacity: .25; box-shadow: none; }
.pl-prize { position: relative; display: inline-flex; align-items: center; gap: 8px; margin-top: 8px; font-size: 13px; color: var(--text-2);
  padding: 6px 10px 6px 6px; border-radius: 999px; background: rgba(0,0,0,.25); box-shadow: inset 0 0 0 1px rgba(255,255,255,.08); width: max-content; max-width: 100%; }
.pl-chips { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; margin-top: 22px; }
.pl-left { justify-content: flex-start; }
.pl-chips span { padding: 10px 16px; border-radius: 999px; font-size: 14px; font-weight: 600; background: rgba(255,255,255,.04); box-shadow: inset 0 0 0 1px var(--line); }

/* камни — как в кабинете */
.pl-gem { --c: #f2c14e; --c2: #6a4408; display: inline-grid; place-items: center; flex: none; width: 40px; height: 40px; border-radius: 50%;
  background: radial-gradient(circle at 32% 28%, #fff 0 6%, color-mix(in srgb, var(--c) 55%, #fff) 14%, var(--c) 42%, var(--c2) 78%, #000 120%);
  box-shadow: inset -6px -8px 14px rgba(0,0,0,.45), 0 10px 26px -8px var(--c); }
.pl-gem em { font-style: normal; color: rgba(255,255,255,.92); text-shadow: 0 1px 3px rgba(0,0,0,.5); line-height: 1; font-size: 16px; }
.pl-gem.big { width: 56px; height: 56px; } .pl-gem.big em { font-size: 22px; }
.pl-gem.sm { width: 22px; height: 22px; box-shadow: inset -2px -3px 5px rgba(0,0,0,.45), 0 4px 10px -3px var(--c); } .pl-gem.sm em { font-size: 10px; }

/* сообщество */
.pl-rooms { display: grid; gap: 10px; }
.pl-rm { display: flex; align-items: center; gap: 16px; padding: 16px 18px; border-radius: 18px; background: linear-gradient(90deg, color-mix(in srgb, var(--c) 12%, transparent), rgba(255,255,255,.015) 60%); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--c) 26%, transparent); transition: transform .3s; }
.pl-rm:hover { transform: translateX(6px); }
.pl-rm b { display: block; font: 700 17px var(--f-display); }
.pl-rm b.serif, .pl-arc b.serif { font-family: var(--f-serif); font-style: italic; font-weight: 600; font-size: 20px; }
.pl-rm span { color: var(--text-3); font-size: 13.5px; }

/* что открывает каждый мир */

/* цифры */

/* создатель */
.pl-mono { display: grid; place-items: center; aspect-ratio: 1; max-width: 420px; width: 100%; justify-self: center; border-radius: 40px;
  background: radial-gradient(60% 60% at 30% 25%, rgba(242,193,78,.25), transparent 70%), var(--ink-2); box-shadow: inset 0 0 0 1px rgba(242,193,78,.35), 0 40px 80px -30px rgba(0,0,0,.9); }
.pl-mono span { font: 800 clamp(120px, 18vw, 220px)/1 var(--f-display); background: linear-gradient(180deg, #fff3c8, var(--gold) 45%, #9a6a14); -webkit-background-clip: text; background-clip: text; color: transparent; }
.pl-sign { font: italic 600 54px var(--f-serif); color: var(--gold); margin-top: 18px; transform: rotate(-4deg); width: max-content; }

/* шаги и финал */
.pl-steps { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; counter-reset: s; }
.pl-steps li { padding: 24px; border-radius: var(--r); background: var(--ink-2); box-shadow: inset 0 0 0 1px var(--line); counter-increment: s; min-width: 0; }
.pl-steps li::before { content: counter(s); display: grid; place-items: center; width: 38px; height: 38px; border-radius: 12px; margin-bottom: 16px; font: 800 16px var(--f-display); color: #160f02; background: var(--gold); }
.pl-steps h3 { font: 700 18px var(--f-display); margin-bottom: 8px; }
.pl-steps p { color: var(--text-2); font-size: 14.5px; }
.pl-final { text-align: center; padding-block: 80px 110px; }
.pl-final h2 { max-width: 16em; margin: 12px auto 26px; }
.pl-foot { border-top: 1px solid var(--line); padding-block: 26px; color: var(--text-3); font-size: 13px; }

/* планшет и телефон */
@media (max-width: 960px) {
  .pl-grid { grid-template-columns: 1fr; } .pl-rev > .pl-text { order: 0; }
  .pl-bento { grid-template-columns: repeat(2, minmax(0, 1fr)); } .pl-big { grid-row: auto; min-height: 220px; }
  .pl-stairs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .pl-nav { display: none; }
  .pl-top .pl-btn { margin-left: auto; padding: 10px 14px; font-size: 13px; }
  .pl-top .pl-long { display: none; } .pl-top .pl-short { display: inline; }
  /* 320 px (аудит QA 16.10): «Войти» уезжала за край — «Войт». Сжимаем промежутки и подпись логотипа. */
  .pl-top .pl-wrap { gap: 12px; } .pl-top .pl-btn { flex: none; white-space: nowrap; }
  .pl-mono { max-width: 260px; }
}
@media (max-width: 560px) {
  .pl-wall { grid-template-columns: 1fr; }
  .pl-bento, .pl-stairs { grid-template-columns: 1fr; } .pl-wide { grid-column: auto; } .pl-st { min-height: 170px; }
}
@media (prefers-reduced-motion: reduce) {
  .pl *, .pl *::before { animation: none !important; transition: none !important; }
}

.pl .pl-wall-cap { grid-column: 1 / -1; margin: 0 0 4px; font-size: 11px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: rgba(244, 241, 234, .55); }

/* Все отзывы для гостя (AM-13): та же страница, что в кабинете, под шапкой витрины. */
.pl-back { background: none; border: 0; color: inherit; font: 600 14px/1 var(--font-ui, inherit); cursor: pointer; padding: 10px 0; white-space: nowrap; }
.pl-all-rv .pl-top .pl-wrap { justify-content: space-between; }
.pl-all-rv .pl-logo { margin-right: auto; }
.pl-rv-wrap { padding-block: 28px 72px; }
@media (max-width: 560px) { .pl-all-rv .pl-logo b { display: none; } }

@media (max-width: 359px) { .pl-logo b { display: none; } .pl-top .pl-btn { padding: 10px 12px; } }

  box-shadow: inset 0 0 0 1px var(--line); margin-top: 16px; }
@media (max-width: 420px) { .pl-tour-cta .pl-btn { flex: 1 1 100%; justify-content: center; } }

/* ПЯТЬ МИРОВ — изогнутые рамки (Амир 20.10, пример Marvel). Левый край выпуклый (border-radius D/50%),
   правый — вогнутый (маска-эллипс того же размера), поэтому соседние рамки ложатся друг в друга дугами. */
.pl-worlds { --D: 56px; --g: 8px; }
.pl-arcs { display: flex; height: clamp(440px, 46vw, 560px); margin-top: 8px; padding-left: var(--D); }
.pl-arc { --c: #f2c14e; position: relative; flex: 1 1 0; min-width: 0; margin-left: calc(var(--g) - var(--D)); cursor: pointer;
  border-radius: var(--D) 0 0 var(--D) / 50% 0 0 50%; overflow: hidden; isolation: isolate; background: var(--ink-2);
  -webkit-mask-image: radial-gradient(var(--D) 50% at 100% 50%, transparent 99%, #000 100%);
          mask-image: radial-gradient(var(--D) 50% at 100% 50%, transparent 99%, #000 100%);
  box-shadow: inset 2px 0 0 0 color-mix(in srgb, var(--c) 70%, transparent);
  transition: flex-grow .7s cubic-bezier(.2,.8,.2,1); outline: none; }
.pl-arc:last-child { -webkit-mask-image: none; mask-image: none; border-radius: var(--D) var(--r) var(--r) var(--D) / 50% var(--r) var(--r) 50%; }
.pl-arc.on { flex-grow: 4.2; }
.pl-arc:focus-visible { box-shadow: inset 3px 0 0 0 var(--c), inset 0 0 0 2px color-mix(in srgb, var(--c) 50%, transparent); }
.pl-arc img { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: center top;
  z-index: -2; opacity: .16; filter: saturate(.6) blur(1.5px); transform: scale(1.04); transition: opacity .7s, transform 1.2s cubic-bezier(.2,.8,.2,1); }
.pl-arc.on img { opacity: .3; transform: none; }
.pl-arc::after { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background: radial-gradient(120% 70% at 30% 20%, color-mix(in srgb, var(--c) 34%, transparent), transparent 60%),
              linear-gradient(180deg, transparent 35%, rgba(5,6,8,.78) 70%, rgba(5,6,8,.96)); }
.pl-arc .pl-gem.big { margin-bottom: 14px; transition: transform .7s cubic-bezier(.2,.8,.2,1); }
.pl-arc:not(.on) .pl-gem.big { transform: scale(.55); margin-bottom: 4px; }
.pl-arc-in { position: absolute; inset: auto 0 0 0; padding: 0 calc(var(--D) + 16px) 24px calc(var(--D) * .55); display: grid; gap: 4px; }
.pl-arc:last-child .pl-arc-in { padding-right: 24px; }
.pl-arc-in b { font: 700 clamp(16px, 1.6vw, 22px)/1.15 var(--f-display); letter-spacing: -.01em; color: var(--c); white-space: nowrap; }
.pl-arc-in b.serif { font-family: var(--f-serif); font-style: italic; font-weight: 600; }
.pl-arc-in small { color: var(--text-3); font-size: 12.5px; letter-spacing: .06em; white-space: nowrap; }
.pl-arc-more { display: grid; gap: 12px; max-height: 0; opacity: 0; overflow: hidden; visibility: hidden; transition: max-height .6s, opacity .4s, visibility 0s .4s; min-width: 0; }
.pl-arc.on .pl-arc-more { max-height: 320px; opacity: 1; visibility: visible; transition: max-height .6s .25s, opacity .4s .25s, visibility 0s; margin-top: 10px; }
.pl-arc-more > span { color: var(--text); font-size: 15.5px; max-width: 36ch; }
.pl-arc-more ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 7px; }
.pl-arc-more li { display: flex; gap: 9px; align-items: baseline; color: var(--text-2); font-size: 14px; }
.pl-arc-more li::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--c); flex: none; transform: translateY(-2px); }
.pl-arc-more .pl-btn { justify-self: start; }
/* узкая полоса: имя стоит вертикально */
.pl-arc:not(.on) .pl-arc-in { padding: 0 0 26px; justify-items: center; }
.pl-arc:not(.on) .pl-arc-in b { writing-mode: vertical-rl; transform: rotate(180deg); font-size: 17px; }
.pl-arc:not(.on) .pl-arc-in small { display: none; }
@media (max-width: 760px) {
  .pl-worlds { --D: 30px; --g: 6px; }
  .pl-arcs { height: 480px; }
  .pl-arc-more ul { display: none; }
  .pl-arc.on { flex-grow: 3; }
  .pl-arc-in { padding: 0 calc(var(--D) + 10px) 18px calc(var(--D) * .6); }
  .pl-arc:last-child .pl-arc-in { padding-right: 16px; }
  .pl-arc:not(.on) .pl-arc-in b { font-size: 14px; }
  .pl-arc-more > span { font-size: 14.5px; }
}
.pl-arc-cta { display: flex; flex-wrap: wrap; gap: 8px; }

/* Окно «Заглянуть внутрь» (20.10) */
.pl-peek { position: fixed; inset: 0; z-index: 80; display: grid; place-items: center; padding: 16px;
  padding-top: calc(16px + env(safe-area-inset-top, 0px)); padding-bottom: calc(16px + env(safe-area-inset-bottom, 0px));
  background: rgba(3, 4, 6, .78); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); animation: pl-peek-in .3s ease both; }
@keyframes pl-peek-in { from { opacity: 0; } to { opacity: 1; } }
.pl-peek-box { width: min(430px, 100%); max-height: 100%; display: grid; grid-template-rows: auto auto minmax(0, 1fr) auto auto; gap: 12px;
  padding: 18px; border-radius: 28px; background: linear-gradient(180deg, color-mix(in srgb, var(--c) 14%, #0b0d12), #07080b 40%);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--c) 35%, transparent), 0 40px 120px -20px rgba(0,0,0,.8); }
.pl-peek-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.pl-peek-top b { display: block; font: 700 20px/1.1 var(--f-display); color: var(--c); }
.pl-peek-top b.serif { font-family: var(--f-serif); font-style: italic; font-weight: 600; }
.pl-peek-top small { color: var(--text-3); font-size: 12.5px; letter-spacing: .06em; }
.pl-peek-x { width: 40px; height: 40px; flex: none; border: 0; border-radius: 50%; background: rgba(255,255,255,.06); color: var(--text); font-size: 24px; line-height: 1; cursor: pointer; }
.pl-peek-tabs { display: flex; gap: 6px; overflow-x: auto; scrollbar-width: none; }
.pl-peek-tabs button { flex: 1 0 auto; padding: 9px 12px; border: 0; border-radius: 999px; background: rgba(255,255,255,.05); color: var(--text-2); font: 600 13.5px var(--f-body); cursor: pointer; }
.pl-peek-tabs button.on { background: color-mix(in srgb, var(--c) 22%, transparent); color: var(--text); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--c) 55%, transparent); }
.pl-peek-scr { min-height: 0; max-height: min(640px, 100dvh - 260px); overflow-y: auto; border-radius: 22px; background: #000; overscroll-behavior: contain;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.06); }
.pl-peek-scr img { display: block; width: 100%; max-width: 100%; height: auto; }
.pl-peek-note { margin: 0; text-align: center; color: var(--text-3); font-size: 12.5px; }
.pl-peek-go { justify-content: center; }

/* Кто такой Амир (20.10) */
  box-shadow: 0 40px 100px -30px rgba(242, 193, 78, .35), inset 0 0 0 1px var(--line); }
  background: linear-gradient(180deg, transparent, rgba(242, 193, 78, .5) 8%, rgba(242, 193, 78, .5) 92%, transparent); }
  background: var(--ink); box-shadow: inset 0 0 0 1px rgba(242, 193, 78, .55); color: var(--gold); font: 700 16px var(--f-display); }
  font: italic 500 clamp(16px, 1.6vw, 19px)/1.45 var(--f-serif); color: var(--text); }
.pl-amir-more { margin-top: 24px; text-decoration: none; }
@media (max-width: 860px) {
}
@media (max-width: 420px) {
}
.pl-amir-now { margin-top: clamp(36px, 5vw, 56px); }
.pl-amir-now h3 { margin: 0 0 14px; font: 700 clamp(18px, 1.8vw, 22px) var(--f-display); color: var(--text); }
.pl-amir-strip { display: flex; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 8px; scrollbar-width: thin; }
.pl-amir-strip img { flex: 0 0 auto; height: clamp(220px, 26vw, 320px); width: auto; max-width: none; aspect-ratio: 3 / 4; object-fit: cover;
  border-radius: 18px; scroll-snap-align: start; box-shadow: inset 0 0 0 1px var(--line); }
  backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); color: var(--text); font-weight: 700; font-size: 14px; }
/* Серии — кружки как «актуальное» в сторис */
  color: var(--text); cursor: pointer; text-align: center; }
  box-shadow: 0 18px 40px -18px rgba(0,0,0,.8); transition: transform .4s cubic-bezier(.2,.8,.2,1); }

/* КТО ТАКОЙ АМИР — кино при прокрутке (20.10). Цвета глав — цвета миров; золото и шрифты — сайта. */
.pl-kino { position: relative; transition: background-color 1.2s ease; overflow: hidden; }
.pl-kino::before { content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .6;
  background: radial-gradient(60% 40% at 80% 0%, rgba(242,193,78,.10), transparent 70%), radial-gradient(50% 30% at 0% 60%, rgba(41,198,255,.06), transparent 70%); }
.pl-kino.dark { background-color: #000; }
.pl-kino.dark .kn-ch:not(.kn-dark) { opacity: .15; }
.pl-kino .pl-wrap { position: relative; }
.pl-kino [data-rv] { opacity: 0; transform: translateY(26px); transition: opacity 1s cubic-bezier(.2,.8,.2,1), transform 1s cubic-bezier(.2,.8,.2,1); }
.pl-kino [data-rv].in { opacity: 1; transform: none; }
.pl-kino [data-par] { translate: 0 var(--py, 0px); }

.kn-head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: clamp(28px, 5vw, 72px); align-items: center; }
.kn-stack { position: relative; aspect-ratio: 1 / 1.05; max-width: 520px; width: 100%; }
.kn-stack figure { margin: 0; overflow: hidden; } .kn-stack img { width: 100%; height: 100%; display: block; }
.kn-stack figure { position: absolute; max-width: none; object-fit: cover; border-radius: 22px;
  box-shadow: 0 40px 90px -30px rgba(0,0,0,.9), 0 0 0 1px rgba(255,255,255,.08); }
.kn-s1 { width: 46%; aspect-ratio: 3/4; left: 0; top: 6%; transform: rotate(-8deg); filter: sepia(.25) saturate(.9); }
.kn-s2 { width: 44%; aspect-ratio: 3/4; right: 0; top: 0; transform: rotate(7deg); }
.kn-s3 { width: 58%; aspect-ratio: 4/5; left: 21%; bottom: 0; z-index: 2; border: 3px solid rgba(242,193,78,.55);
  box-shadow: 0 50px 120px -30px rgba(242,193,78,.35), 0 0 0 1px rgba(255,255,255,.1); }
.kn-head h2 { font: 800 clamp(34px, 4.6vw, 64px)/1.02 var(--f-display); letter-spacing: -.02em; margin-top: 10px; }
.kn-head h2 em { font-style: normal; background: linear-gradient(180deg, #fff3c8, var(--gold) 55%, #9a6a14); -webkit-background-clip: text; background-clip: text; color: transparent; }
.kn-head p { margin-top: 18px; color: var(--text-2); font-size: 17px; max-width: 46ch; }
.kn-years { display: flex; align-items: center; gap: 14px; margin-top: 26px; font: 800 clamp(22px, 2.6vw, 32px) var(--f-display); color: var(--gold); }
.kn-years i { flex: 0 1 160px; height: 2px; background: linear-gradient(90deg, var(--gold), transparent); }

.kn-map { margin: clamp(48px, 7vw, 96px) 0 0; position: sticky; top: 64px; z-index: 0; opacity: .9; }
.kn-map svg { width: 100%; height: auto; max-height: 34vh; display: block; }
.kn-map g circle { fill: #2a2d33; transition: r .5s, fill .5s; }
.kn-map g text { fill: rgba(236,232,222,.35); font: 600 15px var(--f-body); transition: fill .5s; }
.kn-map g.on circle { fill: var(--gold); filter: drop-shadow(0 0 10px rgba(242,193,78,.8)); }
.kn-map g.on text { fill: var(--text); }

.kn-chapters { list-style: none; padding: 0; margin: clamp(24px, 4vw, 48px) 0 0; position: relative; z-index: 1; display: grid; gap: clamp(90px, 14vw, 180px); }
.kn-ch { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(28px, 5vw, 80px); align-items: center;
  transition: opacity 1s ease; padding-block: 40px; }
.kn-ch.rev .kn-text { order: 2; }
.kn-num { position: absolute; top: -40px; left: -10px; z-index: -1; pointer-events: none; }
.kn-ch.rev .kn-num { left: auto; right: -10px; }
.kn-num span { font: 800 clamp(140px, 22vw, 300px)/.8 var(--f-display); color: transparent; -webkit-text-stroke: 1.5px color-mix(in srgb, var(--c) 45%, transparent);
  letter-spacing: -.04em; }
.kn-year { font: 800 clamp(16px, 1.6vw, 20px) var(--f-display); color: var(--c); letter-spacing: .04em; }
.kn-year small { font: 600 14px var(--f-body); color: var(--text-3); letter-spacing: .08em; text-transform: uppercase; }
.kn-text h3 { margin: 10px 0 20px; font: 800 clamp(28px, 3.4vw, 46px)/1.05 var(--f-display); letter-spacing: -.02em; color: var(--text); }
.kn-text p { color: var(--text-2); font-size: clamp(16px, 1.4vw, 18.5px); line-height: 1.65; max-width: 48ch; }
.kn-text p + p { margin-top: 14px; }
.kn-text p:nth-of-type(2) { transition-delay: .12s; } .kn-text p:nth-of-type(3) { transition-delay: .24s; } .kn-text p:nth-of-type(4) { transition-delay: .36s; }
.kn-text blockquote { margin: 26px 0 0; padding-left: 18px; border-left: 2px solid var(--c);
  font: italic 600 clamp(20px, 2.2vw, 28px)/1.35 var(--f-serif); color: var(--text); max-width: 26ch; }
.kn-photos { position: relative; aspect-ratio: 1 / 1.08; width: 100%; max-width: 560px; justify-self: center; }
.kn-photos .kn-p { margin: 0; overflow: hidden; position: absolute; max-width: none; border-radius: 20px; box-shadow: 0 40px 90px -28px rgba(0,0,0,.95), 0 0 0 1px rgba(255,255,255,.08);
  transition: opacity 1.1s ease, transform 1.4s cubic-bezier(.2,.8,.2,1); }
.kn-photos .kn-p1 { width: 62%; aspect-ratio: 3/4; left: 4%; top: 8%; z-index: 2; transform: rotate(-4deg) translateY(40px) scale(.92);
  box-shadow: 0 50px 110px -30px color-mix(in srgb, var(--c) 55%, transparent), 0 0 0 2px color-mix(in srgb, var(--c) 60%, transparent); }
.kn-photos .kn-p1.in { transform: rotate(-4deg); }
.kn-photos .kn-p2 { width: 44%; aspect-ratio: 3/4; right: 0; top: 0; z-index: 1; transform: rotate(6deg) translateY(40px); filter: saturate(.85); transition-delay: .15s; }
.kn-photos .kn-p2.in { transform: rotate(6deg); }
.kn-photos .kn-p3 { width: 40%; aspect-ratio: 4/5; right: 6%; bottom: 0; z-index: 3; transform: rotate(-2deg) translateY(40px); transition-delay: .3s; }
.kn-photos .kn-p3.in { transform: rotate(3deg); }
.kn-dark .kn-text p, .kn-dark .kn-text h3 { color: #f5f5f5; }
.kn-dark .kn-photos img { filter: grayscale(1) contrast(1.1) brightness(.8); }

.kn-final { position: relative; margin-top: clamp(100px, 14vw, 180px); border-radius: 32px; overflow: hidden; min-height: clamp(380px, 52vw, 640px); display: grid; align-items: end; }
.kn-final img { position: absolute; inset: -8% 0; width: 100%; height: 116%; max-width: none; object-fit: cover; }
.kn-final::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 30%, rgba(5,6,8,.92)); }
.kn-final-t { position: relative; z-index: 1; padding: clamp(24px, 4vw, 56px); }
.kn-final-t small { font: 700 13px var(--f-body); letter-spacing: .16em; text-transform: uppercase; color: var(--gold); }
.kn-final-t p { margin-top: 10px; font: 600 clamp(26px, 3.6vw, 48px)/1.15 var(--f-serif); color: #fff; max-width: 22ch; }
.kn-final-t em { color: var(--gold); }

@media (max-width: 860px) {
  .kn-head, .kn-ch { grid-template-columns: minmax(0, 1fr); }
  .kn-ch.rev .kn-text { order: 0; }
  .kn-stack { max-width: 380px; justify-self: center; }
  .kn-map { position: relative; top: 0; }
  .kn-photos { max-width: 420px; }
  .kn-num span { font-size: clamp(120px, 34vw, 200px); }
}
@media (prefers-reduced-motion: reduce) { .pl-kino [data-rv] { opacity: 1; transform: none; transition: none; } .pl-kino [data-par] { translate: none; } }
/* История по годам (20.10, v2): подпись-дата на каждом фото, «Читать дальше», глава без фото — по центру */
.kn-photos .kn-p img, .kn-stack figure img { width: 100%; height: 100%; max-width: none; object-fit: cover; display: block; }
.kn-p figcaption, .kn-stack figcaption { position: absolute; left: 10px; bottom: 10px; padding: 5px 10px; border-radius: 999px;
  background: rgba(5,6,8,.72); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); color: #fff;
  font: 700 11.5px/1.2 var(--f-body); letter-spacing: .04em; white-space: nowrap; }
.kn-photos.n1 .kn-p1 { width: 70%; left: 15%; }
.kn-photos.n2 .kn-p1 { width: 58%; } .kn-photos.n2 .kn-p2 { width: 50%; top: 18%; }
.kn-ch.kn-solo { grid-template-columns: minmax(0, 1fr); justify-items: center; text-align: left; }
.kn-ch.kn-solo .kn-text { max-width: 720px; }
.kn-ch.kn-solo .kn-num { left: 50%; translate: -50% var(--py, 0px); }
.kn-more { margin-top: 16px; padding: 10px 16px; border: 0; border-radius: 999px; background: color-mix(in srgb, var(--c) 16%, transparent);
  color: var(--text); font: 700 14px var(--f-body); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--c) 45%, transparent); }
.kn-more:hover { background: color-mix(in srgb, var(--c) 26%, transparent); }
.kn-more-p { margin-top: 14px; animation: kn-in .6s ease both; }
@keyframes kn-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.kn-yt-li { list-style: none; }
.kn-yt { display: flex; align-items: center; gap: 16px; margin: 24px auto 0; max-width: 560px; padding: 16px 20px; border-radius: 22px;
  text-decoration: none; color: var(--text); background: linear-gradient(135deg, rgba(255,0,0,.14), rgba(255,255,255,.03));
  box-shadow: inset 0 0 0 1px rgba(255,80,80,.35); }
.kn-yt:hover { box-shadow: inset 0 0 0 1px rgba(255,80,80,.6), 0 20px 50px -20px rgba(255,0,0,.4); }
.kn-yt-play { flex: none; width: 52px; height: 52px; border-radius: 50%; display: grid; place-items: center; background: #ff0033; color: #fff; font-size: 18px; }
.kn-yt b { display: block; font: 700 16px var(--f-display); }
.kn-yt small { color: var(--text-2); font-size: 13.5px; }

/* ВХОД ПОДТВЕРЖДЕНИЕМ (16.10). Кнопка-ссылка и кнопка «попробовать ещё раз» выглядят одинаково (форма a.telegram-auth
   в app.css задана только ссылке). Ожидание — одна строка с пульсом, без спиннера на весь экран. */
.tg-confirm { display: grid; gap: 12px; }
button.telegram-auth { display: flex; align-items: center; justify-content: center; gap: 10px; width: 100%; min-height: 52px; padding: 0 18px;
  border: 0; border-radius: 4px 12px 12px 4px; font-weight: 700; cursor: pointer; box-sizing: border-box; font-family: inherit; font-size: inherit; }
button.telegram-auth svg { width: 18px; height: 18px; flex: none; }
a.telegram-auth[aria-disabled="true"] { opacity: .6; pointer-events: none; }
.tg-wait { display: grid; grid-template-columns: 14px minmax(0, 1fr); gap: 12px; align-items: start; padding: 14px 16px; border-radius: 12px;
  background: rgba(85, 242, 178, .07); border: 1px solid rgba(85, 242, 178, .25); }
.tg-wait b { display: block; font-size: 15px; }
.tg-wait small { display: block; margin-top: 4px; opacity: .75; font-size: 13px; line-height: 1.45; }
.tg-wait-dot { width: 10px; height: 10px; margin-top: 5px; border-radius: 50%; background: #55f2b2; animation: tg-pulse 1.4s ease-in-out infinite; }
@keyframes tg-pulse { 50% { opacity: .3; transform: scale(.8); } }
@media (prefers-reduced-motion: reduce) { .tg-wait-dot { animation: none; } }
