/* «Моя анкета» -- отдельная страница #/profile/questions (не всплывающее
   окно), повторение референса ankihu_edit_profile_premium_v5.html: иконки,
   расположение, пропорции. Премиальная палитра -- та же, что у
   profile-sheet.css (тот же исходный референс), объявлена здесь на
   .anketa-page, потому что страница не лежит внутри .profile-sheet.
   Кнопки/абзацы стилизуются через ".anketa-page button..."/"p..." --
   сильнее общих сбросов design-tokens.css/cabinet.css. */
.anketa-page {
  --profile-sheet-ink: #f4ecd5; --profile-sheet-muted: #b3c3b6;
  --profile-sheet-gold: #d7b76d; --profile-sheet-line: rgba(201, 185, 120, .19);
  color: var(--profile-sheet-ink);
}
.anketa-page-head { display: flex; align-items: center; gap: 14px; margin: 0 0 18px; padding: 4px 0 16px; border-bottom: 1px solid var(--profile-sheet-line); }
.anketa-page button.anketa-back {
  flex: none; display: grid; place-items: center; width: 40px; height: 40px; min-height: 40px; margin: 0; padding: 0; border-radius: 50%;
  color: #d8cd9e; background: linear-gradient(135deg, #19372970, #05231870); border: 1px solid #ac98563d; box-shadow: inset 0 1px 0 #d9e5b618, 0 4px 12px #0002;
}
.anketa-page button.anketa-back .anketa-ic { width: 20px; height: 20px; }
.anketa-page p.anketa-page-kicker { margin: 0 0 4px; font-size: 10.5px; letter-spacing: .13em; text-transform: uppercase; color: var(--profile-sheet-gold); }
.anketa-page-title { margin: 0; font-family: Georgia, 'Times New Roman', serif; font-size: 30px; font-weight: 400; line-height: 1.15; letter-spacing: -.03em; color: #f5e7c0; }
.anketa-defs { position: absolute; width: 0; height: 0; overflow: hidden; }
.anketa-ic { width: 19px; height: 19px; flex: none; }

.anketa-page p.anketa-note { margin: 0 0 14px; font-size: 12.5px; line-height: 1.55; color: var(--profile-sheet-muted); }
.anketa-page p.anketa-save-state { min-height: 14px; margin: 0 0 8px; font-size: 11.5px; line-height: 1.4; color: #f3a68f; }
.anketa-save-state:empty { display: none; }

/* Плашка-иконка + заголовок/подпись -- общий блок для строки любого уровня. */
.anketa-icon-tile {
  display: grid; place-items: center; flex: none; width: 34px; height: 34px;
  border: 1px solid #bcad623d; border-radius: 11px; color: #deca8e;
  background: linear-gradient(130deg, #44603a60, #153c294f); box-shadow: inset 0 1px 0 rgba(230, 224, 168, .1), 0 2px 5px rgba(0, 0, 0, .18);
}
.anketa-row-copy { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 5px; text-align: left; }
/* Три уровня заголовков: раздел (крупно, ярко) > строка/тема внутри
   (мельче, приглушённее) > подпись поля (обычный текст). */
.anketa-block-title { font-family: Georgia, 'Times New Roman', serif; font-size: 20px; font-weight: 400; color: #ffedc0; letter-spacing: -.025em; line-height: 1.18; }
.anketa-row-title { font-family: Georgia, 'Times New Roman', serif; font-size: 15px; font-weight: 500; color: #d7c794; letter-spacing: -.005em; line-height: 1.25; }
.anketa-row-copy small { display: block; font-size: 10.5px; line-height: 1.45; color: #86a08d; font-weight: 400; }
.anketa-block-head .anketa-row-copy small { font-size: 11px; color: #a9bea8; }
.anketa-chevron { flex: none; display: grid; place-items: center; width: 13px; color: #bba778; transition: transform .24s var(--ease-premium, ease); transform: rotate(90deg); }
.anketa-chevron .anketa-ic { width: 13px; height: 13px; }
.anketa-block.is-open > .anketa-block-head .anketa-chevron, .anketa-accordion.is-open > .anketa-accordion-head .anketa-chevron { transform: rotate(-90deg); }

/* Карточка раздела. Простая сплошная рамка, не градиент через двойной
   background (тот ненадёжно рендерится в Telegram WebView). */
.anketa-block {
  position: relative; isolation: isolate; margin: 0 0 12px; overflow: hidden;
  border: 1px solid rgba(198, 174, 99, .38); border-radius: 21px;
  background: linear-gradient(128deg, #143a28, #08251b);
  box-shadow: inset 0 1px 0 rgba(223, 231, 181, .07), 0 6px 18px rgba(0, 0, 0, .22);
}
.anketa-block::before { content: ''; position: absolute; left: 13%; right: 13%; top: 0; height: 1px; background: linear-gradient(90deg, transparent, rgba(242, 221, 163, .34), transparent); pointer-events: none; }
.anketa-block.is-open { border-color: rgba(201, 184, 116, .55); box-shadow: inset 0 1px 0 rgba(248, 226, 167, .1), 0 8px 22px rgba(0, 0, 0, .28); }
.anketa-page button.anketa-block-head {
  display: flex; align-items: center; gap: 14px; width: 100%; min-height: 92px; margin: 0; padding: 16px;
  border: 0; border-radius: 0; background: transparent; box-shadow: none; color: inherit; text-align: left;
}
.anketa-block.is-open > .anketa-block-head { border-bottom: 1px solid rgba(0, 0, 0, .35); }
/* Раскрытое содержимое -- заметно темнее "крышки", чтобы не сливалось. */
.anketa-block-body { padding: 15px 14px 16px; background: rgba(2, 10, 7, .4); box-shadow: inset 0 1px 4px rgba(0, 0, 0, .3); }

.anketa-ring { position: relative; width: 44px; height: 44px; flex: none; display: grid; place-items: center; }
.anketa-ring.is-small { width: 36px; height: 36px; }
.anketa-ring svg { position: absolute; inset: 0; transform: rotate(-90deg); }
.anketa-ring-track { stroke: rgba(190, 206, 151, .16); }
.anketa-ring span { font-size: 10.5px; color: #f7e8b6; font-variant-numeric: tabular-nums; font-weight: 500; }
.anketa-ring.is-small span { font-size: 9px; }
/* Общий процент всей анкеты -- справа в заголовке страницы, на свободном месте:
   кольцо с процентом внутри и очень лёгкая подпись «N из M» под ним. */
.anketa-page-progress { margin-left: auto; flex: none; display: flex; flex-direction: column; align-items: center; gap: 3px; }
.anketa-page-progress[hidden] { display: none; }
.anketa-ring.is-large { width: 58px; height: 58px; }
.anketa-ring.is-large span { font-size: 14px; font-weight: 500; }
.anketa-page-progress small { font-size: 10px; font-weight: 300; letter-spacing: .02em; color: #86a08d; font-variant-numeric: tabular-nums; }

/* Шаг основной анкеты (заголовок над полями, не кнопка). */
.anketa-row-head { display: flex; align-items: center; gap: 12px; margin: 18px 0 12px; }
.anketa-row-head:first-of-type { margin-top: 2px; }

.anketa-field { margin: 0 0 14px; }
.anketa-field label { display: block; margin: 0 0 7px; font-size: 12px; line-height: 1.4; color: #d3c59b; }
.anketa-input, .anketa-textarea {
  width: 100%; min-height: 46px; padding: 11px 12px; border-radius: 13px;
  border: 1px solid #b6ab6359; background: #08281c; color: var(--profile-sheet-ink);
  font-size: 16px; line-height: 1.5; box-shadow: inset 0 2px 6px rgba(0, 0, 0, .12);
}
.anketa-input:focus, .anketa-textarea:focus { border-color: rgba(231, 202, 137, .75); box-shadow: 0 0 0 3px rgba(222, 190, 114, .1), inset 0 1px 0 rgba(255, 244, 215, .06); outline: 0; }
.anketa-input:disabled { opacity: .5; }
.anketa-textarea { min-height: 96px; resize: vertical; }
.anketa-input[data-basic-custom], .anketa-input[data-answer-custom] { margin-top: 8px; }
.anketa-page p.anketa-field-hint { margin: 6px 2px 0; color: #91aa92; font-size: 11.5px; line-height: 1.45; }
.anketa-birth-trigger {
  appearance: none; display: flex; align-items: center; justify-content: space-between; gap: 10px;
  margin: 0; text-align: left; cursor: pointer;
}
.anketa-birth-trigger .anketa-ic { width: 22px; height: 22px; flex: none; color: #d8be82; }
.anketa-readonly {
  padding: 11px 12px; min-height: 46px; display: flex; align-items: center; gap: 10px;
  border: 1px solid #b7a66a35; border-radius: 12px; background: #092b1e; color: var(--profile-sheet-ink); font-size: 13.5px;
}

.anketa-choices { display: flex; flex-wrap: wrap; gap: 8px; }
.anketa-page button.anketa-choice {
  width: auto; min-height: 40px; margin: 0; padding: 9px 14px; border-radius: 999px;
  font-size: 13px; line-height: 1.35; color: #becfbb; text-align: center;
  border: 1px solid #aa9f6152; background: linear-gradient(135deg, #12332688, #08281baa);
  box-shadow: inset 0 1px 0 rgba(223, 216, 161, .04); transition: border-color .15s, background .15s, color .15s;
}
.anketa-page button.anketa-choice.is-on {
  color: #ffebba; border-color: #d7b76dbb; font-weight: 600;
  background: linear-gradient(135deg, #75633380, #29412a8c);
  box-shadow: inset 0 1px 0 rgba(255, 231, 170, .2), 0 3px 9px rgba(0, 0, 0, .18);
}

.anketa-suggest { margin-top: 5px; border: 1px solid var(--profile-sheet-line); border-radius: 13px; background: #103426; overflow: hidden; box-shadow: 0 10px 26px rgba(0, 0, 0, .32); }
.anketa-page button.anketa-suggest-item {
  display: block; width: 100%; min-height: 44px; margin: 0; padding: 11px 12px; text-align: left;
  font-size: 13.5px; color: var(--profile-sheet-ink); background: transparent;
  border: 0; border-bottom: 1px solid var(--profile-sheet-line); border-radius: 0; box-shadow: none;
}
.anketa-page button.anketa-suggest-item:last-child { border-bottom: 0; }

/* Барабан даты рождения перенесён из активной регистрации v5. Dialog
   находится в document.body/top layer, поэтому цвета заданы здесь напрямую,
   а не через переменные .anketa-page. */
.anketa-birth-dialog {
  box-sizing: border-box; width: min(390px, 100%); max-width: 100%; margin: auto auto 0;
  padding: 22px 20px calc(20px + env(safe-area-inset-bottom)); overflow: hidden;
  border: 1px solid rgba(186, 171, 108, .34); border-radius: 24px 24px 0 0;
  background: linear-gradient(145deg, #103528, #051f15); color: #f6f1e5;
  box-shadow: 0 -15px 80px rgba(0, 0, 0, .47);
}
.anketa-birth-dialog::backdrop { background: rgba(0, 0, 0, .55); backdrop-filter: blur(5px); }
.anketa-birth-dialog h2 { margin: 0 0 14px; color: #f4e6bd; font-family: Georgia, 'Times New Roman', serif; font-size: 22px; font-weight: 400; }
.anketa-birth-wheels {
  position: relative; display: grid; grid-template-columns: .8fr 1.65fr 1.1fr; gap: 5px;
  height: 220px; margin: 0 0 12px;
}
.anketa-birth-wheels::before {
  content: ''; position: absolute; inset: 88px 0 auto; z-index: 0; height: 44px;
  border: 1px solid rgba(208, 180, 115, .4); border-radius: 13px; background: rgba(224, 189, 116, .06); pointer-events: none;
}
.anketa-birth-wheel {
  position: relative; z-index: 1; height: 220px; padding-block: 88px; overflow: hidden auto;
  scroll-snap-type: y mandatory; scrollbar-width: none; overscroll-behavior: contain;
  touch-action: pan-y; -webkit-overflow-scrolling: touch; outline: none;
  mask-image: linear-gradient(transparent, #000 30%, #000 70%, transparent);
}
.anketa-birth-wheel::-webkit-scrollbar { display: none; }
.anketa-birth-wheel:focus-visible { outline: 1px solid rgba(208, 180, 115, .54); border-radius: 12px; }
.anketa-birth-option {
  height: 44px; min-height: 44px; color: #6e8b76; font-size: 18px; line-height: 44px;
  text-align: center; white-space: nowrap; font-variant-numeric: tabular-nums;
  scroll-snap-align: center; cursor: pointer; transition: color .1s;
}
.anketa-birth-option.near { color: #b2bda2; }
.anketa-birth-option.center { color: #f9e5b4; font-size: 20px; font-weight: 500; }
.anketa-birth-error { min-height: 18px; margin: -2px 2px 8px; color: #ffb5a5; font-size: 12px; line-height: 1.45; }
.anketa-birth-error:empty { display: none; }
.anketa-birth-actions { display: grid; grid-template-columns: 1fr 1.4fr; gap: 10px; align-items: center; }
.anketa-birth-dialog button.anketa-birth-cancel,
.anketa-birth-dialog button.anketa-birth-apply {
  width: 100%; min-height: 50px; margin: 0; padding: 11px 14px; border-radius: 13px;
  font-size: 14px; font-weight: 600; cursor: pointer;
}
.anketa-birth-dialog button.anketa-birth-cancel { border: 1px solid rgba(208, 180, 115, .35); background: rgba(8, 40, 28, .72); color: #d5ddcd; }
.anketa-birth-dialog button.anketa-birth-apply { border: 1px solid #e2c677; background: linear-gradient(135deg, #f0d58c, #bc9344); color: #10261b; box-shadow: inset 0 1px 0 rgba(255, 255, 255, .35); }

/* Строка-тема внутри раздела (раскрывается на месте). Светлее утопленного
   фона раздела -- читается как отдельная приподнятая карточка. */
.anketa-accordion {
  position: relative; margin: 0 0 10px; overflow: hidden;
  border: 1px solid rgba(185, 173, 94, .28); border-radius: 16px;
  background: linear-gradient(160deg, #1a4029, #103021);
  box-shadow: inset 0 1px 0 rgba(223, 231, 181, .05), 0 3px 10px rgba(0, 0, 0, .2);
}
.anketa-accordion.is-open { border-color: rgba(201, 184, 116, .42); box-shadow: inset 0 1px 0 rgba(223, 231, 181, .05), 0 4px 14px rgba(0, 0, 0, .26); }
.anketa-page button.anketa-accordion-head {
  display: flex; align-items: center; gap: 12px; width: 100%; min-height: 72px; margin: 0; padding: 14px;
  border: 0; border-radius: 0; background: transparent; box-shadow: none; color: inherit; text-align: left;
}
.anketa-accordion.is-open > .anketa-accordion-head { border-bottom: 1px solid rgba(0, 0, 0, .3); }
/* Строка над списком тем, как .body-kicker референса. */
.anketa-kicker { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 0 4px 10px; font-size: 10.5px; letter-spacing: .02em; color: #91aa92; }
.anketa-accordion-body { min-width: 0; padding: 14px 12px 4px; background: rgba(2, 10, 7, .3); box-shadow: inset 0 1px 4px rgba(0, 0, 0, .22); }
.anketa-accordion .anketa-field { margin: 0 0 14px; }

/* Карточка вопроса. */
.anketa-question {
  min-width: 0; margin: 0 0 12px; padding: 15px 14px 14px; border-radius: 16px;
  border: 1px solid #b4ad7033; background: linear-gradient(130deg, #113426, #09281d);
  box-shadow: inset 0 1px 0 rgba(223, 231, 181, .06), 0 4px 14px rgba(0, 0, 0, .16);
}
.anketa-question.is-answered { border-color: #bdae6859; }
.anketa-question-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 0 0 10px; }
.anketa-question-number { font-family: Georgia, 'Times New Roman', serif; font-size: 14px; color: #d0b979; letter-spacing: .045em; }
.anketa-question-kind { font-size: 10.5px; color: #8faa92; }
.anketa-question.is-answered .anketa-question-kind { color: #d0b979; }
.anketa-page p.anketa-question-title {
  margin: 0 0 13px; font-size: 15px; line-height: 1.5; color: #eae7d4; font-weight: 500;
  word-break: normal; overflow-wrap: break-word;
}
.anketa-page p.anketa-question-helper { margin: -6px 0 13px; font-size: 12px; line-height: 1.6; color: #96b29d; }

/* Строка действий внизу карточки -- как .question-actions/.principle/
   .defer-answer референса: обычный текст со значком, без рамки и фона. */
.anketa-question-actions {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 2px 10px;
  margin-top: 14px; padding-top: 6px; border-top: 1px solid #b4ad7023;
}
.anketa-page button.anketa-principle {
  width: auto; min-height: 44px; margin: 0; padding: 6px 0; border: 0; border-radius: 10px;
  background: transparent; box-shadow: none; text-align: left; font-size: 11px; line-height: 1.3;
  display: flex; align-items: center; gap: 7px; color: #8da88f;
}
.anketa-star-ic { width: 19px; height: 19px; stroke-width: 1.5; color: #a79765; fill: transparent; transition: fill .16s, color .16s, filter .2s, transform .18s; }
.anketa-principle[aria-pressed="true"] .anketa-star-ic { color: #ffe77c; fill: #ffd557; stroke: #ffed9b; filter: drop-shadow(0 0 4px #ffce43dd) drop-shadow(0 0 10px #edac2b99); transform: scale(1.08); }
.anketa-principle[aria-pressed="true"] span { color: #ffe4a0; }
/* "Обсудить лично" -- последний пункт среди вариантов, но с пунктирной
   рамкой: это не содержательный ответ, а отказ отвечать здесь. */
.anketa-page button.anketa-choice.anketa-defer-chip { border-style: dashed; color: #a9bea8; }
.anketa-page button.anketa-choice.anketa-defer-chip.is-on { border-style: solid; color: #ffebba; }
.anketa-defer-row { margin-top: 10px; }

.anketa-voice { display: flex; align-items: flex-start; gap: 12px; margin-top: 6px; padding: 16px 14px; border: 1px dashed #bba76648; border-radius: 17px; background: linear-gradient(120deg, #28412770, #0a2a1d); }
.anketa-voice b { display: block; margin-bottom: 5px; font-family: Georgia, 'Times New Roman', serif; font-size: 17px; font-weight: 400; color: #f0ddb1; }
.anketa-page .anketa-voice p { margin: 0; font-size: 12px; line-height: 1.55; color: #96af96; }
.anketa-voice .anketa-icon-tile { color: #dec388; }

@media (hover:hover) and (pointer:fine) {
  .anketa-page button.anketa-choice:hover { border-color: #cabc766e; }
  .anketa-page button.anketa-block-head:hover,
  .anketa-page button.anketa-accordion-head:hover { background: rgba(226, 215, 157, .03); }
}
.anketa-page button.anketa-choice:focus-visible,
.anketa-page button.anketa-principle:focus-visible,
.anketa-page button.anketa-block-head:focus-visible,
.anketa-page button.anketa-accordion-head:focus-visible,
.anketa-page button.anketa-suggest-item:focus-visible { outline: 2px solid #f0d58c; outline-offset: -2px; text-decoration: none; }
@media (prefers-reduced-motion: reduce) { .anketa-star-ic, .anketa-chevron { transition: none; } }
@media (prefers-reduced-motion: reduce) { .anketa-birth-option { transition: none; } }
@media (min-width: 541px) { .anketa-birth-dialog { margin: auto; border-radius: 24px; } }
@media (max-width: 380px) {
  .anketa-icon-tile { width: 30px; height: 30px; }
  .anketa-block-title { font-size: 18px; }
  .anketa-row-title { font-size: 14px; }
  .anketa-page p.anketa-question-title { font-size: 14px; }
  .anketa-birth-dialog { padding-inline: 15px; }
  .anketa-birth-option { font-size: 17px; }
  .anketa-birth-option.center { font-size: 19px; }
}

/* Помощь в никахе: заявка помощника (те же блоки и поля, что в «Моей анкете») */
.helper-page .anketa-block-head{cursor:default}
.helper-birth{display:grid;grid-template-columns:1fr 1.6fr 1.2fr;gap:8px}
.helper-role{border-radius:14px!important;display:flex;flex-direction:column;align-items:flex-start;gap:3px;width:100%;text-align:left;margin-bottom:8px;padding:12px 14px}
.helper-role b{font-size:15px}
.helper-role small{font-size:12px;opacity:.8;line-height:1.35}
.helper-duties{margin:0 0 12px;padding-left:20px;line-height:1.5;font-size:14px}
.helper-duties li{margin-bottom:6px}
.helper-agree{width:100%}
.helper-status{margin:0 0 14px;padding:12px 14px;border-radius:16px;border:1px solid rgba(224,193,124,.35);background:rgba(224,193,124,.08);line-height:1.45}
.helper-status p{margin:6px 0 0}
.helper-status--approved{border-color:rgba(91,214,168,.5);background:rgba(91,214,168,.08)}
.helper-status--rejected,.helper-status--suspended{border-color:rgba(255,120,110,.5);background:rgba(255,120,110,.08)}
.helper-problems{margin:6px 0 12px;padding:12px 14px;border-radius:14px;background:rgba(255,120,110,.1);border:1px solid rgba(255,120,110,.4);font-size:14px}
.helper-problems ul{margin:6px 0 0;padding-left:18px}
.helper-doc{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
.helper-upload{display:inline-flex;cursor:pointer}
.helper-submit{width:100%;min-height:50px;margin:6px 0 24px;border:0;border-radius:16px;font-weight:700;font-size:16px;color:#1f1806;background:linear-gradient(180deg,#f4de9a,#dcb865 52%,#b98f42)}
.helper-submit:disabled{opacity:.6}
.helper-request{padding:10px 0;border-bottom:1px solid rgba(255,255,255,.08)}
.helper-request p{margin:4px 0;font-size:14px;line-height:1.4}
.helper-request small{color:#a9bea8}
.helper-request__actions{display:flex;gap:8px;margin-top:8px}
.helper-request__actions .helper-submit{margin:0;min-height:42px;flex:1}
