/* nv_tasks — ветка nav-redesign (45_NAVIGATION.md, вариант Б): вкладка «Задания» = «Цели» | «Соревнования».
   Макет — «Предлагаю\7_Задания_цели_отдельно_от_соревнований.png»: задание истории полосой, задания дня строками,
   серия входа одной строкой; лига первой в «Соревнованиях», закрытый Хозяин — серой строкой. */

/* переключатель разделов — сразу под заголовком; число — на закрытом разделе */
.nvt .nvt-seg { margin-top: 16px; }
.nvt .nvt-seg button .n { display: inline-block; margin-left: 6px; opacity: .85; }
.nvt .tm-sec { margin-top: 24px; }

/* задание истории: полоса, как на «Рыбалке» (story.css .sts) */
.nvt .nvt-story .sts { margin-top: 14px; }
.nvt .tk-story { margin-top: 14px; }
.nvt .tk-pass { margin-top: 10px; }

/* серия входа — одна строка: огонёк, «N дней подряд · что дадут», галочка или «Забрать» */
.nvt .tk-streak.nvt-streak { margin-top: 10px; min-height: 50px; border-radius: 18px; grid-template-columns: 26px minmax(0, 1fr) auto; gap: 10px;
  padding: 6px 8px 6px 14px; }
.nvt-streak .tk-flame svg { width: 22px; height: 22px; }
/* текст идёт строкой: длинная награда («15 мормышек „Полярная“ · сундук на 7-й день») переносится, а не обрезается */
.nvt-streak-tx { display: block; min-width: 0; padding-block: 4px; line-height: 1.2; overflow-wrap: anywhere; }
.nvt-streak-tx b { font-size: 19px; line-height: 1; margin-right: 7px; }
.nvt-streak-tx small { font-size: 12.5px; font-weight: 600; color: rgba(246, 243, 236, .72); }
.nvt-streak .tk-got { width: 30px; height: 30px; }
.nvt-streak .tk-got svg { width: 17px; height: 17px; }
.nvt-streak .tk-btn.small { align-self: center; }

/* задание дня строкой: задание и награда, под ними полоса и «N из M» (раздел 10: было ~135 px, стало ~90) */
.nvt-qs { display: flex; flex-direction: column; gap: 8px; }
.nvt-q { position: relative; overflow: hidden; border-radius: 20px; padding: 12px 14px 12px 16px; display: flex; flex-direction: column; gap: 10px; }
.nvt-q-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.nvt-q-d { min-width: 0; font: 700 16.5px/1.25 var(--f-text); color: var(--ink); overflow-wrap: anywhere; }
.nvt-q-rew { flex: none; display: inline-flex; align-items: center; gap: 4px; padding-top: 1px; font-size: 18px; font-weight: 900; color: var(--accent); white-space: nowrap; }
.nvt-q-rew svg { width: 14px; height: 14px; flex: none; }
.nvt-q-bot { display: flex; align-items: center; gap: 12px; min-height: 22px; }
.nvt-q-bot .tk-bar { flex: 1; min-width: 0; }
.nvt-q-of { flex: none; font-size: 19px; font-weight: 900; line-height: 1; color: rgba(246, 243, 236, .6); white-space: nowrap; font-variant-numeric: tabular-nums; }
.nvt-q-of span { color: var(--ink); }
.nvt-q-bot .tk-btn.small { height: 34px; align-self: center; }
/* выполнено — золотая рамка и «Забрать»; забрано — серая строка с галочкой */
.nvt-q.done { border: 1.5px solid var(--accent); background: rgba(243, 210, 139, .14); }
.nvt-q.claimed { flex-direction: row; align-items: center; gap: 12px; min-height: 52px; padding: 8px 14px; color: rgba(246, 243, 236, .55);
  background: rgba(255, 255, 255, .04); border: 1px solid rgba(255, 255, 255, .1); }
.nvt-q.claimed .tk-check { width: 30px; height: 30px; }
.nvt-q.claimed .tk-check svg { width: 17px; height: 17px; }
.nvt-q.claimed .nvt-q-d { flex: 1; font-size: 15px; color: rgba(246, 243, 236, .62); }
.nvt-q-got { flex: none; font-size: 12.5px; font-weight: 700; white-space: nowrap; }
.nvt-q.claiming { animation: tkClaiming .62s ease-in both !important; }
.nvt-q.claimed.just { animation: tkJust .55s cubic-bezier(.3, 1.4, .5, 1) both; }
.nvt-q.claimed.just .tk-check { animation: tkCheck .6s .12s cubic-bezier(.3, 1.9, .5, 1) both; }
.tk.intro .nvt-q { animation: hbRise .55s cubic-bezier(.2, .8, .2, 1) both; animation-delay: calc(260ms + var(--i, 0) * 90ms); }
.nvt .nvt-reroll { margin-top: 8px; height: 44px; font-size: 18px; }

/* «Соревнования»: лига первой, турнир дня строкой */
.nvt-comps { margin-top: 14px; display: flex; flex-direction: column; gap: 10px; }
.nvt .nvt-comps .tk-pass { margin-top: 0; }
.nvt-league .tk-pass-tx { gap: 3px; }
.nvt-league small.nvt-hint { font-size: 12px; color: rgba(246, 243, 236, .55); }
.nvt-comp { width: 100%; min-height: 64px; border-radius: 20px; display: grid; grid-template-columns: 32px minmax(0, 1fr) auto; align-items: center; gap: 10px;
  padding: 10px 12px 10px 14px; text-align: left; color: var(--ink); transition: transform .15s; }
.nvt-comp:active { transform: scale(.975); }
.nvt-comp.hot { border-color: rgba(243, 210, 139, .55); }
.nvt-comp-ico { display: grid; place-items: center; color: var(--accent); }
.nvt-comp-ico svg { width: 26px; height: 26px; }
.nvt-comp-tx { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.nvt-comp-tx b { font-size: 22px; line-height: 1; }
.nvt-comp-tx small { font-size: 12.5px; font-weight: 600; line-height: 1.3; color: rgba(246, 243, 236, .62); overflow-wrap: anywhere; }
.nvt-comp-tx small.ink { font-size: 14px; font-weight: 700; color: var(--ink); }
.nvt-place { min-width: 46px; display: flex; flex-direction: column; align-items: center; font-size: 30px; font-weight: 900; line-height: .9; color: var(--accent); }
.nvt-place small { font-family: var(--f-text); font-style: normal; font-size: 11px; font-weight: 700; color: rgba(246, 243, 236, .6); }
.nvt .tk-tops { margin-top: 10px; }
.tk.intro .nvt-comp { animation: hbRise .55s cubic-bezier(.2, .8, .2, 1) .26s both; }

/* Хозяин недели на месте, которое ещё закрыто уровнем, — одна серая строка */
.nvt-lock { margin-top: 10px; min-height: 56px; border-radius: 20px; display: grid; grid-template-columns: 32px minmax(0, 1fr); align-items: center; gap: 10px;
  padding: 9px 14px; border: 1px dashed rgba(246, 243, 236, .28); color: rgba(246, 243, 236, .55); }
.nvt-lock-ico { display: grid; place-items: center; }
.nvt-lock-ico svg { width: 22px; height: 22px; }
.nvt-lock-tx { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.nvt-lock-tx b { font-size: 19px; line-height: 1.05; color: rgba(246, 243, 236, .7); }
.nvt-lock-tx small { font-size: 12.5px; font-weight: 600; line-height: 1.3; overflow-wrap: anywhere; }

@media (prefers-reduced-motion: reduce) { .nvt-q, .nvt-comp { animation: none !important; } }
