:root{--ink:#20312e;--muted:#61716e;--paper:#f6f8f5;--card:#fff;--teal:#14756d;--teal-soft:#ddf1ec;--orange:#f3a25a;--red:#c65855;--line:#dde5e1;--shadow:0 12px 30px rgba(28,54,48,.09)}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:var(--teal);text-decoration:none}header{min-height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 6vw;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}.brand a{font-size:21px;color:var(--ink);letter-spacing:-.5px}.brand strong{color:var(--teal)}nav{display:flex;gap:18px;align-items:center;font-size:14px}nav a{color:var(--muted)}main{width:min(1120px,88vw);margin:44px auto 72px}footer{color:var(--muted);font-size:13px;text-align:center;padding:30px;border-top:1px solid var(--line)}h1{font-size:clamp(30px,5vw,48px);line-height:1.08;letter-spacing:-1.5px;margin:8px 0 16px}h2{line-height:1.2}h3{line-height:1.25}.muted{color:var(--muted)}.eyebrow,.step{display:block;color:var(--teal);font-weight:700;font-size:12px;letter-spacing:1.2px;text-transform:uppercase}.hero{display:grid;grid-template-columns:1.5fr .8fr;gap:42px;align-items:center;min-height:60vh}.hero p{font-size:18px;color:var(--muted);max-width:650px}.hero-card,.form-card,.session-card,.next-action,.problem-card,.table-card,.chart-grid article,.metrics>div,.empty{background:var(--card);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}.hero-card{padding:28px}.hero-card ol{padding-left:20px;color:var(--muted)}.button{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--teal);border-radius:10px;padding:10px 15px;font-weight:700;cursor:pointer;background:transparent;color:var(--teal);font:inherit}.button.primary{color:#fff;background:var(--teal)}.button.ghost{border-color:var(--line);color:var(--ink);background:#fff}.button.small{font-size:13px;padding:7px 10px}.dashboard-head,.page-head{display:flex;justify-content:space-between;gap:22px;align-items:flex-end;margin-bottom:24px}.next-action{padding:30px;margin:22px 0;background:linear-gradient(120deg,#e9f7f3,#fff)}.next-action h2{font-size:27px;margin:6px 0}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:26px 0}.metrics>div{padding:16px}.metrics span{display:block;font-size:13px;color:var(--muted)}.metrics strong{display:block;font-size:24px;margin-top:5px}.form-card{padding:32px;max-width:900px;margin:0 auto}.form-card.narrow{max-width:630px}.form-card label{display:block;font-weight:650;margin:17px 0}.form-card input:not([type=radio]):not([type=checkbox]),.form-card textarea,.session-card input:not([type=radio]):not([type=checkbox]),.session-card textarea{display:block;width:100%;border:1px solid #bdcdc8;border-radius:9px;background:#fff;padding:11px 12px;font:inherit;color:var(--ink);margin-top:6px}.form-card textarea,.session-card textarea{resize:vertical;min-height:78px}.check{display:flex!important;gap:9px;align-items:flex-start;font-weight:500!important}.check input{margin-top:5px}fieldset{border:0;border-top:1px solid var(--line);padding:19px 0;margin:0}legend{font-weight:650;padding:0 0 12px}.scale{display:flex;gap:5px;flex-wrap:wrap}.scale label{margin:0!important;position:relative}.scale input{position:absolute;opacity:0}.scale span{display:inline-flex;width:34px;height:34px;align-items:center;justify-content:center;border:1px solid #cbd7d3;border-radius:8px;color:var(--muted);cursor:pointer}.scale input:checked+span{background:var(--teal);color:#fff;border-color:var(--teal)}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.tabs a{padding:8px 12px;border-radius:20px;color:var(--muted);background:#e8eeeb}.tabs a.selected{background:var(--teal);color:#fff}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.problem-card{padding:18px;display:flex;flex-direction:column}.problem-card h3{font-size:17px;margin:15px 0 6px}.problem-card p{color:var(--muted);font-size:14px;margin:0 0 20px}.card-top,.card-actions,.actions{display:flex;align-items:center;justify-content:space-between;gap:8px}.card-actions{margin-top:auto;justify-content:flex-start;flex-wrap:wrap}.card-actions form{display:inline}.pill{font-size:11px;border-radius:20px;padding:5px 8px;font-weight:750}.pill.intensive{background:#fff0e2;color:#a05a17}.pill.optimized{background:var(--teal-soft);color:#12665f}.session-card{max-width:700px;margin:0 auto;padding:36px}.phrase{font-size:24px;line-height:1.35;font-weight:700;padding:26px;background:#eef8f5;border-radius:14px;border-left:5px solid var(--teal);margin:22px 0}.chart-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.chart-grid article{padding:22px}.table-card{padding:22px;overflow:auto}table{width:100%;border-collapse:collapse}th,td{padding:12px 10px;border-bottom:1px solid var(--line);text-align:left}th{font-size:12px;text-transform:uppercase;letter-spacing:1px;color:var(--muted)}.flag{color:#9d382f;background:#ffe6e1;padding:4px 8px;border-radius:20px;font-size:12px;font-weight:700}.flag-list{padding-left:18px}.empty{padding:36px;text-align:center;color:var(--muted)}blockquote{margin:20px 0;padding:16px 20px;background:#edf4f1;border-radius:12px;border-left:4px solid var(--teal);font-size:18px}.flash{padding:13px 16px;border-radius:10px;margin:0 0 18px}.flash.success{background:#dff4ec;color:#0f6257}.flash.error{background:#ffe8e4;color:#9b3028}@media(max-width:800px){header{padding:0 5vw;min-height:62px}.brand a{font-size:18px}nav{gap:10px;font-size:12px;overflow:auto;max-width:70vw}main{width:min(92vw,700px);margin-top:26px}.hero{grid-template-columns:1fr;min-height:unset}.metrics{grid-template-columns:repeat(2,1fr)}.card-grid{grid-template-columns:1fr}.chart-grid{grid-template-columns:1fr}.dashboard-head,.page-head{align-items:flex-start;flex-direction:column}.form-card,.session-card{padding:22px}.phrase{font-size:20px}.scale span{width:31px;height:31px}}

/* Контекстные объяснения и первый мини-курс */
.guidance {
  margin: 1rem 0;
  padding: .85rem 1rem;
  border-left: 4px solid #1e827c;
  border-radius: .4rem;
  background: #edf8f6;
  color: #23413e;
}
.guidance strong { display: block; margin-bottom: .2rem; }
.guidance p { margin: 0; line-height: 1.45; }
.onboarding { min-height: 340px; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; }
.onboarding h1 { max-width: 24ch; }
.onboarding p { max-width: 58ch; font-size: 1.05rem; line-height: 1.6; }
.onboarding-example { margin: 1.25rem 0; padding: .85rem 1rem; border-radius: .45rem; background: #f7f7f3; color: #53615e; }
@media (max-width: 640px) { .guidance { padding: .75rem .85rem; } .onboarding { min-height: 280px; } }

.programming { max-width: 780px; }
.programming-text { margin: 1rem 0; padding: 1rem; max-height: 58vh; overflow-y: auto; border: 1px solid #d7e5e1; border-radius: .45rem; background: #fcfffe; line-height: 1.62; white-space: normal; }
.practice-instruction { margin: 1rem 0 .7rem; padding: .8rem 1rem; border-radius: .4rem; background: #fff7e9; color: #5e461a; line-height: 1.45; }
.phrase { white-space: pre-line; }

.button.danger{border-color:#a83f3c;background:#a83f3c;color:#fff}.button.danger:hover{background:#8e302e}.form-card select{display:block;width:100%;border:1px solid #bdcdc8;border-radius:9px;background:#fff;padding:11px 12px;font:inherit;color:var(--ink);margin-top:6px}.emergency-support{border-color:#e8b6b0}.emergency-support h1{color:#8e302e}

.key-setup { max-width: 780px; }
.anchor-details { margin: 1.25rem 0; padding: 1rem; border: 1px solid #d7e5e1; border-radius: .55rem; background: #fcfffe; }
.anchor-details legend { padding: 0 .35rem; color: #23413e; font-weight: 700; }
.anchor-details label { display: block; margin-top: .85rem; }
.anchor-details textarea { min-height: 82px; resize: vertical; }
.progress-track { width: 100%; height: 8px; margin: .65rem 0 1.15rem; overflow: hidden; border-radius: 999px; background: #e2eeeb; }
.progress-track span { display: block; height: 100%; border-radius: inherit; background: #1e827c; transition: width .18s ease; }
.hand-instruction { max-width: 626px; margin: 1rem auto; padding: .75rem; border: 1px solid #d7e5e1; border-radius: .55rem; background: #fcfffe; }
.hand-instruction img { display: block; width: 100%; height: auto; border-radius: .35rem; }
.hand-instruction figcaption { margin-top: .65rem; color: #39504b; line-height: 1.45; }
.test-fast .scale label { cursor: pointer; }
.test-actions { margin-top: 1rem; }
@media (max-width: 640px) { .anchor-details { padding: .8rem; } .hand-instruction { margin: .8rem 0; padding: .55rem; } .programming-text { max-height: none; } }

/* Исходный тест: сначала видна формулировка, затем — шкала. */
.test-fast { max-width: 760px; }
.test-fast .test-scale-hint { margin: .1rem 0 1.15rem; color: var(--muted); font-size: .92rem; line-height: 1.4; }
.test-fast .test-question { margin: 0; padding: 0 0 1.35rem; border-top: 0; }
.test-fast .test-question legend { max-width: 34ch; padding: 0; color: var(--ink); font-size: clamp(1.32rem, 2.35vw, 1.78rem); font-weight: 680; line-height: 1.34; letter-spacing: -.018em; }
.test-fast .scale { margin-top: 1.15rem; gap: .55rem; }
.test-fast .scale span { width: 42px; height: 42px; font-size: 1.03rem; font-weight: 750; }
.test-fast.is-saving .scale { opacity: .55; pointer-events: none; }
.test-demo-fill { margin: 0 0 0 auto; }
.test-demo-fill .button { color: var(--muted); }
@media (max-width: 640px) { .test-fast .test-question legend { max-width: none; font-size: clamp(1.18rem, 5vw, 1.46rem); line-height: 1.36; } .test-fast .scale { gap: .36rem; } .test-fast .scale span { width: 37px; height: 37px; } .test-demo-fill { width: 100%; margin-top: .35rem; } }

/* Ежедневная отметка настроения. */
.mood-entry { max-width: 820px; }
.mood-entry h1 { max-width: 20ch; }
.mood-entry fieldset { padding: 1.15rem 0 1.35rem; }
.mood-entry legend { color: var(--ink); font-size: 1.08rem; }
.mood-scale-hint { color: var(--muted); font-size: .98rem; line-height: 1.45; }
.mood-scale { display: flex; flex-wrap: wrap; gap: .44rem; margin-top: .75rem; }
.mood-scale label { margin: 0 !important; position: relative; }
.mood-scale input { position: absolute; opacity: 0; }
.mood-scale span { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border: 1px solid #cbd7d3; border-radius: 10px; background: #fff; color: var(--ink); font-size: .98rem; font-weight: 750; cursor: pointer; }
.mood-scale input:checked + span { border-color: var(--teal); background: var(--teal); color: #fff; box-shadow: 0 0 0 3px rgba(20,117,109,.15); }
.mood-scale input:focus-visible + span { outline: 3px solid #f3a25a; outline-offset: 2px; }
.mood-relationship-note { margin-top: 0; }
.mood-entry button[disabled] { cursor: not-allowed; opacity: .55; }
@media (max-width: 640px) { .mood-entry h1 { font-size: clamp(1.8rem, 8vw, 2.25rem); } .mood-scale { gap: .34rem; } .mood-scale span { width: 38px; height: 38px; font-size: .88rem; } }
@media (max-width: 390px) { .mood-scale { gap: .27rem; } .mood-scale span { width: 35px; height: 35px; font-size: .8rem; } }

.mood-scale-reference { margin: .8rem 0 1.2rem; border: 1px solid var(--line); border-radius: 12px; background: #fbfdfc; }
.mood-scale-reference summary { padding: .8rem 1rem; color: var(--teal); font-weight: 750; cursor: pointer; }
.mood-scale-reference ul { display: grid; grid-template-columns: 1fr; gap: .28rem; margin: 0; padding: 0 1rem 1rem; list-style: none; max-width: 34rem; }
.mood-scale-reference li { display: flex; gap: .45rem; align-items: baseline; color: var(--muted); font-size: .9rem; line-height: 1.32; }
.mood-scale-reference li strong { min-width: 2.7rem; color: var(--ink); }
.mood-scale-reference li:nth-child(11) { margin: .16rem 0; padding: .35rem .5rem; border-radius: 8px; background: #eef8f6; color: var(--ink); }

/* Дневной план и активный таймер. */
.daily-plan-summary { margin: 1.15rem 0; padding: 1.25rem; border: 1px solid var(--line); border-radius: 16px; background: #fff; box-shadow: var(--shadow); }
.daily-plan-summary h2 { margin: .25rem 0 .4rem; font-size: 1.35rem; }
.daily-plan-summary p { margin: 0; color: var(--muted); }
.daily-plan-summary ul { display: grid; gap: .45rem; margin: 1rem 0 0; padding: 0; list-style: none; }
.daily-plan-summary li { display: grid; grid-template-columns: 4.1rem minmax(0, 1fr); gap: .65rem; align-items: baseline; padding-top: .45rem; border-top: 1px solid #eef2f0; }
.daily-plan-summary li span { color: var(--teal); font-size: .76rem; font-weight: 750; text-transform: uppercase; letter-spacing: .04em; }
.daily-plan-summary li.done { color: var(--muted); text-decoration: line-through; }
.active-practice-timer { position: fixed; right: 1rem; bottom: 1rem; z-index: 10; display: grid; gap: .12rem; width: min(320px, calc(100vw - 2rem)); padding: .85rem 1rem; border: 1px solid #cfe2dd; border-radius: 14px; background: rgba(252,255,254,.96); box-shadow: 0 10px 28px rgba(28,54,48,.16); backdrop-filter: blur(8px); }
.active-practice-timer .timer-label { color: var(--muted); font-size: .75rem; font-weight: 750; letter-spacing: .04em; text-transform: uppercase; }
.active-practice-timer strong { font-variant-numeric: tabular-nums; font-size: 1.35rem; letter-spacing: .04em; }
.active-practice-timer [data-timer-note] { color: var(--muted); font-size: .82rem; line-height: 1.35; }
.active-practice-timer.timer-target { border-color: #e8c58e; background: #fffaf0; }
.active-practice-timer.timer-limit { border-color: #e6a65a; background: #fff5e8; }
.active-practice-timer.timer-stop { border-color: #d58b82; background: #fff0ed; }
@media (max-width: 640px) { .daily-plan-summary { padding: 1rem; } .daily-plan-summary li { grid-template-columns: 3.6rem minmax(0,1fr); gap: .5rem; font-size: .92rem; } .active-practice-timer { bottom: .65rem; right: .65rem; width: calc(100vw - 1.3rem); } }

.active-practice-timer .timer-breakdown { color: var(--teal); font-size: .78rem; font-weight: 650; line-height: 1.35; }

/* Свободный доступ к разделам без потери дневного маршрута. */
.free-actions { max-width: 980px; }
.free-action-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; margin: 1.25rem 0; }
.free-action-card { display: grid; gap: .34rem; min-height: 110px; padding: 1rem; border: 1px solid var(--line); border-radius: 14px; background: #fff; color: var(--ink); text-decoration: none; box-shadow: 0 4px 12px rgba(29,57,51,.05); transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease; }
.free-action-card:hover, .free-action-card:focus-visible { border-color: var(--teal); box-shadow: 0 8px 18px rgba(29,57,51,.11); transform: translateY(-1px); outline: none; }
.free-action-card strong { color: var(--teal); font-size: 1.06rem; }
.free-action-card span { color: var(--muted); line-height: 1.4; }
@media (max-width: 640px) { .free-action-grid { grid-template-columns: 1fr; gap: .65rem; } .free-action-card { min-height: 0; padding: .9rem; } }

/* Диагностика: вопрос — единственный главный ориентир на экране. */
.diagnostic-question {
  max-width: 42ch;
  margin: 1.2rem 0 1.4rem;
  padding: .95rem 1.1rem 1rem;
  border: 0;
  border-left: 3px solid #58a79f;
  border-radius: 0 12px 12px 0;
  background: #f0f7f5;
  color: #20312e;
  font-size: clamp(1.28rem, 2.35vw, 1.78rem);
  font-weight: 700;
  line-height: 1.38;
  letter-spacing: -.014em;
}
.diagnostic-question::before,
.diagnostic-question::after { content: none; }
@media (max-width: 640px) {
  .diagnostic-question { max-width: none; margin: 1rem 0 1.2rem; padding: .85rem .95rem; font-size: clamp(1.2rem, 5.8vw, 1.5rem); line-height: 1.4; }
}

/* Титульная страница: вовлечение без давления и без завышенных обещаний. */
.landing { display: grid; gap: clamp(3.4rem, 7vw, 6.4rem); padding: clamp(.4rem, 2vw, 1.2rem) 0 2rem; }
.landing-hero { position: relative; display: grid; grid-template-columns: minmax(0, 1.18fr) minmax(295px, .72fr); gap: clamp(2rem, 5vw, 5.5rem); align-items: center; min-height: min(650px, calc(100vh - 145px)); padding: clamp(.2rem, 2vw, 1.4rem) 0; }
.landing-copy h1 { max-width: 12.6ch; margin: .7rem 0 1.35rem; color: var(--ink); font-size: clamp(2.45rem, 5.5vw, 5.2rem); line-height: .98; letter-spacing: -.065em; }
.landing-copy h1 em { color: var(--teal); font-style: normal; }
.landing-lede { max-width: 62ch; margin: 0; color: #40534e; font-size: clamp(1.04rem, 1.45vw, 1.18rem); line-height: 1.64; }
.landing-promises { display: grid; gap: .72rem; margin: 1.7rem 0; }
.landing-promises > div { display: grid; grid-template-columns: 10.8rem minmax(0, 1fr); gap: 1rem; align-items: baseline; padding: .72rem 0; border-top: 1px solid #dce9e5; }
.landing-promises > div:last-child { border-bottom: 1px solid #dce9e5; }
.landing-promises strong { color: var(--ink); font-size: .95rem; }
.landing-promises span { color: var(--muted); font-size: .93rem; line-height: 1.42; }
.landing-cta { display: grid; justify-items: start; gap: .15rem; }
.landing-cta .button { padding: .8rem 1.2rem; font-size: 1.02rem; box-shadow: 0 8px 19px rgba(24, 111, 103, .18); }
.landing-cta .muted { margin: .65rem 0 0; max-width: 48ch; font-size: .87rem; line-height: 1.45; }
.landing-login-options { display: grid; justify-items: start; gap: .5rem; margin-top: .7rem; }
.landing-login-options .google-login { border: 1px solid #cbd8d5; background: #fff; color: #21433e; box-shadow: none; }
.landing-login-options .google-login:hover, .landing-login-options .google-login:focus-visible { border-color: var(--teal); background: #f2faf8; color: #154f49; }
.landing-privacy { max-width: 54ch; margin: .55rem 0 0; color: var(--muted); font-size: .78rem; line-height: 1.4; }
.landing-preview { position: relative; display: grid; gap: .8rem; padding: clamp(1.25rem, 3vw, 2.05rem); overflow: hidden; border: 1px solid #b8dcd5; border-radius: 24px; background: linear-gradient(145deg, #e6f7f3 0%, #f8fffd 62%, #fff 100%); box-shadow: 0 24px 45px rgba(28, 82, 73, .13); }
.landing-preview::after { position: absolute; right: -70px; bottom: -83px; width: 235px; height: 235px; border-radius: 50%; background: rgba(84, 184, 165, .16); content: ""; }
.landing-preview-kicker, .landing-preview-count { position: relative; z-index: 1; margin: 0; color: #376861; font-size: .75rem; font-weight: 800; letter-spacing: .085em; text-transform: uppercase; }
.landing-preview-progress { position: relative; z-index: 1; width: 100%; height: 8px; overflow: hidden; border-radius: 999px; background: #cfe7e2; }
.landing-preview-progress span { display: block; width: 66%; height: 100%; border-radius: inherit; background: var(--teal); }
.landing-preview-task { position: relative; z-index: 1; display: grid; gap: .45rem; margin-top: .35rem; padding: 1.25rem; border-radius: 17px; background: #fff; box-shadow: 0 7px 18px rgba(34, 88, 78, .08); }
.landing-preview-task > span, .landing-preview-next > span { color: var(--teal); font-size: .7rem; font-weight: 800; letter-spacing: .075em; text-transform: uppercase; }
.landing-preview-task strong { color: var(--ink); font-size: clamp(1.35rem, 2.5vw, 1.8rem); line-height: 1.08; }
.landing-preview-task p { margin: 0; color: var(--muted); line-height: 1.42; }
.landing-preview-task b { display: inline-block; margin-top: .35rem; color: #396b63; font-size: .8rem; }
.landing-preview-next { position: relative; z-index: 1; padding: .85rem 1rem; border: 1px solid #d5ebe6; border-radius: 13px; background: rgba(255,255,255,.58); }
.landing-preview-next p { margin: .25rem 0 0; color: var(--muted); font-size: .9rem; }
.landing-section { display: grid; gap: clamp(1.7rem, 4vw, 4.5rem); }
.landing-benefits { grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); align-items: start; padding: clamp(1.4rem, 4vw, 3.2rem); border-radius: 24px; background: #f2f8f6; }
.landing-section h2 { max-width: 20ch; margin: .6rem 0 .9rem; color: var(--ink); font-size: clamp(1.85rem, 3.5vw, 3.15rem); line-height: 1.04; letter-spacing: -.045em; }
.landing-benefits > div > p { max-width: 48ch; margin: 0; color: var(--muted); line-height: 1.6; }
.landing-benefit-grid { display: grid; gap: .7rem; }
.landing-benefit-grid article { padding: 1.15rem 1.25rem; border: 1px solid #dce9e6; border-radius: 16px; background: #fff; }
.landing-benefit-grid article > span { color: var(--teal); font-size: .72rem; font-weight: 850; letter-spacing: .08em; }
.landing-benefit-grid h3 { margin: .35rem 0 .38rem; color: var(--ink); font-size: 1.08rem; }
.landing-benefit-grid p { margin: 0; color: var(--muted); font-size: .92rem; line-height: 1.48; }
.landing-start { grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr); align-items: start; }
.landing-start ol { display: grid; gap: .5rem; margin: 0; padding: 0; list-style: none; counter-reset: landing-steps; }
.landing-start li { position: relative; display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: .9rem; padding: 1rem 0 1rem 3.35rem; border-top: 1px solid var(--line); counter-increment: landing-steps; }
.landing-start li::before { position: absolute; left: 0; top: 1rem; display: grid; width: 2.25rem; height: 2.25rem; place-items: center; border-radius: 50%; background: var(--teal-soft); color: var(--teal); font-size: .78rem; font-weight: 850; content: counter(landing-steps, decimal-leading-zero); }
.landing-start li strong { color: var(--ink); font-size: 1rem; }
.landing-start li span { grid-column: 1 / -1; margin-top: .25rem; color: var(--muted); line-height: 1.48; }
.landing-boundary { padding: 1.1rem 1.2rem; border-left: 4px solid #d6a15c; border-radius: 0 12px 12px 0; background: #fffaf0; color: #5c4b31; font-size: .92rem; line-height: 1.55; }
@media (max-width: 800px) { .landing { gap: 3.4rem; } .landing-hero, .landing-benefits, .landing-start { grid-template-columns: 1fr; } .landing-hero { min-height: unset; } .landing-preview { max-width: 560px; } .landing-section h2 { max-width: 23ch; } }
@media (max-width: 520px) { .landing-copy h1 { font-size: clamp(2.3rem, 12vw, 3.35rem); } .landing-promises > div { grid-template-columns: 1fr; gap: .22rem; } .landing-benefits { margin: 0 -1vw; padding: 1.25rem; border-radius: 17px; } .landing-preview { padding: 1.1rem; border-radius: 18px; } .landing-preview-task { padding: 1rem; } .landing-start li { padding-right: 0; } }

/* Геймификация за участие: регулярность, активное время и подтверждённые действия. */
.activity-summary { margin: 1.3rem 0; padding: clamp(1.1rem, 2.6vw, 1.55rem); border: 1px solid #d5e8e3; border-radius: 17px; background: linear-gradient(115deg, #f4fbf9, #fff); }
.activity-summary-head { display: flex; justify-content: space-between; gap: 1rem; align-items: start; }
.activity-summary h2 { margin: .25rem 0 .35rem; color: var(--ink); font-size: 1.35rem; }
.activity-summary-head p { max-width: 65ch; margin: 0; color: var(--muted); font-size: .92rem; line-height: 1.45; }
.activity-metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .7rem; margin: 1.15rem 0 .95rem; }
.activity-metrics > div { padding: .9rem; border: 1px solid #dfede9; border-radius: 13px; background: rgba(255,255,255,.8); }
.activity-metrics span { display: block; color: var(--muted); font-size: .74rem; font-weight: 750; letter-spacing: .035em; text-transform: uppercase; }
.activity-metrics strong { display: block; margin-top: .22rem; color: var(--teal); font-size: 1.32rem; line-height: 1.15; }
.achievement-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .65rem; margin: 0; padding: 0; list-style: none; }
.achievement-list li { display: grid; gap: .22rem; min-height: 78px; padding: .8rem .85rem; border: 1px solid #e1ece9; border-radius: 12px; background: #fff; }
.achievement-list strong { color: var(--ink); font-size: .9rem; }
.achievement-list span { color: var(--muted); font-size: .79rem; line-height: 1.38; }
.achievement-list .activity-empty { grid-column: 1 / -1; min-height: 0; border-style: dashed; background: transparent; }
@media (max-width: 640px) { .activity-summary-head { display: grid; } .activity-summary-head .button { justify-self: start; } .activity-metrics, .achievement-list { grid-template-columns: 1fr; } .activity-metrics > div { padding: .78rem .85rem; } .activity-metrics strong { font-size: 1.16rem; } }

/* Личные данные и подтверждённые необратимые действия. */
.data-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin: 1.25rem 0; }
.data-actions article { padding: 1.25rem; border: 1px solid var(--line); border-radius: 16px; background: #fff; }
.data-actions h2 { margin: .3rem 0 .5rem; color: var(--ink); font-size: 1.28rem; }
.data-actions p { min-height: 4.3em; margin: 0 0 1rem; color: var(--muted); line-height: 1.48; }
.data-actions .data-danger { border-color: #e8c8c1; background: #fffaf9; }
.delete-account { border-color: #e8c8c1; }
.delete-account h1 { color: #7d3730; }
.admin-profile-actions { display: flex; flex-wrap: wrap; gap: .6rem; justify-content: flex-end; align-items: center; }
@media (max-width: 640px) { .data-actions { grid-template-columns: 1fr; } .data-actions p { min-height: 0; } .admin-profile-actions { justify-content: flex-start; } }


/* Редактируемые эмоции в стандартной и ручной теме. */
.emotion-editor { display: grid; gap: .55rem; margin-top: .4rem; }
.emotion-chips { display: flex; flex-wrap: wrap; gap: .45rem; min-height: 1.9rem; }
.emotion-chip { display: inline-flex; align-items: center; border: 1px solid #b9ded9; border-radius: 999px; background: #eef9f7; color: #175f5a; font: inherit; font-size: .88rem; line-height: 1; padding: .45rem .65rem; cursor: pointer; }
.emotion-chip:hover, .emotion-chip:focus-visible { border-color: #167c76; background: #dff3ef; outline: none; }
.emotion-adder { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .55rem; align-items: end; }
@media (max-width: 480px) { .emotion-adder { grid-template-columns: 1fr; } .emotion-adder .button { width: 100%; } }

/* Публичный вход в проверку на смысловых блоках лендинга. */
.landing-login-options { display: grid; gap: .15rem; margin-top: .55rem; }
.landing-section-cta { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 1rem; padding-top: .25rem; }
.landing-section-cta .button { box-shadow: none; }
.landing-section-cta span { color: var(--muted); font-size: .86rem; line-height: 1.42; }
@media (max-width: 520px) { .landing-section-cta { align-items: stretch; } .landing-section-cta .button { width: 100%; text-align: center; } }

/* Просмотр и изменение сохранённых личных ответов. */
.answers-section { margin: 1.6rem 0; }
.answers-section > h2 { margin: 0 0 .75rem; color: var(--ink); }
.answer-records { display: grid; gap: .75rem; }
.answer-record { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 1.05rem 1.15rem; border: 1px solid #dce9e6; border-radius: 15px; background: #fff; }
.answer-record h3 { margin: .3rem 0 .35rem; color: var(--ink); font-size: 1.08rem; }
.answer-record p { max-width: 70ch; margin: 0; color: var(--muted); line-height: 1.5; }
.answer-record .button { flex: 0 0 auto; }
@media (max-width: 620px) { .answer-record { align-items: stretch; flex-direction: column; } .answer-record .button { width: 100%; text-align: center; } }

/* Кликабельная шкала силы реакции и понятные пояснения в профиле. */
.reaction-scale-field { margin: 1rem 0; padding: 0; border: 0; }
.reaction-scale-field legend { margin-bottom: .6rem; color: var(--ink); font-weight: 700; line-height: 1.35; }
.reaction-scale { display: flex; flex-wrap: wrap; gap: .44rem; }
.reaction-scale label { margin: 0 !important; position: relative; }
.reaction-scale input { position: absolute; opacity: 0; }
.reaction-scale span { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border: 1px solid #cbd7d3; border-radius: 10px; background: #fff; color: var(--ink); font-size: .98rem; font-weight: 750; cursor: pointer; }
.reaction-scale input:checked + span { border-color: var(--teal); background: var(--teal); color: #fff; box-shadow: 0 0 0 3px rgba(20,117,109,.15); }
.reaction-scale input:focus-visible + span { outline: 3px solid #f3a25a; outline-offset: 2px; }
.field-hint { margin: -.25rem 0 1.1rem; color: var(--muted); font-size: .94rem; line-height: 1.48; }
.consent-rules { margin: 1.15rem 0 1.3rem; padding: 1rem 1.05rem; border: 1px solid #d6e6e2; border-radius: 12px; background: #f7fcfa; }
.consent-rules h2 { margin: 0 0 .65rem; font-size: 1.08rem; }
.consent-rules ul { margin: 0; padding-left: 1.2rem; }
.consent-rules li { margin: .55rem 0; color: #31514d; line-height: 1.48; }
@media (max-width: 640px) { .reaction-scale { gap: .34rem; } .reaction-scale span { width: 38px; height: 38px; font-size: .88rem; } }
@media (max-width: 390px) { .reaction-scale { gap: .27rem; } .reaction-scale span { width: 35px; height: 35px; font-size: .8rem; } }

/* Космическая тема МФКЖ.Психолог: спокойная навигация в тёмном небе, а не «тренажёр». */
:root{--ink:#edf5ff;--muted:#b5c2dc;--paper:#081025;--card:rgba(18,31,65,.88);--teal:#79e2d2;--teal-soft:rgba(121,226,210,.16);--orange:#ffb86c;--red:#ff8f9b;--line:rgba(164,190,255,.2);--shadow:0 20px 46px rgba(0,0,0,.32)}
body{position:relative;min-height:100vh;overflow-x:hidden;background:radial-gradient(ellipse at 10% -10%,#2b145c 0%,transparent 43%),radial-gradient(ellipse at 100% 8%,#123c66 0%,transparent 37%),radial-gradient(ellipse at 57% 100%,#123e51 0%,transparent 48%),#081025;color:var(--ink)}
body::before,body::after{position:fixed;z-index:-1;inset:0;pointer-events:none;content:""}body::before{opacity:.58;background-image:radial-gradient(circle at 9% 19%,rgba(255,255,255,.95) 0 1px,transparent 1.6px),radial-gradient(circle at 74% 12%,rgba(121,226,210,.86) 0 1.3px,transparent 1.9px),radial-gradient(circle at 38% 72%,rgba(255,255,255,.78) 0 1px,transparent 1.7px),radial-gradient(circle at 89% 62%,rgba(185,150,255,.88) 0 1.5px,transparent 2px),radial-gradient(circle at 16% 83%,rgba(255,255,255,.75) 0 1px,transparent 1.6px);background-size:185px 177px,271px 239px,223px 201px,317px 283px,163px 197px}body::after{background:radial-gradient(circle at 50% 44%,transparent 0,rgba(4,8,25,.08) 51%,rgba(3,7,18,.45) 100%)}
header{background:rgba(8,16,37,.76);border-bottom-color:rgba(175,205,255,.15);box-shadow:0 8px 28px rgba(0,0,0,.16);backdrop-filter:blur(18px)}.brand a{color:#f6fbff}.brand strong{color:var(--teal);text-shadow:0 0 18px rgba(121,226,210,.42)}nav a{color:#c4cee3}nav a:hover,nav a:focus-visible{color:var(--teal)}footer{border-top-color:var(--line);color:#91a3c4}a{color:var(--teal)}h1,h2,h3{color:#f4f8ff}.eyebrow,.step{color:#93f3e0;text-shadow:0 0 16px rgba(121,226,210,.22)}
.hero-card,.form-card,.session-card,.next-action,.problem-card,.table-card,.chart-grid article,.metrics>div,.empty,.daily-plan-summary{border-color:var(--line);background:var(--card);box-shadow:var(--shadow);backdrop-filter:blur(13px)}.next-action{position:relative;overflow:hidden;background:linear-gradient(126deg,rgba(39,21,94,.92),rgba(11,62,86,.8))}.next-action::after{position:absolute;right:-6rem;bottom:-8rem;width:19rem;height:19rem;border:1px solid rgba(121,226,210,.34);border-radius:50%;box-shadow:0 0 0 32px rgba(121,226,210,.04),0 0 42px rgba(121,226,210,.2);content:""}.next-action>*{position:relative;z-index:1}.next-action h2{color:#fff;text-shadow:0 0 24px rgba(190,168,255,.34)}
.button{border-color:rgba(121,226,210,.66);background:rgba(9,22,48,.45);color:#9ef6e7;box-shadow:inset 0 0 0 1px rgba(255,255,255,.03),0 0 0 rgba(121,226,210,0);transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.button:hover,.button:focus-visible{background:rgba(33,84,108,.76);box-shadow:0 0 22px rgba(121,226,210,.25);transform:translateY(-1px)}.button.primary{border-color:#8ff3e2;background:linear-gradient(130deg,#167f87,#5e38a6);color:#fff;box-shadow:0 9px 22px rgba(82,59,176,.32),0 0 0 1px rgba(166,255,237,.18) inset}.button.ghost{border-color:var(--line);background:rgba(17,31,65,.68);color:#e8efff}.button.danger{border-color:#ff98a2;background:linear-gradient(135deg,#b5445c,#84365d)}
.form-card input:not([type=radio]):not([type=checkbox]),.form-card textarea,.session-card input:not([type=radio]):not([type=checkbox]),.session-card textarea,.form-card select{border-color:rgba(173,202,255,.35);background:rgba(4,15,37,.72);color:#eff6ff}.form-card input:focus,.form-card textarea:focus,.form-card select:focus,.session-card input:focus,.session-card textarea:focus{border-color:var(--teal);outline:3px solid rgba(121,226,210,.15)}.form-card input::placeholder,.form-card textarea::placeholder{color:#8292b2}.guidance{border-left-color:var(--teal);background:linear-gradient(90deg,rgba(26,107,116,.24),rgba(21,34,72,.52));color:#e1f8f4}.guidance strong{color:#b7fff3}.onboarding-example,.anchor-details,.hand-instruction,.programming-text{border-color:var(--line);background:rgba(9,21,49,.65);color:#dce7fa}.hand-instruction figcaption{color:#cbd7ed}.practice-instruction{background:rgba(118,71,19,.24);color:#ffe1af;border:1px solid rgba(255,184,108,.28)}
.progress-track{background:rgba(156,184,255,.18);box-shadow:inset 0 1px 3px rgba(0,0,0,.25)}.progress-track span,.landing-preview-progress span{background:linear-gradient(90deg,#70ecd8,#9980ff);box-shadow:0 0 16px rgba(121,226,210,.55)}.phrase{border-left-color:#a08cff;background:linear-gradient(130deg,rgba(92,47,152,.5),rgba(18,89,102,.36));color:#f7f4ff;box-shadow:0 0 30px rgba(135,108,255,.14)}
.scale span,.mood-scale span,.reaction-scale span{border-color:rgba(167,193,249,.35);background:rgba(7,20,48,.72);color:#dce8fe}.scale input:checked+span,.mood-scale input:checked+span,.reaction-scale input:checked+span{border-color:#a8fff1;background:linear-gradient(135deg,#277e91,#8054bb);box-shadow:0 0 0 3px rgba(121,226,210,.15),0 0 20px rgba(121,226,210,.3)}.tabs a{background:rgba(135,160,215,.14);color:#c6d1e7}.tabs a.selected{background:linear-gradient(135deg,#267d8c,#7347ac);box-shadow:0 0 18px rgba(121,226,210,.2)}
.pill.intensive{background:rgba(255,184,108,.17);color:#ffd49d}.pill.optimized{background:rgba(121,226,210,.16);color:#a9ffef}.flash.success{background:rgba(58,161,139,.2);color:#b6fff0;border:1px solid rgba(121,226,210,.36)}.flash.error{background:rgba(181,59,86,.24);color:#ffd5da;border:1px solid rgba(255,143,155,.36)}.flag{color:#ffd9df;background:rgba(169,53,76,.27)}blockquote{background:rgba(70,57,133,.25);border-left-color:#9d8aff;color:#e9e4ff}th,td{border-bottom-color:var(--line)}th{color:#a9b8d2}.muted,.hero p,.landing-lede,.landing-benefits>div>p,.landing-preview-task p,.landing-preview-next p{color:var(--muted)}
.landing-copy h1,.landing-section h2{color:#f7f9ff;text-shadow:0 0 38px rgba(159,136,255,.2)}.landing-copy h1 em{color:#91f3df;text-shadow:0 0 25px rgba(121,226,210,.4)}.landing-promises>div{border-color:rgba(174,199,255,.2)}.landing-promises strong,.landing-benefit-grid h3,.landing-preview-task strong,.landing-start li strong{color:#f0f5ff}.landing-preview{border-color:rgba(149,232,222,.35);background:linear-gradient(145deg,rgba(46,28,104,.88),rgba(10,55,80,.83) 62%,rgba(12,21,51,.94));box-shadow:0 28px 58px rgba(0,0,0,.38),0 0 40px rgba(100,171,255,.12)}.landing-preview::after{background:radial-gradient(circle,rgba(121,226,210,.3),transparent 68%)}.landing-preview-kicker,.landing-preview-count,.landing-preview-task>span,.landing-preview-next>span{color:#a8ffef}.landing-preview-progress{background:rgba(184,209,255,.17)}.landing-preview-task{border:1px solid rgba(185,211,255,.18);background:rgba(5,14,39,.56);box-shadow:0 9px 27px rgba(1,6,22,.24)}.landing-preview-next{border-color:rgba(121,226,210,.25);background:rgba(11,24,55,.4)}.landing-benefits{border:1px solid rgba(167,195,255,.16);background:linear-gradient(135deg,rgba(18,33,75,.76),rgba(24,63,86,.62))}.landing-benefit-grid article{border-color:rgba(166,195,255,.2);background:rgba(8,20,49,.62)}.landing-benefit-grid article>span{color:#8df3df}.landing-start li{border-color:var(--line)}.landing-start li::before{background:linear-gradient(135deg,rgba(121,226,210,.2),rgba(157,125,255,.22));color:#b5fff1;box-shadow:0 0 16px rgba(121,226,210,.16)}.landing-boundary{border-left-color:#ffc470;background:rgba(123,78,19,.22);color:#ffe2b4}
.daily-plan-summary{position:relative;overflow:hidden;background:linear-gradient(120deg,rgba(20,37,78,.89),rgba(19,65,79,.68))}.daily-plan-summary::before{position:absolute;right:-2.2rem;top:-2.2rem;width:8rem;height:8rem;border:1px solid rgba(121,226,210,.25);border-radius:50%;box-shadow:0 0 0 17px rgba(121,226,210,.04),0 0 24px rgba(121,226,210,.13);content:""}.daily-plan-summary>*{position:relative}.daily-plan-summary li{border-color:rgba(197,217,255,.12)}.daily-plan-summary li span,.active-practice-timer .timer-breakdown{color:#a8ffef}.active-practice-timer{border-color:rgba(121,226,210,.3);background:rgba(9,18,45,.89);box-shadow:0 12px 35px rgba(0,0,0,.42),0 0 25px rgba(86,121,225,.14)}.active-practice-timer.timer-target{border-color:rgba(255,199,114,.55);background:rgba(58,39,20,.93)}.active-practice-timer.timer-limit{border-color:rgba(255,184,108,.7);background:rgba(67,37,17,.94)}.active-practice-timer.timer-stop{border-color:rgba(255,143,155,.65);background:rgba(68,26,43,.94)}
.free-action-card{border-color:rgba(165,194,250,.22);background:linear-gradient(145deg,rgba(20,35,74,.86),rgba(13,50,72,.7));color:#edf5ff;box-shadow:0 7px 20px rgba(0,0,0,.17)}.free-action-card:hover,.free-action-card:focus-visible{border-color:#8ff3e2;box-shadow:0 12px 28px rgba(0,0,0,.28),0 0 24px rgba(121,226,210,.17)}.free-action-card strong{color:#aaffef}.diagnostic-question{border-left-color:#a695ff;background:linear-gradient(90deg,rgba(83,52,143,.38),rgba(15,64,82,.28));color:#f1f5ff}.mood-scale-reference{border-color:var(--line);background:rgba(12,28,61,.7)}.mood-scale-reference summary{color:#a8ffef}.mood-scale-reference li{color:#b5c2dc}.mood-scale-reference li strong{color:#f0f5ff}.mood-scale-reference li:nth-child(11){background:rgba(121,226,210,.13);color:#e7fffa}
.activity-summary{position:relative;overflow:hidden;border-color:rgba(134,224,218,.34);background:linear-gradient(125deg,rgba(36,27,87,.9),rgba(11,59,81,.75));box-shadow:0 22px 48px rgba(0,0,0,.28),0 0 36px rgba(124,92,234,.14)}.activity-summary::before{position:absolute;right:-6.5rem;bottom:-7rem;width:20rem;height:20rem;border:1px solid rgba(151,143,255,.45);border-radius:50%;box-shadow:0 0 0 28px rgba(151,143,255,.05),0 0 0 56px rgba(121,226,210,.035),0 0 42px rgba(146,127,255,.3);content:""}.activity-summary::after{position:absolute;right:5.6rem;bottom:4.3rem;width:.58rem;height:.58rem;border-radius:50%;background:#b8fff3;box-shadow:0 0 22px 6px rgba(121,226,210,.65);content:""}.activity-summary>*{position:relative;z-index:1}.activity-summary h2{color:#fff;text-shadow:0 0 20px rgba(181,164,255,.35)}.activity-metrics>div{border-color:rgba(196,215,255,.18);background:rgba(5,15,43,.38)}.activity-metrics span{color:#bdd3ec}.activity-metrics strong{color:#a9ffef;text-shadow:0 0 16px rgba(121,226,210,.28)}.achievement-list li{position:relative;grid-template-columns:auto 1fr;column-gap:.48rem;border-color:rgba(189,212,255,.2);background:rgba(8,19,48,.52)}.achievement-list li i{grid-row:1 / span 2;align-self:start;color:#ffdc8a;font-size:1.1rem;font-style:normal;text-shadow:0 0 16px rgba(255,204,102,.7)}.achievement-list strong{color:#f4f7ff}.achievement-list span{color:#c4cee1}.achievement-list .activity-empty{background:rgba(7,17,43,.28)}
.emotion-chip{border-color:rgba(121,226,210,.4);background:rgba(26,110,110,.18);color:#b7fff3}.emotion-chip:hover,.emotion-chip:focus-visible{border-color:#9affec;background:rgba(51,135,133,.35)}.answer-record,.data-actions article,.consent-rules{border-color:var(--line);background:rgba(16,31,66,.75)}.answer-record h3,.data-actions h2,.consent-rules h2{color:#f1f6ff}.data-actions .data-danger{border-color:rgba(255,143,155,.38);background:rgba(77,30,46,.43)}.consent-rules li{color:#c9d8ee}
@media (prefers-reduced-motion:no-preference){.landing-preview{animation:cosmic-float 8s ease-in-out infinite}.activity-summary::after{animation:cosmic-pulse 2.8s ease-in-out infinite}.button.primary{animation:cosmic-pulse 4s ease-in-out infinite}@keyframes cosmic-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes cosmic-pulse{0%,100%{filter:brightness(1)}50%{filter:brightness(1.15)}}}
@media (max-width:640px){.activity-summary::before{right:-9rem;bottom:-10rem}.activity-summary::after{right:2.1rem;bottom:2.9rem}.activity-summary{padding-bottom:1.2rem}}

#profile-gender-custom-field[hidden]{display:none!important}

/* Короткие вопросы читаются целиком: вопрос, пояснение и выбор без прокрутки. */
.readiness-step,.method-trial,.method-trial-rate,.method-trial-existing,.key-effect-setup{max-width:min(720px,calc(100vw - 2rem));padding:clamp(1.35rem,2.4vh,2rem) clamp(1.35rem,3.1vw,2.3rem)}
.readiness-step h1,.method-trial h1,.method-trial-rate h1,.method-trial-existing h1,.key-effect-setup h1{max-width:27ch;margin:.45rem 0 .7rem;font-size:clamp(1.72rem,2.55vw,2.42rem);line-height:1.12;letter-spacing:-.032em}
.readiness-step>p,.method-trial>p,.method-trial-rate>p,.method-trial-existing>p,.key-effect-setup>p{margin:0 0 .85rem;font-size:.98rem;line-height:1.48}
.readiness-step .stacked-choices,.method-trial-existing .stacked-choices{margin-top:.8rem}.onboarding-actions{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1rem}.onboarding-actions form{margin:0}.onboarding-list{display:grid;gap:.42rem;margin:.75rem 0 0;padding-left:1.15rem}.onboarding-list li{line-height:1.42}
@media (max-height:820px) and (min-width:641px){.readiness-step,.method-trial,.method-trial-rate,.method-trial-existing,.key-effect-setup{padding-block:1.15rem}.readiness-step h1,.method-trial h1,.method-trial-rate h1,.method-trial-existing h1,.key-effect-setup h1{font-size:clamp(1.55rem,2.25vw,2.08rem)}.readiness-step>p,.method-trial>p,.method-trial-rate>p,.method-trial-existing>p,.key-effect-setup>p{font-size:.92rem;line-height:1.4}}
@media (max-width:640px){.readiness-step h1,.method-trial h1,.method-trial-rate h1,.method-trial-existing h1,.key-effect-setup h1{font-size:clamp(1.5rem,7.3vw,1.95rem)}.onboarding-actions{flex-direction:column-reverse}.onboarding-actions .button{width:100%}}

/* Компактное меню действий в шапке. */
.action-menu { position: relative; }
.action-menu summary { color: var(--muted); cursor: pointer; list-style: none; white-space: nowrap; }
.action-menu summary::-webkit-details-marker { display: none; }
.action-menu summary::after { content: '⌄'; margin-left: .28rem; color: var(--teal); font-weight: 800; }
.action-menu[open] summary { color: var(--teal); }
.action-menu-list { position: absolute; top: calc(100% + .65rem); left: 0; z-index: 20; display: grid; width: min(18rem, 78vw); padding: .45rem; border: 1px solid rgba(104, 225, 214, .5); border-radius: 14px; background: #112750; box-shadow: 0 16px 36px rgba(0, 0, 0, .3); }
.action-menu-list a { display: block; padding: .68rem .75rem; border-radius: 9px; color: #ecfaff; line-height: 1.3; }
.action-menu-list a:hover, .action-menu-list a:focus-visible { background: rgba(94, 234, 212, .16); color: #fff; outline: none; }

/* Быстрый вход размещается в первом видимом блоке лендинга. */
.landing-quick-login { display: flex; gap: .55rem; align-items: stretch; margin-top: .55rem; }
.landing-quick-login input { min-width: 0; flex: 1; border: 1px solid #b7d5d2; border-radius: 10px; padding: .7rem .8rem; background: #fff; color: var(--ink); font: inherit; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
@media (max-width: 640px) { .action-menu-list { position: fixed; top: 58px; left: 5vw; width: min(25rem, 90vw); } .landing-quick-login { flex-direction: column; } .landing-quick-login .button { width: 100%; } }

/* Ясные подсказки открываются только по желанию и не растягивают форму. */
.inline-help{position:relative;display:inline-block;margin:.15rem 0 .75rem;vertical-align:middle}.inline-help summary{display:grid;width:1.45rem;height:1.45rem;place-items:center;border:1px solid rgba(121,226,210,.58);border-radius:50%;color:#aaffef;cursor:pointer;font-size:.82rem;font-weight:850;list-style:none;transition:background .16s ease,transform .16s ease}.inline-help summary::-webkit-details-marker{display:none}.inline-help summary:hover,.inline-help summary:focus-visible{background:rgba(121,226,210,.18);outline:none;transform:scale(1.06)}.inline-help span{position:absolute;z-index:60;left:0;bottom:calc(100% + .55rem);width:min(19rem,calc(100vw - 3rem));padding:.75rem .8rem;border:1px solid rgba(145,225,216,.45);border-radius:12px;background:rgba(8,20,49,.97);box-shadow:0 14px 32px rgba(0,0,0,.42);color:#e4f6f4;font-size:.84rem;font-weight:500;line-height:1.42}.inline-help span::after{position:absolute;bottom:-.34rem;left:.42rem;width:.6rem;height:.6rem;border-right:1px solid rgba(145,225,216,.45);border-bottom:1px solid rgba(145,225,216,.45);background:rgba(8,20,49,.97);content:"";transform:rotate(45deg)}

/* Заметный, но спокойный экран ожидания после двух секунд. */
.route-loading[hidden]{display:none!important}.route-loading{position:fixed;z-index:1000;inset:0;display:grid;place-items:center;padding:1.25rem;background:rgba(3,8,24,.48);backdrop-filter:blur(4px);isolation:isolate}.route-loading-card{position:relative;display:grid;justify-items:center;gap:.55rem;width:min(25rem,100%);padding:1.7rem 1.35rem 1.45rem;overflow:hidden;border:1px solid rgba(155,231,224,.65);border-radius:22px;background:linear-gradient(145deg,rgba(34,25,91,.98),rgba(8,61,84,.96));box-shadow:0 26px 75px rgba(0,0,0,.55),0 0 55px rgba(121,226,210,.2);color:#f7fbff;text-align:center}.route-loading-card::before{position:absolute;inset:-35%;z-index:-1;background:conic-gradient(from 30deg,transparent,rgba(150,125,255,.24),transparent,rgba(121,226,210,.2),transparent);content:"";animation:route-nebula 5s linear infinite}.route-loading-card strong{font-size:1.18rem;letter-spacing:.01em}.route-loading-card p{max-width:26ch;margin:0;color:#d5e9f4;line-height:1.45}.route-loading-orbit{display:block;width:2.8rem;height:2.8rem;border:2px solid rgba(180,170,255,.3);border-top-color:#acfff1;border-right-color:#a993ff;border-radius:50%;box-shadow:0 0 18px rgba(121,226,210,.35);animation:route-spin 1s linear infinite}@keyframes route-spin{to{transform:rotate(360deg)}}@keyframes route-nebula{to{transform:rotate(360deg)}}

/* У каждого вида работы — свой свет и своя атмосфера, а не одна и та же карточка. */
.test-fast{position:relative;overflow:hidden;background:linear-gradient(135deg,rgba(51,27,108,.9),rgba(17,34,79,.83))}.test-fast::after,.mood-entry::after,.practice-one::after,.key-setup::after,.programming::after{position:absolute;pointer-events:none;content:""}.test-fast::after{top:-6rem;right:-6rem;width:15rem;height:15rem;border:1px solid rgba(181,146,255,.36);border-radius:50%;box-shadow:0 0 0 22px rgba(181,146,255,.05),0 0 34px rgba(156,124,255,.22)}.mood-entry{position:relative;overflow:hidden;background:linear-gradient(135deg,rgba(9,67,84,.82),rgba(19,35,81,.91))}.mood-entry::after{right:-7rem;bottom:-9rem;width:21rem;height:21rem;border-radius:50%;background:radial-gradient(circle,rgba(83,243,210,.22),transparent 64%);filter:blur(3px)}.practice-one{position:relative;overflow:hidden;background:linear-gradient(135deg,rgba(71,38,94,.82),rgba(10,68,76,.88))}.practice-one::after{top:-8rem;left:-8rem;width:20rem;height:20rem;border-radius:50%;background:radial-gradient(circle,rgba(255,188,106,.2),transparent 66%);filter:blur(2px)}.key-setup{position:relative;overflow:hidden;background:linear-gradient(135deg,rgba(16,62,81,.91),rgba(27,29,85,.86))}.key-setup::after{top:-5rem;right:-5rem;width:14rem;height:14rem;border:1px solid rgba(121,226,210,.42);border-radius:50%;box-shadow:0 0 0 24px rgba(121,226,210,.05),0 0 35px rgba(121,226,210,.16)}.programming{position:relative;overflow:hidden;background:linear-gradient(135deg,rgba(67,39,100,.9),rgba(8,58,78,.86))}.programming::after{right:8%;bottom:-7rem;width:17rem;height:17rem;border:1px solid rgba(175,147,255,.4);border-radius:50%;box-shadow:0 0 0 26px rgba(175,147,255,.05),0 0 38px rgba(175,147,255,.2)}.test-fast>*,.mood-entry>*,.practice-one>*,.key-setup>*,.programming>*{position:relative;z-index:1}.test-fast .progress-track span{background:linear-gradient(90deg,#bb8aff,#7ee7dd)}.mood-entry .progress-track span{background:linear-gradient(90deg,#79f1d3,#63a8ff)}.practice-one .phrase{box-shadow:0 0 32px rgba(255,184,108,.14)}
@media (prefers-reduced-motion:reduce){.route-loading-orbit,.route-loading-card::before{animation:none!important}}@media (max-width:640px){.route-loading-card{padding:1.45rem 1.1rem 1.25rem;border-radius:18px}.inline-help span{left:auto;right:0;width:min(18rem,calc(100vw - 2rem))}}

/* Карточки выбора не растягиваются ради декоративной высоты: название и пояснение остаются одним смысловым блоком. */
.free-action-card{min-height:0;grid-auto-rows:max-content;align-content:start}.free-action-card strong{margin:0}.free-action-card span{margin:0}

/* Подсказка прикреплена к полю и не занимает место в потоке страницы. */
.hover-help{position:relative;cursor:help}.hover-help::after{position:absolute;z-index:70;left:.25rem;bottom:calc(100% + .55rem);display:none;width:min(19rem,calc(100vw - 3rem));padding:.72rem .8rem;border:1px solid rgba(145,225,216,.45);border-radius:12px;background:rgba(8,20,49,.97);box-shadow:0 14px 32px rgba(0,0,0,.42);color:#e4f6f4;content:attr(data-help);font-size:.84rem;font-weight:500;line-height:1.42}.hover-help:hover::after,.hover-help:focus-within::after{display:block}.hover-help .phrase:focus-visible{outline:2px solid rgba(121,226,210,.65);outline-offset:3px}@media(max-width:640px){.hover-help::after{left:auto;right:0;width:min(18rem,calc(100vw - 2rem))}}

/* Меню разделов: спокойное активное состояние и выразительное наведение без тяжёлой рамки. */
.action-menu summary{position:relative;padding:.34rem .52rem;border-radius:9px;color:#cbd7ee;transition:color .18s ease,background .18s ease,text-shadow .18s ease}.action-menu summary::after{color:#8df3df;transition:transform .18s ease}.action-menu[open] summary{background:rgba(121,226,210,.1);color:#b9fff3;text-shadow:0 0 15px rgba(121,226,210,.3);box-shadow:none}.action-menu[open] summary::after{transform:rotate(180deg)}.action-menu-list{gap:.18rem;padding:.6rem;border-color:rgba(121,226,210,.24);background:linear-gradient(145deg,rgba(17,41,85,.98),rgba(12,30,67,.98));box-shadow:0 20px 44px rgba(0,0,0,.42),0 0 28px rgba(100,151,255,.12)}.action-menu-group{display:block;margin:.42rem .5rem .12rem;color:#8da4ca;font-size:.68rem;font-weight:820;letter-spacing:.09em;text-transform:uppercase}.action-menu-group:first-child{margin-top:.12rem}.action-menu-list a{position:relative;overflow:hidden;padding:.62rem .74rem .62rem .9rem;border-left:2px solid transparent;transition:transform .18s ease,background .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease}.action-menu-list a::before{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(121,226,210,.18),rgba(150,125,255,.12),transparent);content:"";opacity:0;transform:translateX(-14px);transition:opacity .2s ease,transform .2s ease}.action-menu-list a:hover,.action-menu-list a:focus-visible{border-left-color:#92ffee;background:transparent;color:#fff;box-shadow:inset 0 0 18px rgba(121,226,210,.08),0 0 16px rgba(121,226,210,.08);transform:translateX(3px)}.action-menu-list a:hover::before,.action-menu-list a:focus-visible::before{opacity:1;transform:translateX(0)}

/* Короткое личное вступление перед первым реальным действием дня. */
.daily-companion{max-width:760px;margin:0 auto .7rem;padding:.68rem .88rem;border:1px solid rgba(137,232,219,.24);border-radius:14px;background:linear-gradient(100deg,rgba(30,85,120,.38),rgba(63,45,123,.24));color:#e2f7f4;font-size:clamp(.94rem,1.8vw,1.04rem);line-height:1.45;box-shadow:0 0 24px rgba(92,210,219,.08)}
.suggestion-review{padding:1rem 1.15rem}.suggestion-review>.eyebrow{margin-bottom:.38rem}.suggestion-review form{gap:.5rem}.suggestion-review label{margin:0}.suggestion-review .reaction-scale-field{margin:.08rem 0}.suggestion-review .phrase{margin:.1rem 0;padding:.78rem .9rem;font-size:clamp(1.04rem,2.25vw,1.28rem)}.suggestion-review .actions{margin-top:.12rem}@media(max-width:640px){.daily-companion{margin-bottom:.5rem;padding:.62rem .72rem;font-size:.9rem}.suggestion-review{padding:.75rem .8rem}.suggestion-review .reaction-scale{gap:.22rem}.suggestion-review .actions{gap:.38rem}.suggestion-review .actions .button{padding:.65rem .56rem;font-size:.86rem}}

/* Единый саморасширяющийся редактор эмоций: чипы и ввод в одном поле. */
.emotion-editor{display:block;margin-top:.35rem}.emotion-inline{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;min-height:3.25rem;padding:.38rem .48rem;border:1px solid rgba(121,226,210,.4);border-radius:12px;background:rgba(5,16,43,.56);transition:border-color .18s ease,box-shadow .18s ease}.emotion-inline:focus-within{border-color:#91ffee;box-shadow:0 0 0 3px rgba(121,226,210,.12),0 0 18px rgba(121,226,210,.1)}.emotion-inline .emotion-chips{display:contents;min-height:0}.emotion-inline [data-emotion-input]{flex:1 1 10.5rem;min-width:8rem;width:auto!important;min-height:2rem;margin:0!important;padding:.24rem .14rem!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:#f5fbff}.emotion-inline [data-emotion-input]:focus{outline:0;box-shadow:none!important}.emotion-inline .emotion-chip{flex:0 0 auto;margin:0;padding:.38rem .58rem}.emotion-adder{display:contents}


/* Подтверждение сохранения не меняет высоту страницы и не заслоняет следующую карточку. */
.flash.flash-toast{position:fixed;z-index:1100;top:calc(72px + .7rem);right:clamp(.75rem,2vw,1.5rem);width:max-content;max-width:min(25rem,calc(100vw - 1.5rem));margin:0;padding:.52rem .78rem;border-radius:999px;background:rgba(11,40,68,.94);box-shadow:0 12px 28px rgba(0,0,0,.33),0 0 18px rgba(121,226,210,.12);font-size:.88rem;line-height:1.28;backdrop-filter:blur(14px);transition:opacity .24s ease,transform .24s ease}.flash.flash-toast::before{margin-right:.42rem;color:#9dffec;content:"✓"}.flash.flash-toast.is-leaving{opacity:0;transform:translateY(-.4rem);pointer-events:none}

/* Подсказка исчезает сразу после ухода курсора: клик по шкале не оставляет её висеть над формой. */
.hover-help:hover::after{display:block}.hover-help:focus-within::after{display:none}.hover-help .reaction-scale:hover~*{} 

/* Карточка подтверждения: различимые смысловые блоки без пустой декоративной высоты. */
.suggestion-review{padding:1.05rem 1.15rem}.suggestion-review .reaction-scale-field{margin:.58rem 0 .3rem}.suggestion-review .reaction-scale-field legend{padding-bottom:.42rem}.suggestion-review .phrase{margin:.48rem 0 .64rem;padding:.82rem .92rem;line-height:1.32}.suggestion-review .check{margin-top:.48rem!important}.suggestion-review .actions{margin-top:.72rem;gap:.48rem}.suggestion-review .emotion-editor{margin-top:.28rem}.suggestion-review .emotion-inline{min-height:3rem}
@media(max-width:640px){.flash.flash-toast{top:calc(62px + .55rem);right:.65rem;max-width:calc(100vw - 1.3rem);font-size:.82rem}.suggestion-review .reaction-scale-field{margin:.46rem 0 .25rem}.suggestion-review .phrase{margin:.4rem 0 .54rem;padding:.72rem .78rem}.suggestion-review .actions{margin-top:.58rem}}


/* Номер темы и остаток плана остаются видимыми, но не конкурируют с самой практикой. */
.inline-route-progress{display:grid;grid-template-columns:1fr minmax(5.5rem,8.5rem);gap:.7rem;align-items:center;margin:.58rem 0 .76rem;padding:.48rem .62rem;border:1px solid rgba(145,225,216,.22);border-radius:11px;background:rgba(5,20,47,.36)}.inline-route-progress div:first-child{display:flex;align-items:baseline;flex-wrap:wrap;gap:.16rem .42rem}.inline-route-progress span{color:#9dffec;font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.inline-route-progress strong{color:#eff8ff;font-size:.9rem}.inline-route-progress small{color:#b7c9e3;font-size:.76rem}.inline-route-progress .progress-track{height:5px;margin:0}.inline-route-progress .progress-track span{display:block;height:100%;font-size:0}

/* Подсказки у цифр шкалы появляются только пока курсор находится на конкретной цифре. */
.reaction-scale .scale-help{cursor:help}.reaction-scale .scale-help::after{left:50%;bottom:calc(100% + .48rem);width:min(17rem,calc(100vw - 2rem));transform:translateX(-50%);font-size:.78rem;text-transform:none;letter-spacing:normal}.reaction-scale .scale-help:first-child::after{left:0;transform:none}.reaction-scale .scale-help:last-child::after{left:auto;right:0;transform:none}
@media(max-width:640px){.inline-route-progress{grid-template-columns:1fr;gap:.38rem;padding:.45rem .54rem}.inline-route-progress .progress-track{width:100%}.reaction-scale .scale-help::after{width:min(16rem,calc(100vw - 1.5rem));font-size:.74rem}}


/* Статус локальной очереди появляется лишь при ожидании синхронизации и не занимает место в карточке. */
.local-sync-status{position:fixed;z-index:1090;right:clamp(.75rem,2vw,1.5rem);bottom:1rem;max-width:min(23rem,calc(100vw - 1.5rem));padding:.48rem .7rem;border:1px solid rgba(255,207,118,.48);border-radius:999px;background:rgba(54,42,20,.94);box-shadow:0 12px 28px rgba(0,0,0,.34);color:#ffe3a7;font-size:.8rem;line-height:1.25;backdrop-filter:blur(12px)}.local-sync-status::before{margin-right:.38rem;content:"◌";color:#ffe2a4;font-weight:800}
@media(max-width:640px){.local-sync-status{right:.65rem;bottom:.65rem;font-size:.76rem}}


/* Гостевой вход — функциональный, но вторичный: мотивационный первый экран остаётся главным. */
.guest-auth{display:flex;align-items:center;justify-content:flex-end;gap:.42rem;margin-left:auto;font-size:.82rem}.guest-auth-email{display:flex;align-items:center;gap:.36rem}.guest-auth-email input{width:10.75rem;border:1px solid rgba(173,202,255,.36);border-radius:8px;padding:.42rem .58rem;background:rgba(4,15,37,.72);color:#eff6ff;font:inherit}.guest-auth-email input::placeholder{color:#94a2bf}.guest-auth .button{padding:.42rem .62rem;min-height:0;font-size:.8rem}.guest-google{border-color:rgba(180,205,255,.5);color:#e9f1ff}.google-login-button{display:inline-flex;align-items:center;gap:.42rem;white-space:nowrap}.google-auth-icon{width:1.08rem;height:1.08rem;flex:0 0 auto}.guest-google .google-auth-icon{width:1rem;height:1rem}.google-login-button:hover .google-auth-icon,.google-login-button:focus-visible .google-auth-icon{filter:drop-shadow(0 0 5px rgba(255,255,255,.38))}.guest-demo-login{padding:.35rem .15rem;color:#b9c9e8;font-size:.78rem;white-space:nowrap}.guest-demo-login:hover,.guest-demo-login:focus-visible{color:#aaffef;text-decoration:underline;text-underline-offset:.18rem}
@media(max-width:760px){header:has(.guest-auth){align-items:center;gap:.55rem;padding-right:4vw;padding-left:4vw}.guest-auth-email input{width:min(8.5rem,30vw)}.guest-demo-login{font-size:.7rem}.guest-auth .button{padding:.38rem .5rem}.guest-auth{gap:.3rem}}@media(max-width:430px){.guest-auth-email{display:none}.guest-demo-login{display:none}.guest-auth .guest-google{font-size:.73rem}.guest-auth .guest-google span{display:none}.guest-auth .guest-google{padding:.42rem .5rem}}

/* Список эмоций в карточке подтверждения: крупный, но визуально единый с космической темой. */
.suggestion-review .emotion-editor { position: relative; }
.emotion-suggestions { position: absolute; z-index: 24; top: calc(100% + .48rem); left: 0; right: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .34rem; max-height: min(34vh, 18rem); overflow-y: auto; padding: .58rem; border: 1px solid rgba(143, 243, 226, .48); border-radius: 14px; background: linear-gradient(145deg, rgba(15, 35, 75, .96), rgba(29, 28, 82, .94)); box-shadow: 0 18px 38px rgba(0, 0, 0, .38), 0 0 0 1px rgba(255, 255, 255, .05) inset; backdrop-filter: blur(18px); }
.emotion-suggestions[hidden] { display: none; }
.emotion-suggestion { min-height: 2.4rem; padding: .5rem .65rem; overflow: hidden; border: 1px solid rgba(170, 198, 255, .2); border-radius: 9px; background: rgba(7, 18, 47, .5); color: #e9f3ff; font: inherit; font-size: .93rem; font-weight: 650; line-height: 1.2; text-align: left; text-overflow: ellipsis; white-space: nowrap; cursor: pointer; transition: background .16s ease, border-color .16s ease, transform .16s ease; }
.emotion-suggestion:hover, .emotion-suggestion:focus-visible { border-color: rgba(121, 226, 210, .76); background: rgba(36, 103, 117, .55); color: #fff; outline: none; transform: translateY(-1px); }
.emotion-suggestions::-webkit-scrollbar { width: .58rem; }
.emotion-suggestions::-webkit-scrollbar-thumb { border: 2px solid rgba(17, 32, 68, .95); border-radius: 1rem; background: rgba(143, 243, 226, .48); }
@media (max-width: 520px) { .emotion-suggestions { grid-template-columns: 1fr; max-height: min(42vh, 18rem); } }

/* Активное время: спокойная типографика и подсказка на всей панели. */
.active-practice-timer .timer-label { text-transform: none; letter-spacing: .01em; font-size: .82rem; }
.active-practice-timer.hover-help::after { max-width: min(20rem, calc(100vw - 2rem)); font-size: .88rem; font-weight: 500; line-height: 1.42; letter-spacing: 0; text-transform: none; }

/* Эмоции: без внешнего контейнера — только чипы и спокойное встроенное поле. */
.emotion-field { display:flex !important; flex-wrap:wrap; align-items:center; gap:.36rem .52rem; }
.emotion-field > .emotion-label-title { flex:0 0 auto; }
.emotion-field > .emotion-editor { flex:1 1 17rem; min-width:12rem; margin:0 !important; }
.emotion-field .emotion-inline { min-height:0; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; gap:.35rem; }
.emotion-field .emotion-inline:focus-within { border:0; box-shadow:none; }
.emotion-field .emotion-inline [data-emotion-input] { min-height:1.8rem; padding:.12rem .08rem !important; border-bottom:1px solid rgba(121,226,210,.30) !important; }
.emotion-field .emotion-inline [data-emotion-input]:focus { border-bottom-color:#91ffee !important; }

/* Фраза проработки: подпись и текст в одном ряду, без лишней вертикали. */
.phrase-field { display:flex !important; align-items:flex-start; gap:.42rem .55rem; }
.phrase-field > .phrase-label { flex:0 0 auto; padding-top:.38rem; }
.phrase-field > .phrase { flex:1 1 18rem; min-width:0; margin:0 !important; padding:.48rem .62rem; line-height:1.3; }
@media (max-width: 560px) { .phrase-field { display:block !important; } .phrase-field > .phrase-label { display:block; padding:0 0 .28rem; } }

/* Шкала: бегунок и число в одной строке; ссылка на курс — сразу под числом. */
.reaction-slider { display:grid; grid-template-columns:minmax(7rem,1fr) 4.15rem 5.75rem; align-items:start; gap:.48rem; padding:.08rem 0; }
.reaction-slider-range { align-self:center; width:100%; accent-color:#79e2d2; cursor:pointer; }
.reaction-slider-manual-wrap,.mood-slider-manual-wrap { display:flex; flex-direction:column; align-items:stretch; min-width:0; }
.reaction-slider-manual { width:4.15rem !important; min-height:2rem !important; margin:0 !important; padding:.28rem .36rem !important; text-align:center; font-variant-numeric:tabular-nums; }
.scale-inline-controls { display:flex; justify-content:flex-end; align-items:flex-start; min-height:1.5rem; padding:.22rem .02rem 0; }
.reaction-slider-extra-controls { align-self:start; min-width:0; padding-top:.34rem; }
.reaction-slider-extra-controls .scale-uncertain-link { display:block; width:5.75rem; color:#c5d7f8; font-size:.71rem; line-height:1.12; text-decoration:underline; text-underline-offset:.14em; }
.scale-precision-toggle { flex:0 0 auto; min-width:1.38rem; margin:0 !important; padding:.02rem .1rem !important; border:1px solid rgba(145,225,216,.35) !important; border-radius:.38rem !important; background:rgba(15,40,75,.72) !important; color:#a8f3e8 !important; font-size:.6rem !important; font-weight:800; line-height:1.25; cursor:pointer; }
.scale-precision-toggle[aria-pressed="true"] { border-color:rgba(121,226,210,.78) !important; background:rgba(64,188,174,.22) !important; color:#e8fffb !important; }
.scale-precision-toggle:disabled { opacity:.6; cursor:wait; }
@media (max-width:560px) { .reaction-slider { grid-template-columns:minmax(5.25rem,1fr) 3.7rem 4.55rem; gap:.32rem; } .reaction-slider-manual { width:3.7rem !important; } .reaction-slider-extra-controls .scale-uncertain-link { width:4.55rem; font-size:.66rem; } }

/* Важность темы: один бегунок в строке с вопросом. */
.priority-field { display:flex; align-items:center; gap:.55rem; min-width:0; }
.priority-field legend { flex:0 1 auto; width:auto; margin:0; padding:0; }
.priority-field .priority-slider { flex:1 1 10rem; min-width:8rem; display:grid; grid-template-columns:minmax(6rem,1fr) auto; align-items:center; gap:.42rem; }
.priority-slider-range { width:100%; accent-color:#79e2d2; cursor:pointer; }
.priority-slider-value { min-width:1.3rem; color:#c9fff7; font-weight:800; text-align:center; font-variant-numeric:tabular-nums; }
@media (max-width:560px) { .priority-field { flex-wrap:wrap; } .priority-field legend { flex-basis:100%; } }

/* Компактные шкалы: вопрос и бегунок в одной строке, значения — сразу под ним. */
.reaction-scale-field { display:grid; grid-template-columns:minmax(17rem, auto) minmax(11rem, 1fr); column-gap:.75rem; row-gap:.3rem; align-items:center; }
.reaction-scale-field legend { grid-column:1; grid-row:1; width:auto; margin:0; padding:0; }
.reaction-scale-field > .reaction-slider,
.reaction-scale-field > .priority-slider { grid-column:2; grid-row:1 / span 2; min-width:0; }
.reaction-slider { position:relative; display:grid; grid-template-columns:minmax(0, 1fr) 4.15rem 5.75rem; align-items:start; gap:.48rem; min-width:0; }
.reaction-slider-range,
.priority-slider-range { --scale-progress:50%; appearance:none; -webkit-appearance:none; display:block; width:100%; height:1.35rem; margin:0; padding:0; border:0!important; border-radius:0; background:transparent!important; cursor:pointer; }
.reaction-slider-range::-webkit-slider-runnable-track,
.priority-slider-range::-webkit-slider-runnable-track { height:.56rem; border:0; border-radius:999px; background:linear-gradient(90deg,#79e2d2 0 var(--scale-progress),rgba(201,216,255,.31) var(--scale-progress) 100%); box-shadow:inset 0 1px 2px rgba(0,0,0,.38); }
.reaction-slider-range::-moz-range-track,
.priority-slider-range::-moz-range-track { height:.56rem; border:0; border-radius:999px; background:linear-gradient(90deg,#79e2d2 0 var(--scale-progress),rgba(201,216,255,.31) var(--scale-progress) 100%); box-shadow:inset 0 1px 2px rgba(0,0,0,.38); }
.reaction-slider-range::-webkit-slider-thumb,
.priority-slider-range::-webkit-slider-thumb { appearance:none; -webkit-appearance:none; width:1.35rem; height:1.35rem; margin-top:-.395rem; border:0; border-radius:50%; background:#7be8da; box-shadow:0 0 0 2px rgba(218,255,249,.38),0 0 16px rgba(121,226,210,.52); }
.reaction-slider-range::-moz-range-thumb,
.priority-slider-range::-moz-range-thumb { width:1.35rem; height:1.35rem; border:0; border-radius:50%; background:#7be8da; box-shadow:0 0 0 2px rgba(218,255,249,.38),0 0 16px rgba(121,226,210,.52); }
.reaction-slider-range:focus-visible,
.priority-slider-range:focus-visible { outline:2px solid rgba(121,226,210,.9); outline-offset:4px; border-radius:999px; }
.reaction-slider-value,
.priority-slider-value { min-width:1.35rem; color:#c9fff7; font-weight:850; text-align:center; font-variant-numeric:tabular-nums; }
.reaction-slider-manual { width:4.15rem!important; min-width:0; height:2.65rem; margin:0!important; padding:.3rem .5rem!important; text-align:center; font-variant-numeric:tabular-nums; }
.scale-value-hint { grid-column:1 / -1; display:none; pointer-events:none; position:absolute; z-index:75; right:0; bottom:calc(100% + .45rem); width:min(22rem,calc(100vw - 2rem)); padding:.65rem .75rem; border:1px solid rgba(145,225,216,.45); border-radius:12px; background:rgba(8,20,49,.97); box-shadow:0 14px 32px rgba(0,0,0,.42); color:#e4f6f4; font-size:.84rem; font-weight:550; line-height:1.42; }
.scale-value-hint::after { position:absolute; right:1.1rem; bottom:-.34rem; width:.6rem; height:.6rem; border-right:1px solid rgba(145,225,216,.45); border-bottom:1px solid rgba(145,225,216,.45); background:rgba(8,20,49,.97); content:""; transform:rotate(45deg); }
.reaction-slider.is-active .scale-value-hint { display:block; }
.priority-field { grid-template-columns:minmax(17rem, auto) minmax(8rem, 1fr); }
.priority-field .priority-slider { display:grid; grid-template-columns:minmax(0,1fr) 1.35rem; align-items:center; gap:.55rem; }
@media (max-width:760px) { .reaction-scale-field,.priority-field { grid-template-columns:1fr; row-gap:.32rem; } .reaction-scale-field legend { grid-column:1; grid-row:1; } .reaction-scale-field > .reaction-slider,.reaction-scale-field > .priority-slider { grid-column:1; grid-row:2; } }

/* Карточка подтверждения: компактно, но с воздухом между смысловыми строками. */
.suggestion-review form { gap:.78rem; }
.suggestion-review form > label { margin:0; }
.suggestion-review form > label > input { margin-top:.38rem; }
.suggestion-review .emotion-field { display:block; padding-top:.12rem; }
.suggestion-review .emotion-label-title { display:block; margin:0 0 .34rem; }
.suggestion-review .emotion-editor { margin-top:0; }
.suggestion-review .emotion-inline { min-height:3.15rem; }
.suggestion-review .reaction-scale-field { margin:.14rem 0; }
@media (max-width:640px) { .suggestion-review form { gap:.68rem; } .suggestion-review .emotion-label-title { margin-bottom:.3rem; } }

/* Фраза проработки — одна компактная строка, а не отдельная плашка. */
.suggestion-review .phrase-field { display:flex; align-items:baseline; gap:.48rem; margin:.04rem 0!important; min-width:0; }
.suggestion-review .phrase-field .phrase-label { flex:0 0 auto; margin:0; color:#9eeedf; font-size:.82rem; font-weight:800; letter-spacing:.035em; white-space:nowrap; }
.suggestion-review .phrase-field .phrase { flex:1 1 auto; min-width:0; margin:0; padding:0; border:0; border-left:1px solid rgba(160,140,255,.58); border-radius:0; background:transparent; box-shadow:none; color:#ecf6ff; font-size:.96rem; line-height:1.38; }
@media (max-width:640px) { .suggestion-review .phrase-field { align-items:flex-start; gap:.36rem; } .suggestion-review .phrase-field .phrase-label { font-size:.76rem; } .suggestion-review .phrase-field .phrase { padding-left:.42rem; font-size:.9rem; } }

/* Единая навигация: все пользовательские разделы внутри одного меню. */
.member-nav { display:flex; align-items:center; gap:.45rem; margin-left:auto; }
.member-name { max-width:10rem; overflow:hidden; color:#bcd0e9; font-size:.86rem; line-height:1; text-overflow:ellipsis; white-space:nowrap; }
.member-logout { padding:.38rem .5rem; border-radius:8px; color:#bcd0e9; font-size:.86rem; line-height:1; }
.member-logout:hover,.member-logout:focus-visible { color:#fff; background:rgba(255,255,255,.07); outline:none; }
.action-menu { position:relative; z-index:90; }
.action-menu-toggle { appearance:none; border:1px solid rgba(121,226,210,.26); border-radius:10px; padding:.44rem .7rem; background:linear-gradient(135deg,rgba(31,81,109,.7),rgba(28,42,93,.78)); color:#b9fff3; font:inherit; font-size:.88rem; font-weight:760; cursor:pointer; transition:background .18s ease,box-shadow .18s ease,color .18s ease; }
.action-menu-toggle:hover,.action-menu-toggle:focus-visible,.action-menu.is-open .action-menu-toggle { border-color:rgba(145,255,238,.58); background:linear-gradient(135deg,rgba(39,104,121,.88),rgba(64,48,124,.92)); color:#fff; box-shadow:0 0 18px rgba(121,226,210,.18); outline:none; }
.action-menu-list { position:absolute; top:calc(100% + .5rem); left:0; z-index:100; display:grid; width:min(19rem,82vw); gap:.18rem; padding:.55rem; border:1px solid rgba(121,226,210,.27); border-radius:15px; background:linear-gradient(145deg,rgba(22,53,108,.98),rgba(11,24,58,.99)); box-shadow:0 20px 46px rgba(0,0,0,.46),0 0 32px rgba(91,141,255,.12); opacity:0; pointer-events:none; transform:translateY(-.4rem) scale(.985); transform-origin:top left; transition:opacity .16s ease,transform .16s ease; }
.action-menu.is-open .action-menu-list { opacity:1; pointer-events:auto; transform:translateY(0) scale(1); }
.action-menu-group { display:block; margin:.42rem .52rem .12rem; color:#8da4ca; font-size:.66rem; font-weight:820; letter-spacing:.08em; text-transform:uppercase; }
.action-menu-group:first-child { margin-top:.12rem; }
.action-menu-list a { display:block; padding:.62rem .74rem; border-left:2px solid transparent; border-radius:8px; color:#edf6ff; font-size:.91rem; line-height:1.3; transition:background .16s ease,border-color .16s ease,transform .16s ease; }
.action-menu-list a:hover,.action-menu-list a:focus-visible { border-left-color:#92ffee; background:linear-gradient(90deg,rgba(121,226,210,.16),rgba(146,126,255,.10)); color:#fff; outline:none; transform:translateX(2px); }
@media (max-width:720px) { .member-name { display:none; } .action-menu-list { position:fixed; top:3.7rem; left:.65rem; width:min(23rem,calc(100vw - 1.3rem)); max-height:calc(100vh - 4.5rem); overflow:auto; } }

/* Космическая среда: не россыпь точек, а глубина туманностей, световых потоков и далёких орбит. */
body { background:radial-gradient(ellipse 75% 50% at 7% 12%,rgba(126,66,214,.34),transparent 62%),radial-gradient(ellipse 65% 52% at 101% 10%,rgba(19,142,193,.32),transparent 61%),radial-gradient(ellipse 62% 48% at 52% 104%,rgba(15,157,152,.23),transparent 67%),linear-gradient(145deg,#060b22 0%,#10124b 43%,#061b32 100%); }
body::before { opacity:.78; background-image:radial-gradient(ellipse 58% 21% at 19% 28%,rgba(157,89,255,.17),transparent 71%),radial-gradient(ellipse 39% 28% at 80% 62%,rgba(63,213,210,.14),transparent 70%),radial-gradient(circle at 10% 16%,rgba(255,255,255,.95) 0 1px,transparent 1.8px),radial-gradient(circle at 73% 12%,rgba(130,249,228,.9) 0 1.25px,transparent 2px),radial-gradient(circle at 38% 72%,rgba(255,255,255,.76) 0 1px,transparent 1.7px),radial-gradient(circle at 89% 62%,rgba(202,167,255,.9) 0 1.35px,transparent 2px),radial-gradient(circle at 16% 83%,rgba(255,255,255,.7) 0 1px,transparent 1.7px); background-size:auto,auto,185px 177px,271px 239px,223px 201px,317px 283px,163px 197px; }
main { position:relative; isolation:isolate; }
main::before,main::after { position:absolute; z-index:-1; pointer-events:none; content:""; }
main::before { top:6rem; right:clamp(-14rem,-3vw,-3rem); width:31rem; height:31rem; border:1px solid rgba(146,205,255,.15); border-radius:50%; box-shadow:0 0 0 2.6rem rgba(132,113,255,.026),0 0 0 5.3rem rgba(121,226,210,.018),inset 0 0 56px rgba(107,176,255,.08),0 0 68px rgba(116,152,255,.13); transform:rotate(-24deg); }
main::after { left:-12rem; top:42rem; width:32rem; height:15rem; border-radius:50%; background:radial-gradient(ellipse at center,rgba(139,83,236,.19),rgba(44,102,177,.075) 42%,transparent 71%); filter:blur(8px); transform:rotate(24deg); }
@media(max-width:640px){main::before{right:3rem;width:20rem;height:20rem;box-shadow:0 0 0 1.2rem rgba(132,113,255,.026),0 0 0 2.35rem rgba(121,226,210,.018),inset 0 0 42px rgba(107,176,255,.08),0 0 52px rgba(116,152,255,.13)}}

/* Невидимый мостик между кнопкой и списком: меню не пропадает, пока курсор идёт к его пунктам. */
.action-menu::after { position:absolute; top:100%; left:0; width:100%; height:.5rem; content:""; }

/* Длинное меню всегда укладывается в видимую часть экрана. */
.action-menu-list { max-height:calc(100vh - 5.2rem); overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:rgba(121,226,210,.55) transparent; }
.action-menu-list::-webkit-scrollbar { width:.46rem; }
.action-menu-list::-webkit-scrollbar-thumb { border-radius:999px; background:rgba(121,226,210,.48); }
.action-menu-list .action-menu-group { margin-top:.3rem; }
.action-menu-list a { padding:.53rem .72rem; }

/* Экран проработки: сила реакции, бегунок и ручное значение — в одной строке. */
.practice-one .session-intensity-line { display:flex; align-items:center; gap:.72rem; margin:.2rem 0; }
.practice-one .session-intensity-line .scale-question { flex:0 0 auto; color:#eef5ff; font-weight:750; line-height:1.35; }
.practice-one .session-intensity-line .reaction-slider { flex:1 1 auto; min-width:14rem; }
.practice-one .session-intensity-line .reaction-slider .scale-value-hint { right:0; }
@media (max-width:700px) { .practice-one .session-intensity-line { flex-wrap:wrap; gap:.38rem .62rem; } .practice-one .session-intensity-line .scale-question { flex-basis:100%; } .practice-one .session-intensity-line .reaction-slider { flex-basis:100%; } }

/* Тема редактируется прямо в начале проработки, без отдельного поля уточнения. */
.practice-one .session-topic { display:block; margin:0; }
.practice-one .session-topic > span { display:block; margin:0 0 .28rem; color:#c9d8ef; font-size:.82rem; font-weight:780; letter-spacing:.035em; }
.practice-one .session-topic textarea { min-height:3.25rem; max-height:7rem; margin:0; padding:.58rem .7rem; font-size:1.02rem; font-weight:650; line-height:1.35; resize:vertical; }

/* Общий список эмоций всегда привязан к своему полю, а не к странице целиком. */
.emotion-editor-standard { position:relative; min-width:0; }
.emotion-editor-standard .emotion-suggestions { top:calc(100% + .42rem); max-height:min(34vh,18rem); }

/* Меню разделов открывается сразу при наведении, даже если сценарий клика ещё не успел выполниться. */
.action-menu:hover .action-menu-list,
.action-menu:focus-within .action-menu-list { opacity:1; pointer-events:auto; transform:translateY(0) scale(1); }

/* Настроение использует тот же компактный формат выбора, что сила реакции. */
.mood-slider { position:relative; display:grid; grid-template-columns:minmax(0,1fr) 4.15rem; align-items:start; gap:.55rem; min-width:0; }
.mood-slider-range { width:100%; height:1.35rem; margin:0; appearance:none; -webkit-appearance:none; background:transparent; cursor:pointer; }
.mood-slider-range::-webkit-slider-runnable-track { height:.56rem; border:0; border-radius:999px; background:linear-gradient(90deg,#a68df5 0 var(--scale-progress),rgba(201,216,255,.31) var(--scale-progress) 100%); box-shadow:inset 0 1px 2px rgba(0,0,0,.38); }
.mood-slider-range::-moz-range-track { height:.56rem; border:0; border-radius:999px; background:linear-gradient(90deg,#a68df5 0 var(--scale-progress),rgba(201,216,255,.31) var(--scale-progress) 100%); box-shadow:inset 0 1px 2px rgba(0,0,0,.38); }
.mood-slider-range::-webkit-slider-thumb { appearance:none; -webkit-appearance:none; width:1.35rem; height:1.35rem; margin-top:-.395rem; border:0; border-radius:50%; background:#a68df5; box-shadow:0 0 0 2px rgba(229,219,255,.4),0 0 16px rgba(166,141,245,.58); }
.mood-slider-range::-moz-range-thumb { width:1.35rem; height:1.35rem; border:0; border-radius:50%; background:#a68df5; box-shadow:0 0 0 2px rgba(229,219,255,.4),0 0 16px rgba(166,141,245,.58); }
.mood-slider-range:focus-visible { outline:2px solid rgba(203,184,255,.95); outline-offset:4px; border-radius:999px; }
.mood-slider-value { min-width:2.1rem; color:#e4dcff; font-weight:850; text-align:center; font-variant-numeric:tabular-nums; }
.mood-slider-manual { width:4.15rem!important; min-width:0; height:2.65rem; margin:0!important; padding:.3rem .5rem!important; text-align:center; font-variant-numeric:tabular-nums; }
.mood-slider.is-active .scale-value-hint { display:block; }
@media (max-width:760px) { .mood-slider { grid-template-columns:minmax(0,1fr) 4rem; } }

/* На широком экране список эмоций открывается сбоку и не перекрывает следующие поля формы. */
.emotion-editor-standard.emotion-suggestions-side .emotion-suggestions {
  top: 0;
  right: auto;
  left: calc(100% + .75rem);
  width: min(19rem, calc(100vw - 2rem));
  max-height: min(34vh, 18rem);
}
@media (max-width: 980px) {
  .emotion-editor-standard.emotion-suggestions-side .emotion-suggestions {
    top: calc(100% + .42rem);
    right: 0;
    left: 0;
    width: auto;
  }
}

/* Предварительный самоопрос и проверка метода: один вопрос и один осмысленный выбор. */
.readiness-step .muted{margin:.45rem 0 0}.stacked-choices{display:grid;grid-template-columns:1fr;align-items:stretch;margin-top:1.1rem}.stacked-choices .button{width:100%;min-height:3.15rem;text-align:left;justify-content:flex-start}.method-trial .session-topic textarea{min-height:5.2rem}.method-trial-run .actions{justify-content:flex-start;margin:.95rem 0}.method-trial-result strong,.readiness-result strong{color:#a9fff0}.method-trial-rate .reaction-scale-field{margin:1rem 0}.readiness-result .actions{justify-content:flex-start;flex-wrap:wrap;margin-top:1rem}@media(max-width:640px){.stacked-choices .button{font-size:.94rem}.method-trial-run .actions .button{width:100%}}

/* Единый вход: быстрые действия в шапке и спокойные одноэкранные формы. */
.guest-auth { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:.45rem .62rem; }
.guest-auth-email { display:flex; align-items:center; gap:.45rem; }
.guest-auth-link,.guest-auth-register { color:#c9d8ef; font-size:.84rem; font-weight:700; text-decoration:none; white-space:nowrap; }
.guest-auth-link:hover,.guest-auth-link:focus-visible { color:#a8fff1; text-decoration:underline; text-underline-offset:.18em; }
.guest-auth-register { padding:.46rem .62rem; border:1px solid rgba(131,230,217,.46); border-radius:11px; color:#b9f6ef; background:rgba(32,114,130,.13); }
.guest-auth-register:hover,.guest-auth-register:focus-visible { border-color:#a8fff1; color:#f0ffff; background:rgba(48,152,159,.25); }
.auth-card { max-width:34rem; }
.auth-card h1 { margin-bottom:.42rem; }
.auth-lede { max-width:46ch; margin:.1rem 0 1.05rem; color:#c3d0e7; font-size:.98rem; line-height:1.48; }
.auth-form { display:grid; gap:.72rem; }
.auth-form label { display:grid; gap:.32rem; color:#dbe7fa; font-weight:700; }
.auth-form .button { justify-self:start; margin-top:.14rem; }
.auth-links { display:flex; flex-wrap:wrap; gap:.45rem 1rem; margin-top:1rem; }
.auth-links a { color:#a8fff1; font-size:.9rem; font-weight:700; text-decoration:none; }
.auth-links a:hover,.auth-links a:focus-visible { color:#fff; text-decoration:underline; text-underline-offset:.18em; }
.auth-providers { display:grid; gap:.55rem; margin-top:1.15rem; padding-top:1rem; border-top:1px solid rgba(159,184,234,.2); color:#aebed8; font-size:.84rem; }
.auth-provider-buttons { display:flex; flex-wrap:wrap; align-items:center; gap:.55rem; }
.auth-provider { min-height:2.55rem; }
.google-provider { background:rgba(255,255,255,.1); border-color:rgba(255,255,255,.45); color:#fff; }
@media (max-width:860px) { .guest-auth { justify-content:flex-start; } .guest-auth-email { flex:1 1 100%; } }
@media (max-width:520px) { .guest-auth-email { flex-wrap:wrap; } .guest-auth-email input { flex:1 1 calc(50% - .3rem); min-width:8.2rem; } .guest-auth-register { padding:.4rem .55rem; } }

/* Гостевой тест: вопрос остаётся главным, но не давит размером и помещается вместе со шкалой. */
.guest-test-fast.form-card { padding:clamp(1.3rem,2.25vw,2rem); }
.guest-test-fast .test-scale-hint { margin:.05rem 0 .78rem; max-width:64ch; font-size:.86rem; line-height:1.38; }
.guest-test-fast .test-question { padding-bottom:.9rem; }
.guest-test-fast .test-question legend { max-width:42ch; font-size:clamp(1.22rem,2.1vw,1.72rem); font-weight:650; line-height:1.36; letter-spacing:-.018em; }
.guest-test-fast .scale { margin-top:.88rem; gap:.48rem; }
.guest-test-fast .scale span { width:40px; height:40px; font-size:.98rem; font-weight:700; }
@media (max-width:640px) { .guest-test-fast .test-question legend { font-size:clamp(1.16rem,5.6vw,1.45rem); line-height:1.34; } .guest-test-fast .scale { gap:.34rem; } .guest-test-fast .scale span { width:36px; height:36px; font-size:.9rem; } }

/* Первый экран лендинга: одно обещание, один следующий шаг, без повторения бренда. */
.landing { gap: clamp(3.2rem, 5vw, 5rem); }
.landing-hero { grid-template-columns: minmax(0, 1.04fr) minmax(19rem, .78fr); gap: clamp(2rem, 4.4vw, 4.6rem); min-height: min(34rem, calc(100vh - 8.5rem)); padding: clamp(.65rem, 1.6vw, 1.15rem) 0; }
.landing-copy h1 { max-width: 14.2ch; margin: .55rem 0 .95rem; font-size: clamp(2.45rem, 4.25vw, 4.45rem); line-height: 1.03; letter-spacing: -.055em; }
.landing-lede { max-width: 51ch; font-size: clamp(.98rem, 1.22vw, 1.08rem); line-height: 1.55; }
.landing-hero .landing-promises { display: none; }
.landing-preview { justify-self: end; width: min(100%, 25.5rem); gap: .7rem; padding: clamp(1.15rem, 2.3vw, 1.5rem); border-radius: 21px; }
.landing-preview-kicker { font-size: .7rem; letter-spacing: .075em; }
.landing-preview-task { gap: .45rem; margin-top: 0; padding: clamp(1rem, 2vw, 1.22rem); }
.landing-preview-task strong { font-size: clamp(1.35rem, 2.1vw, 1.68rem); line-height: 1.1; }
.landing-preview-task p { max-width: 30ch; font-size: .93rem; line-height: 1.48; }
.landing-preview-task .button { width: 100%; margin-top: .32rem; padding: .72rem 1rem; font-size: .95rem; text-align: center; }
.landing-preview-task b { margin-top: .08rem; font-size: .74rem; font-weight: 600; line-height: 1.4; }
@media (max-width: 800px) {
  .landing-hero { min-height: unset; }
  .landing-preview { justify-self: start; width: min(100%, 34rem); }
}
@media (max-width: 520px) {
  .landing-copy h1 { max-width: 13.5ch; font-size: clamp(2.15rem, 10.8vw, 3rem); }
  .landing-hero .landing-promises { display: none; }
}

/* Ежедневная мотивация: один короткий выбор и необязательный комментарий. */
.motivation-entry{position:relative;overflow:hidden;max-width:720px;background:linear-gradient(135deg,rgba(65,37,109,.86),rgba(10,61,82,.9))}
.motivation-entry::after{position:absolute;right:-6rem;top:-7rem;width:18rem;height:18rem;border-radius:50%;background:radial-gradient(circle,rgba(174,135,255,.26),transparent 66%);content:"";pointer-events:none}
.motivation-entry>*{position:relative;z-index:1}
.motivation-entry h1{max-width:18ch}
.form-lede{margin:0 0 1.2rem;color:var(--muted);line-height:1.55}
.inline-range-label{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin:1rem 0 .45rem!important;font-weight:750}
.inline-range-label output{min-width:2.3rem;padding:.2rem .5rem;border:1px solid rgba(181,155,255,.45);border-radius:999px;background:rgba(96,66,160,.35);color:#f3edff;text-align:center;font-variant-numeric:tabular-nums}
.score-range{appearance:none;-webkit-appearance:none;display:block;width:100%;height:1.35rem;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;cursor:pointer}
.score-range::-webkit-slider-runnable-track{height:.56rem;border:0;border-radius:999px;background:linear-gradient(90deg,#a98bff,rgba(121,226,210,.9));box-shadow:inset 0 1px 2px rgba(0,0,0,.38)}
.score-range::-moz-range-track{height:.56rem;border:0;border-radius:999px;background:linear-gradient(90deg,#a98bff,rgba(121,226,210,.9));box-shadow:inset 0 1px 2px rgba(0,0,0,.38)}
.score-range::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:1.35rem;height:1.35rem;margin-top:-.395rem;border:0;border-radius:50%;background:#c6b5ff;box-shadow:0 0 0 2px rgba(236,230,255,.4),0 0 16px rgba(169,139,255,.55)}
.score-range::-moz-range-thumb{width:1.35rem;height:1.35rem;border:0;border-radius:50%;background:#c6b5ff;box-shadow:0 0 0 2px rgba(236,230,255,.4),0 0 16px rgba(169,139,255,.55)}
.score-range:focus-visible{outline:2px solid rgba(202,182,255,.95);outline-offset:4px;border-radius:999px}
.range-scale-note{display:flex;justify-content:space-between;gap:1rem;margin:.35rem 0 1.15rem;color:var(--muted);font-size:.86rem;line-height:1.35}
@media(max-width:480px){.motivation-entry h1{font-size:clamp(1.8rem,8vw,2.3rem)}.range-scale-note{font-size:.78rem}}

/* Администраторская аналитика: цифры считываются по смысловым блокам, а комментарии остаются отдельной лентой. */
.admin-stats-section{margin:1.35rem 0;padding:1.1rem 1.2rem;border:1px solid rgba(151,184,255,.22);border-radius:18px;background:linear-gradient(135deg,rgba(16,36,78,.76),rgba(17,65,79,.5));box-shadow:0 13px 30px rgba(0,0,0,.18)}
.admin-stats-heading{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin:0 0 .85rem}.admin-stats-heading h2{margin:0;font-size:1.28rem}.admin-stats-heading p,.table-lede{margin:0;color:#b7c7e1;font-size:.9rem;line-height:1.45}
.admin-metrics{grid-template-columns:repeat(auto-fit,minmax(10.5rem,1fr));margin:0}.admin-metrics>div{min-height:8.3rem;padding:1rem;border-color:rgba(183,207,255,.2);background:rgba(5,17,47,.4)}.admin-metrics strong{font-size:1.36rem}.admin-metrics small{display:block;margin-top:.34rem;color:#b8c9e4;font-size:.76rem;line-height:1.35}
.admin-chart-grid{margin:1.35rem 0}.table-card h2{margin-top:0}.table-card .table-lede{margin:-.35rem 0 .95rem}.admin-user-stats td{vertical-align:top}.admin-user-stats td small{display:block;margin-top:.18rem;color:#aabbd6;font-size:.74rem;line-height:1.3}.admin-user-stats td:first-child{min-width:12rem}.admin-user-stats td:first-child a{font-weight:760}
.motivation-comments{background:linear-gradient(135deg,rgba(62,38,112,.62),rgba(12,70,79,.54))}.motivation-comment-feed{display:grid;gap:.65rem}.motivation-comment{margin:0;padding:.84rem .95rem;border:1px solid rgba(189,175,255,.22);border-radius:13px;background:rgba(7,18,48,.52)}.motivation-comment header{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;min-height:0;padding:0;background:transparent;border:0;box-shadow:none;position:static}.motivation-comment header div{display:flex;align-items:baseline;gap:.52rem}.motivation-comment header a{font-weight:760}.motivation-comment header span{color:#b5c5e0;font-size:.78rem}.motivation-comment header strong{color:#ffdaa1;font-variant-numeric:tabular-nums}.motivation-comment p{margin:.48rem 0 0;color:#edf4ff;line-height:1.48}
@media(max-width:640px){.admin-stats-section{padding:.9rem}.admin-stats-heading{display:block}.admin-stats-heading h2{margin-bottom:.26rem}.admin-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.admin-metrics>div{min-height:0;padding:.78rem}.admin-metrics strong{font-size:1.16rem}.motivation-comment{padding:.75rem .78rem}.motivation-comment header{align-items:flex-start}.motivation-comment header div{display:grid;gap:.1rem}}

/* Постоянный индикатор участия: всегда поверх содержимого, справа внизу. */
.active-practice-timer {
  right: max(1rem, env(safe-area-inset-right));
  bottom: max(1rem, env(safe-area-inset-bottom));
  z-index: 1005;
  min-width: 13.5rem;
}
.active-practice-timer .timer-points {
  color: #ffdc8a;
  font-size: .78rem;
  font-weight: 650;
  line-height: 1.25;
}
.active-practice-timer .timer-points b {
  color: #fff4c8;
  font-variant-numeric: tabular-nums;
}
@media (max-width: 640px) {
  .active-practice-timer {
    right: .65rem;
    bottom: max(.65rem, env(safe-area-inset-bottom));
    min-width: 0;
  }
}

/* Гостевой тест: сохранить результат — отдельный короткий выбор без давления. */
.guest-test-capture { text-align: left; }
.guest-capture-actions { display: grid; gap: .65rem; margin-top: 1.25rem; }
.guest-capture-actions .button { width: 100%; justify-content: center; }
.guest-capture-continue { border-color: rgba(141, 240, 223, .72) !important; background: linear-gradient(135deg, rgba(30, 104, 121, .7), rgba(54, 64, 148, .72)) !important; color: #f2fffd !important; box-shadow: 0 0 0 1px rgba(182, 255, 244, .09) inset, 0 .45rem 1.2rem rgba(0, 10, 37, .22); }
.guest-capture-continue:hover, .guest-capture-continue:focus-visible { border-color: #b8fff4 !important; background: linear-gradient(135deg, rgba(43, 140, 150, .8), rgba(80, 83, 184, .82)) !important; outline: none; }
.guest-capture-note { margin: 0; color: var(--muted); font-size: .84rem; line-height: 1.45; }

/* Подсказки — короткие стеклянные карточки в общей космической стилистике, без белого фона и служебного вида. */
.inline-help summary{border-color:rgba(150,241,225,.72);background:radial-gradient(circle at 32% 28%,rgba(190,255,244,.32),rgba(66,190,177,.12) 46%,rgba(45,34,106,.26) 100%);box-shadow:0 0 0 3px rgba(105,225,211,.08),0 6px 14px rgba(0,8,31,.22);color:#d9fffb}.inline-help summary:hover,.inline-help summary:focus-visible{border-color:#c4fff5;background:radial-gradient(circle at 32% 28%,rgba(210,255,248,.46),rgba(86,207,190,.22) 48%,rgba(72,46,141,.34) 100%);box-shadow:0 0 0 4px rgba(128,239,221,.13),0 9px 20px rgba(0,8,31,.3);transform:translateY(-1px) scale(1.06)}
.inline-help span,.hover-help::after{border:1px solid rgba(164,241,229,.58);border-radius:16px;background:radial-gradient(circle at 14% 0%,rgba(113,238,220,.22),transparent 38%),radial-gradient(circle at 93% 92%,rgba(166,124,255,.24),transparent 45%),linear-gradient(135deg,rgba(8,28,63,.96),rgba(36,25,87,.97));box-shadow:0 18px 42px rgba(0,5,24,.48),0 0 0 1px rgba(255,255,255,.06) inset,0 0 24px rgba(114,220,208,.12);backdrop-filter:blur(16px) saturate(130%);color:#efffff;font-size:.82rem;line-height:1.46;letter-spacing:.005em;text-shadow:0 1px 0 rgba(0,0,0,.22)}
.inline-help span{padding:.78rem .9rem}.inline-help span::after{border-color:rgba(164,241,229,.58);background:linear-gradient(135deg,rgba(11,31,66,.98),rgba(35,25,86,.98));box-shadow:2px 2px 6px rgba(0,5,24,.18)}
.hover-help::after{padding:.78rem .9rem;animation:tooltip-rise .18s ease-out both}.hover-help:hover::after,.hover-help:focus-visible::after,.hover-help:focus-within::after{display:block}@keyframes tooltip-rise{from{opacity:0;transform:translateY(4px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
.reaction-scale .scale-help::after{border-radius:14px;box-shadow:0 15px 32px rgba(0,5,24,.46),0 0 0 1px rgba(255,255,255,.06) inset,0 0 20px rgba(114,220,208,.1)}
.active-practice-timer.hover-help::after{border-color:rgba(166,241,231,.62);background:radial-gradient(circle at 15% 0%,rgba(113,238,220,.18),transparent 42%),linear-gradient(135deg,rgba(7,35,67,.98),rgba(43,25,90,.98));box-shadow:0 18px 40px rgba(0,5,24,.52),0 0 26px rgba(119,223,211,.14)}
/* На первом экране Telegram — такой же быстрый способ входа, как Google, но через официальный виджет. */
.guest-telegram{display:inline-flex;align-items:center;min-height:28px;border-radius:10px;isolation:isolate}.guest-telegram iframe{display:block;max-width:100%;border-radius:10px;filter:drop-shadow(0 4px 9px rgba(0,8,31,.2))}.guest-telegram:hover{filter:drop-shadow(0 0 11px rgba(99,207,255,.3))}@media(max-width:1040px){.guest-telegram{order:5}.guest-auth{row-gap:.5rem}}@media(max-width:560px){.guest-telegram{order:0}.guest-telegram iframe{transform:scale(.92);transform-origin:left center}.guest-auth{justify-content:flex-start}}
.guest-auth .hover-help::after{top:calc(100% + .55rem);right:0;bottom:auto;left:auto;transform-origin:top right}.guest-auth .hover-help:hover::after,.guest-auth .hover-help:focus-visible::after,.guest-auth .hover-help:focus-within::after{animation:tooltip-drop .18s ease-out both}@keyframes tooltip-drop{from{opacity:0;transform:translateY(-4px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:760px){.guest-auth .hover-help::after{right:auto;left:0;transform-origin:top left}}

/* Личные разделы находятся под именем пользователя, а связь с человеком — отдельная ясная иконка. */
.user-menu{position:relative;z-index:90}.member-name{appearance:none;max-width:11rem;overflow:hidden;border:0;border-radius:8px;background:transparent;color:#bcd0e9;cursor:pointer;font:inherit;font-size:.86rem;line-height:1;text-overflow:ellipsis;white-space:nowrap}.member-name:hover,.member-name:focus-visible,.user-menu.is-open .member-name{background:rgba(121,226,210,.1);color:#d8fffa;outline:none}.user-menu-list{position:absolute;top:calc(100% + .55rem);right:0;z-index:100;display:grid;width:min(13.5rem,78vw);gap:.16rem;padding:.5rem;border:1px solid rgba(121,226,210,.28);border-radius:14px;background:linear-gradient(145deg,rgba(22,53,108,.98),rgba(11,24,58,.99));box-shadow:0 20px 46px rgba(0,0,0,.46),0 0 32px rgba(91,141,255,.12);opacity:0;pointer-events:none;transform:translateY(-.35rem) scale(.985);transform-origin:top right;transition:opacity .16s ease,transform .16s ease}.user-menu.is-open .user-menu-list{opacity:1;pointer-events:auto;transform:translateY(0) scale(1)}.user-menu-list a{padding:.62rem .74rem;border-radius:8px;color:#edf6ff;font-size:.9rem}.user-menu-list a:hover,.user-menu-list a:focus-visible{background:linear-gradient(90deg,rgba(121,226,210,.16),rgba(146,126,255,.1));color:#fff;outline:none}.admin-contact{display:grid;width:2rem;height:2rem;place-items:center;border:1px solid rgba(111,192,255,.38);border-radius:50%;background:linear-gradient(135deg,rgba(43,133,194,.55),rgba(80,79,177,.62));color:#e9f8ff;transition:transform .18s ease,box-shadow .18s ease}.admin-contact svg{width:1.02rem;height:1.02rem;fill:currentColor}.admin-contact:hover,.admin-contact:focus-visible{box-shadow:0 0 17px rgba(99,197,255,.4);color:#fff;outline:none;transform:translateY(-1px)}
/* Напоминания */
.settings-links{margin:14px 0 2px}.reminder-card{margin-top:16px}.reminder-card h2{margin:0 0 12px;font-size:1.08rem}.reminder-form{display:grid;gap:12px}.reminder-form>label{max-width:190px}.reminder-days,.reminder-channels{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center}.reminder-day{display:inline-flex;align-items:center;gap:5px;margin:0;padding:7px 9px;border:1px solid rgba(133,198,255,.28);border-radius:999px;background:rgba(6,21,55,.44);font-size:.9rem;cursor:pointer}.reminder-day:has(input:checked){border-color:rgba(107,229,214,.7);background:rgba(48,198,190,.15);box-shadow:0 0 16px rgba(48,198,190,.12)}.reminder-channels .check{margin:0;font-size:.94rem}.reminder-browser{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.reminder-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.reminder-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 13px;border:1px solid rgba(135,193,255,.22);border-radius:13px;background:linear-gradient(120deg,rgba(10,26,62,.64),rgba(22,14,64,.38))}.reminder-list li>div{display:grid;gap:3px}.reminder-list li span{font-size:.86rem;color:#b4c5e4}.inline-form{display:flex;gap:7px;align-items:center}.text-danger{color:#ffbbb8;background:transparent;border:1px solid rgba(255,138,130,.32)}@media(max-width:620px){.reminder-list li{align-items:flex-start;flex-direction:column}.reminder-list .inline-form{width:100%}.reminder-list .inline-form .button{flex:1;padding-inline:8px}}

/* Единая поддержка: одна ссылка, один значок и ясная подпись в шапке и футере. */
.admin-contact{display:inline-flex;width:auto;min-height:2rem;align-items:center;justify-content:center;gap:.38rem;padding:0 .62rem;border-radius:10px;font-size:.8rem;font-weight:700;white-space:nowrap}
.admin-contact svg{flex:0 0 auto;width:1rem;height:1rem}.admin-contact span{display:inline}
footer{display:flex;align-items:center;justify-content:center;gap:.8rem;flex-wrap:wrap}
.footer-support{display:inline-flex;align-items:center;justify-content:center;gap:.42rem;padding:.42rem .68rem;border:1px solid rgba(111,192,255,.42);border-radius:9px;background:linear-gradient(135deg,rgba(43,133,194,.44),rgba(80,79,177,.5));color:#e9f8ff;font-weight:700;line-height:1;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
.footer-support svg{width:1rem;height:1rem;fill:currentColor;flex:0 0 auto}.footer-support:hover,.footer-support:focus-visible{background:linear-gradient(135deg,rgba(48,153,213,.66),rgba(96,88,205,.68));box-shadow:0 0 17px rgba(99,197,255,.38);color:#fff;outline:none;transform:translateY(-1px)}
@media(max-width:720px){.admin-contact{padding:.42rem}.admin-contact span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.member-nav{gap:.42rem}footer{padding:24px 5vw}}

/* Быстрый вход читается одной короткой строкой: иконки несут узнаваемость, подсказки — смысл. */
.guest-quick-auth{display:flex;align-items:center;gap:.38rem;color:#b9cbe5;font-size:.78rem;line-height:1;white-space:nowrap}.guest-quick-auth>span{margin-right:.05rem}.compact-auth-icon{display:grid!important;width:2rem;min-width:2rem;height:2rem;place-items:center;padding:0!important;border:1px solid rgba(176,208,255,.34)!important;border-radius:8px!important;background:rgba(13,32,71,.52)!important;box-shadow:0 3px 10px rgba(0,7,28,.22);transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.compact-auth-icon:hover,.compact-auth-icon:focus-visible{border-color:rgba(151,235,222,.72)!important;box-shadow:0 0 16px rgba(93,211,204,.25);outline:none;transform:translateY(-1px)}.compact-auth-icon .google-auth-icon{width:1.08rem;height:1.08rem;margin:0}.telegram-auth-icon{background:linear-gradient(135deg,#26a7df,#3d72d1)!important;border-color:rgba(149,225,255,.75)!important;color:white}.telegram-auth-icon svg{width:1.1rem;height:1.1rem;fill:currentColor;transform:translate(-.04rem,.03rem)}.guest-auth .hover-help::after{top:calc(100% + .55rem);right:0;bottom:auto;left:auto;transform-origin:top right}.guest-auth .hover-help:hover::after,.guest-auth .hover-help:focus-visible::after{display:block}@media(max-width:720px){.user-menu-list{position:fixed;top:3.7rem;right:.65rem;width:min(18rem,calc(100vw - 1.3rem))}.guest-quick-auth>span{display:none}.compact-auth-icon{width:1.9rem;min-width:1.9rem;height:1.9rem}.admin-contact{width:1.9rem;height:1.9rem}}

/* v0.8.16 — шапка проверяется как единая композиция, а не как набор отдельных ссылок. */
.member-nav{position:relative;flex:0 0 auto;min-width:0}.member-nav>.user-menu{position:relative;display:block;flex:0 0 auto}.member-nav>.user-menu>.user-menu-list{position:absolute!important;top:calc(100% + .6rem)!important;right:0!important;left:auto!important;z-index:250!important;display:grid!important;width:min(13.5rem,calc(100vw - 1.4rem))!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important}.member-nav>.user-menu.is-open>.user-menu-list{visibility:visible!important;opacity:1!important;pointer-events:auto!important}.member-nav .admin-contact>svg{display:block!important;width:1.02rem!important;height:1.02rem!important;max-width:1.02rem!important;max-height:1.02rem!important;fill:currentColor!important}.guest-auth{margin-left:auto;flex:0 1 auto;min-width:0}.guest-auth-email{flex:0 1 auto;min-width:0}.guest-quick-auth{flex:0 0 auto}.guest-auth-email input{min-width:0}
@media(max-width:1100px){header:has(.guest-auth){align-items:flex-start;flex-wrap:wrap;padding-top:.55rem;padding-bottom:.55rem;gap:.5rem 1rem}header:has(.guest-auth) .brand{padding-top:.32rem}.guest-auth{align-items:center;justify-content:flex-end;flex-wrap:nowrap;gap:.35rem;min-width:0}.guest-auth-email{flex:0 1 auto}.guest-auth-email input{width:clamp(7.7rem,14vw,10.75rem)}.guest-auth-link{font-size:.78rem}.guest-auth-register{padding:.42rem .5rem;font-size:.78rem}.guest-quick-auth{gap:.28rem;font-size:.75rem}}
@media(max-width:860px){header:has(.guest-auth){display:grid;grid-template-columns:1fr auto;align-items:center}header:has(.guest-auth) .brand{grid-column:1;grid-row:1}.guest-auth{grid-column:1 / -1;grid-row:2;width:100%;margin-left:0;justify-content:flex-start;flex-wrap:wrap}.guest-auth-email{flex:0 1 auto}.guest-quick-auth{order:4}.guest-auth-email input{width:clamp(7.5rem,28vw,10.75rem)}}
@media(max-width:590px){header:has(.guest-auth){grid-template-columns:1fr}.guest-auth{gap:.42rem}.guest-auth-email{width:100%;flex-wrap:nowrap}.guest-auth-email input{width:0;flex:1 1 0}.guest-auth-link,.guest-auth-register{font-size:.76rem}.guest-quick-auth{margin-left:auto}}

/* v0.8.17 — связь с администратором должна быть понятна без подсказки. */
.member-nav .admin-contact{display:inline-flex!important;width:auto!important;min-width:0!important;height:2rem!important;align-items:center!important;justify-content:center!important;gap:.34rem;padding:0 .58rem!important;border-radius:9px!important;background:linear-gradient(135deg,rgba(43,133,194,.52),rgba(80,79,177,.58))!important;color:#e9f8ff!important;font-size:.78rem!important;font-weight:760!important;line-height:1!important;white-space:nowrap}.member-nav .admin-contact>svg{width:.94rem!important;height:.94rem!important;max-width:.94rem!important;max-height:.94rem!important;flex:0 0 .94rem;fill:currentColor!important}.member-nav .admin-contact>span{display:block!important}.member-nav .admin-contact:hover,.member-nav .admin-contact:focus-visible{box-shadow:0 0 17px rgba(99,197,255,.4);color:#fff!important;outline:none;transform:translateY(-1px)}

/* v0.8.18 — шкала неприятности должна быть удобной для точного движения, а не выглядеть переключателем. */
.reaction-scale-field{grid-template-columns:1fr!important;row-gap:.42rem!important}.reaction-scale-field legend,.reaction-scale-field>.reaction-slider{grid-column:1!important}.reaction-scale-field>.reaction-slider{grid-row:2!important;width:100%!important}.reaction-slider{grid-template-columns:minmax(13rem,1fr) 2rem 4.25rem!important;gap:.68rem!important;padding:.16rem 0!important}.reaction-slider-range{height:1.72rem!important}.reaction-slider-range::-webkit-slider-runnable-track{height:.72rem!important}.reaction-slider-range::-moz-range-track{height:.72rem!important}.reaction-slider-range::-webkit-slider-thumb{width:1.62rem!important;height:1.62rem!important;margin-top:-.45rem!important}.reaction-slider-range::-moz-range-thumb{width:1.62rem!important;height:1.62rem!important}.reaction-slider-value{min-width:2rem!important;font-size:1.05rem!important}.reaction-slider-manual{width:4.25rem!important;height:2.8rem!important;font-size:1.05rem!important}.reaction-slider .scale-value-hint{right:0!important;left:auto!important}@media(max-width:640px){.reaction-slider{grid-template-columns:minmax(8.5rem,1fr) 1.8rem 3.9rem!important;gap:.48rem!important}.reaction-slider-manual{width:3.9rem!important}.reaction-slider-range{height:1.62rem!important}}

/* v0.8.19 — в проверке метода эмоции получают полноценную боковую колонку, а не тесный всплывающий угол. */
.method-trial{max-width:min(1050px,calc(100vw - 2rem))!important}.method-trial-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(17.5rem,.62fr);gap:1.15rem;align-items:start}.method-trial-main{display:grid;gap:.78rem;min-width:0}.method-trial-main>.emotion-field{margin:0}.emotion-sidebar{display:grid;align-content:start;gap:.62rem;min-height:13rem;max-height:27rem;padding:.8rem;border:1px solid rgba(143,243,226,.34);border-radius:15px;background:linear-gradient(145deg,rgba(15,35,75,.72),rgba(29,28,82,.58));box-shadow:inset 0 0 0 1px rgba(255,255,255,.035),0 10px 26px rgba(0,0,0,.15);overflow:hidden}.emotion-sidebar>span{color:#bffcf3;font-size:.76rem;font-weight:820;letter-spacing:.075em;text-transform:uppercase}.emotion-sidebar .emotion-suggestions{position:static!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:.42rem;max-height:22rem;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:auto;backdrop-filter:none}.emotion-sidebar .emotion-suggestions[hidden]{display:none!important}.emotion-sidebar .emotion-suggestion{min-height:2.55rem;padding:.5rem .58rem;font-size:.9rem}.emotion-editor-standard.emotion-sidebar-host .emotion-suggestions{position:static!important}@media(max-width:900px){.method-trial-workspace{grid-template-columns:1fr}.emotion-sidebar{max-height:18rem}.emotion-sidebar .emotion-suggestions{max-height:14rem}}@media(max-width:520px){.emotion-sidebar .emotion-suggestions{grid-template-columns:1fr}.emotion-sidebar{padding:.7rem}}

/* v0.8.20 — проверка Проговора подсказывает выбор реальной темы сразу, а не ругает после формы. */
.method-trial-validation{min-height:2.65rem;margin:0!important;padding:.58rem .72rem;border:1px solid rgba(146,171,222,.28);border-radius:11px;background:rgba(11,28,65,.44);color:#cbd8ed;font-size:.9rem;line-height:1.38}.method-trial-validation[data-kind="ready"]{border-color:rgba(121,226,210,.48);background:rgba(35,126,119,.18);color:#d6fff8}.method-trial-validation[data-kind="careful"]{border-color:rgba(255,184,108,.44);background:rgba(133,78,28,.18);color:#ffe0b2}.method-trial-validation[data-kind="quiet"]{border-color:rgba(154,179,231,.28);background:rgba(20,42,88,.3);color:#d2def2}.method-trial [data-method-trial-submit][disabled]{opacity:.48;cursor:not-allowed;filter:saturate(.55);transform:none;box-shadow:none}

/* Личное меню: прозрачная зона между именем и карточкой остаётся частью навигации. */
.member-nav > .user-menu { padding-bottom: .6rem; margin-bottom: -.6rem; }
.member-nav > .user-menu > .user-menu-list { top: 100% !important; }

/* Для неопределённой оценки не подставляем произвольный балл: открывается отдельный маршрут наблюдения эмоций. */
.scale-uncertain-link { display: inline-flex; margin: .35rem 0 0; color: #a9c9ec; font-size: .8rem; line-height: 1.25; text-decoration: underline; text-decoration-color: rgba(169, 201, 236, .45); text-underline-offset: .16em; }
.scale-uncertain-link:hover, .scale-uncertain-link:focus-visible { color: #c7fff3; text-decoration-color: currentColor; outline: none; }
.method-trial-uncertain { display: flex; align-items: flex-start; gap: .5rem; margin: .72rem 0; color: #c9d9ef; font-size: .9rem; line-height: 1.4; }
.method-trial-uncertain input { margin-top: .18rem; }
.method-trial-text { display: grid; gap: .7rem; margin: 1rem 0; }
.method-trial-text p { margin: 0; }

/* Финальная позиция общего счётчика: один и тот же видимый ориентир на любой авторизованной странице. */
html body .active-practice-timer {
  position: fixed !important;
  top: auto !important;
  right: max(1.15rem, env(safe-area-inset-right)) !important;
  bottom: max(1.15rem, env(safe-area-inset-bottom)) !important;
  left: auto !important;
  z-index: 1200 !important;
  width: min(20rem, calc(100vw - 2.3rem)) !important;
  min-width: 0 !important;
  margin: 0 !important;
  transform: none !important;
  visibility: visible !important;
}
@media (max-width: 640px) {
  html body .active-practice-timer {
    right: max(.7rem, env(safe-area-inset-right)) !important;
    bottom: max(.7rem, env(safe-area-inset-bottom)) !important;
    width: min(19rem, calc(100vw - 1.4rem)) !important;
  }
}

/* Награда за завершённый полезный шаг: видна кратко, не перекрывает маршрут и не требует клика. */
.activity-points-pop{position:fixed;right:max(1.15rem,env(safe-area-inset-right));bottom:calc(max(1.15rem,env(safe-area-inset-bottom)) + 4.35rem);z-index:1300;display:flex;align-items:center;gap:.38rem;max-width:min(19rem,calc(100vw - 2.3rem));padding:.54rem .74rem;border:1px solid rgba(138,247,224,.72);border-radius:999px;background:linear-gradient(135deg,rgba(20,108,105,.96),rgba(53,40,125,.97));box-shadow:0 10px 26px rgba(0,5,26,.38),0 0 20px rgba(121,226,210,.2);color:#f3fffd;font-size:.83rem;font-weight:760;line-height:1.2;pointer-events:none;animation:activity-points-pop 3.4s ease both}@keyframes activity-points-pop{0%{opacity:0;transform:translateY(.5rem) scale(.96)}12%,72%{opacity:1;transform:translateY(0) scale(1)}100%{opacity:0;transform:translateY(-.35rem) scale(.98)}}@media(max-width:640px){.activity-points-pop{right:max(.7rem,env(safe-area-inset-right));bottom:calc(max(.7rem,env(safe-area-inset-bottom)) + 4.1rem);max-width:calc(100vw - 1.4rem);font-size:.78rem}}

/* Компактная шапка: личная карточка привязана к началу имени, а Telegram не маскируется под внутренний чат. */
@media(min-width:721px){.member-nav>.user-menu>.user-menu-list{left:0!important;right:auto!important;transform-origin:top left!important}}
.member-nav .telegram-contact{border-color:rgba(104,205,255,.68)!important;background:linear-gradient(135deg,rgba(30,151,218,.76),rgba(56,93,193,.78))!important}.member-nav .telegram-contact:hover,.member-nav .telegram-contact:focus-visible{box-shadow:0 0 18px rgba(82,190,255,.48)!important}

/* Таймер: свёрнутый вид — только итоговое время и очки; подробности раскрываются добровольно. */
html body .active-practice-timer{width:auto!important;max-width:calc(100vw - 2.3rem);padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;backdrop-filter:none!important;overflow:visible!important}.active-practice-timer .timer-details{margin:0;border:1px solid rgba(121,226,210,.36);border-radius:999px;background:linear-gradient(135deg,rgba(8,24,58,.95),rgba(25,43,93,.94));box-shadow:0 9px 24px rgba(0,5,25,.32),0 0 18px rgba(86,121,225,.1);overflow:hidden}.active-practice-timer .timer-details>summary{display:flex;align-items:center;gap:.48rem;min-height:2.55rem;padding:.42rem .65rem .42rem .78rem;list-style:none;cursor:pointer;user-select:none}.active-practice-timer .timer-details>summary::-webkit-details-marker{display:none}.active-practice-timer .timer-details>summary::after{width:.45rem;height:.45rem;margin-left:.04rem;border-right:1px solid #b8d7f4;border-bottom:1px solid #b8d7f4;content:"";transform:rotate(45deg) translateY(-.12rem);transition:transform .16s ease}.active-practice-timer .timer-details[open]>summary::after{transform:rotate(225deg) translate(-.02rem,-.08rem)}.active-practice-timer .timer-label{margin:0;color:#bdcce7;font-size:.7rem;font-weight:760;letter-spacing:.01em;text-transform:none}.active-practice-timer strong{margin:0;color:#f4fbff;font-size:1.05rem;line-height:1;font-variant-numeric:tabular-nums}.active-practice-timer .timer-points{display:inline-flex;align-items:center;gap:.18rem;margin-left:.08rem;color:#ffdc8a;font-size:.78rem;line-height:1}.active-practice-timer .timer-points i{font-style:normal}.active-practice-timer .timer-points b{color:#fff4c8}.active-practice-timer .timer-expanded{display:none;gap:.34rem;padding:0 .78rem .68rem;border-top:1px solid rgba(154,190,238,.15)}.active-practice-timer .timer-details[open] .timer-expanded{display:grid}.active-practice-timer .timer-breakdown{color:#a8ffef;font-size:.75rem;font-weight:650;line-height:1.3}.active-practice-timer .timer-help{color:#b8c9e5;font-size:.72rem;line-height:1.28}.active-practice-timer [data-timer-note]{color:#ffe2ac;font-size:.74rem;line-height:1.3}.active-practice-timer.timer-target .timer-details{border-color:rgba(255,199,114,.7);background:linear-gradient(135deg,rgba(67,47,24,.96),rgba(68,39,78,.96))}.active-practice-timer.timer-limit .timer-details{border-color:rgba(255,184,108,.78);background:linear-gradient(135deg,rgba(78,42,19,.97),rgba(80,35,60,.97))}.active-practice-timer.timer-stop .timer-details{border-color:rgba(255,143,155,.75);background:linear-gradient(135deg,rgba(72,29,44,.97),rgba(55,23,68,.97))}@media(max-width:640px){html body .active-practice-timer{max-width:calc(100vw - 1.4rem)}.active-practice-timer .timer-details>summary{min-height:2.4rem;padding:.4rem .6rem .4rem .7rem}.active-practice-timer .timer-label{font-size:.67rem}.active-practice-timer strong{font-size:1rem}}

/* Широкий список эмоций: только собственная тёмная панель сервиса, без нативного белого списка браузера. */
.emotion-editor-standard .emotion-suggestions{border-color:rgba(143,243,226,.52)!important;background:radial-gradient(circle at 12% 0%,rgba(106,226,209,.18),transparent 38%),radial-gradient(circle at 92% 100%,rgba(148,111,255,.24),transparent 45%),linear-gradient(145deg,rgba(8,29,66,.98),rgba(28,24,80,.98))!important;box-shadow:0 20px 42px rgba(0,4,25,.5),0 0 0 1px rgba(255,255,255,.055) inset!important}.emotion-editor-standard .emotion-suggestion{border-color:rgba(169,198,255,.22)!important;background:rgba(9,24,58,.7)!important;color:#ebf6ff!important}.emotion-editor-standard .emotion-suggestion:hover,.emotion-editor-standard .emotion-suggestion:focus-visible{border-color:rgba(125,237,220,.8)!important;background:linear-gradient(135deg,rgba(35,119,120,.76),rgba(66,49,135,.67))!important}

/* Два уровня выбора эмоций: быстрые подсказки под строкой и полный тёмный каталог рядом. */
.emotion-quick-suggestions{display:flex;flex-wrap:wrap;gap:.34rem;margin:.38rem 0 .1rem}.emotion-quick-suggestions[hidden]{display:none}.emotion-quick-suggestion{max-width:100%;margin:0;padding:.31rem .56rem;border:1px solid rgba(131,233,218,.46);border-radius:999px;background:linear-gradient(135deg,rgba(20,85,99,.56),rgba(59,42,128,.46));color:#dffff8;font:inherit;font-size:.78rem;font-weight:700;line-height:1.18;white-space:normal;text-align:left;cursor:pointer;transition:border-color .16s ease,background .16s ease,transform .16s ease}.emotion-quick-suggestion:hover,.emotion-quick-suggestion:focus-visible{border-color:#9cfbef;background:linear-gradient(135deg,rgba(35,132,132,.8),rgba(83,58,165,.72));outline:0;transform:translateY(-1px)}
.emotion-editor-standard .emotion-suggestions,.emotion-suggestions{display:flex!important;flex-direction:column!important;grid-template-columns:none!important;gap:.38rem;max-height:min(70vh,42rem)!important;overflow-y:auto!important;padding:.65rem!important}.emotion-editor-standard.emotion-suggestions-side .emotion-suggestions{top:0;min-width:min(25rem,calc(100vw - 2rem));max-width:min(30rem,calc(100vw - 2rem));max-height:calc(100vh - 2.2rem)!important}.emotion-suggestion,.emotion-editor-standard .emotion-suggestion{display:block;min-height:2.48rem!important;padding:.54rem .72rem!important;overflow:visible!important;text-overflow:clip!important;white-space:normal!important;word-break:normal!important;line-height:1.25!important}.emotion-sidebar .emotion-suggestions{display:flex!important;flex-direction:column!important;grid-template-columns:none!important;max-height:calc(100vh - 14rem)!important}.emotion-sidebar .emotion-suggestion{width:100%;text-overflow:clip!important;white-space:normal!important}@media(max-width:980px){.emotion-editor-standard.emotion-suggestions-side .emotion-suggestions{top:calc(100% + .42rem);right:0;left:0;min-width:0;max-width:none;max-height:min(62vh,38rem)!important}}@media(max-width:640px){.emotion-quick-suggestions{gap:.28rem;margin-top:.32rem}.emotion-quick-suggestion{font-size:.74rem;padding:.29rem .5rem}.emotion-editor-standard .emotion-suggestions,.emotion-suggestions{max-height:58vh!important}}
.emotion-suggestions[hidden],.emotion-editor-standard .emotion-suggestions[hidden]{display:none!important}

/* Выделение варианта эмоции при навигации клавишами ↑/↓. */
.emotion-editor-standard .emotion-suggestion.is-active,
.emotion-suggestion.is-active{border-color:rgba(142,255,232,.96)!important;background:linear-gradient(135deg,rgba(39,142,136,.88),rgba(82,58,176,.78))!important;color:#fff!important;box-shadow:0 0 0 2px rgba(125,237,220,.24),0 6px 18px rgba(0,0,0,.22);outline:none}

/* Раскрываемая дорожная карта метода в ежедневном плане. */
.method-roadmap{overflow:hidden}.method-roadmap>summary{display:block;list-style:none;cursor:pointer}.method-roadmap>summary::-webkit-details-marker{display:none}.method-roadmap>summary:focus-visible{outline:3px solid rgba(121,226,210,.55);outline-offset:.28rem;border-radius:.8rem}.method-roadmap:not([open])>summary:hover{background:rgba(121,226,210,.035)}.method-roadmap-toggle{display:inline-flex;align-items:center;gap:.35rem;margin-top:.86rem;color:#a8fff0;font-size:.78rem;font-weight:750}.method-roadmap-toggle::after{display:inline-block;content:'⌄';font-size:1.1rem;line-height:.6;transition:transform .16s ease}.method-roadmap[open] .method-roadmap-toggle{font-size:0}.method-roadmap[open] .method-roadmap-toggle::after{content:'⌃  Скрыть дорожную карту';font-size:.78rem;transform:none}.method-roadmap-body{margin:1.05rem -1.25rem -1.25rem;padding:1.15rem 1.25rem 1.25rem;border-top:1px solid rgba(165,196,255,.2);background:linear-gradient(145deg,rgba(17,32,73,.48),rgba(11,51,68,.3))}.method-roadmap-body h3{margin:0 0 .24rem;font-size:1.08rem}.method-roadmap-body>p{font-size:.88rem}.method-roadmap-list{display:grid;gap:.58rem;margin:1rem 0 0;padding:0;list-style:none;counter-reset:method-roadmap}.method-roadmap-list li{display:grid;grid-template-columns:4.45rem minmax(0,1fr);gap:.66rem;align-items:start;padding:.66rem .7rem;border:1px solid rgba(165,196,255,.16);border-radius:.7rem;background:rgba(7,19,47,.36);counter-increment:method-roadmap}.method-roadmap-state{padding-top:.1rem;color:#9caccc;font-size:.7rem;font-weight:800;line-height:1.2;letter-spacing:.055em;text-transform:uppercase}.method-roadmap-list strong,.method-roadmap-list small{display:block}.method-roadmap-list strong{color:#f0f6ff;font-size:.9rem;line-height:1.28}.method-roadmap-list small{margin-top:.17rem;color:#b5c4df;font-size:.81rem;line-height:1.35}.method-roadmap-list li.done{border-color:rgba(121,226,210,.25);background:rgba(42,120,112,.14)}.method-roadmap-list li.done .method-roadmap-state{color:#9affeb}.method-roadmap-list li.done strong::before{content:'✓ ';color:#96ffe8}.method-roadmap-list li.current{border-color:rgba(166,137,255,.76);background:linear-gradient(125deg,rgba(72,46,144,.52),rgba(16,103,109,.4));box-shadow:0 0 20px rgba(146,108,255,.18)}.method-roadmap-list li.current .method-roadmap-state{color:#d3c3ff}.method-roadmap-list li.future{opacity:.8}.method-roadmap[open] .progress-track{margin-bottom:.75rem}@media(max-width:640px){.method-roadmap-body{margin-right:-1rem;margin-bottom:-1rem;margin-left:-1rem;padding:1rem}.method-roadmap-list li{grid-template-columns:3.9rem minmax(0,1fr);gap:.5rem;padding:.6rem}.method-roadmap-list small{font-size:.78rem}}

/* На широком экране полный каталог остаётся целиком в видимой области справа. */
@media(min-width:981px){.emotion-editor-standard.emotion-suggestions-side .emotion-suggestions{position:fixed!important;top:5.3rem!important;right:1.15rem!important;bottom:4.25rem!important;left:auto!important;max-height:none!important;overflow-y:auto!important}}

/* Панель, вынесенная из размытой карточки: фиксируется к окну, а не к её локальной системе координат. */
@media(min-width:981px){body>.emotion-suggestions-fixed{position:fixed!important;top:5.3rem!important;right:1.15rem!important;bottom:4.25rem!important;left:auto!important;z-index:24;display:flex!important;flex-direction:column!important;width:min(25rem,calc(100vw - 2rem));min-width:0!important;max-width:min(30rem,calc(100vw - 2rem));max-height:none!important;overflow-y:auto!important}}

/* Пройденный этап дорожной карты остаётся полностью читаемым; перечёркивание уместно только в кратком дневном списке. */
.method-roadmap .method-roadmap-list li.done,.method-roadmap .method-roadmap-list li.done strong,.method-roadmap .method-roadmap-list li.done small{text-decoration:none!important}

/* Постоянный безопасный выход из курса наблюдения эмоций. */
.emotional-awareness{position:relative}.emotional-awareness-close{position:absolute;top:.82rem;right:.82rem}.emotional-awareness-close .button{margin:0;white-space:nowrap}@media(max-width:520px){.emotional-awareness-close{top:.68rem;right:.62rem}.emotional-awareness-close .button{padding:.32rem .52rem;font-size:.73rem}}

/* Ориентир шкалы в курсе наблюдения: словесная сила сначала, диапазон баллов затем. */
.emotional-awareness-scale-note{margin:1rem 0;padding:.88rem .95rem;border:1px solid rgba(126,227,212,.43);border-radius:14px;background:linear-gradient(135deg,rgba(20,83,102,.52),rgba(67,42,128,.42));box-shadow:inset 0 0 0 1px rgba(255,255,255,.04)}.emotional-awareness-scale-note>strong{display:block;color:#a7f6e9;font-size:1.18rem;font-variant-numeric:tabular-nums}.emotional-awareness-scale-note p{margin:.42rem 0 0}.emotional-awareness-scale-note p:last-child{color:#c7d5ec;font-size:.9rem}

/* Одно число для силы реакции: бегунок и поле ввода без дублирующего вывода. */
.reaction-slider { grid-template-columns: minmax(0, 1fr) 4.25rem !important; }
@media (max-width: 640px) { .reaction-slider { grid-template-columns: minmax(8.5rem, 1fr) 3.9rem !important; } }

/* Ошибка подготовки черновика остаётся рядом с введёнными данными. */
.form-inline-error { margin: -.35rem 0 .7rem; padding: .62rem .76rem; border: 1px solid rgba(244,153,146,.48); border-radius: 10px; background: rgba(104,29,48,.34); color: #ffe5e1; font-weight: 600; line-height: 1.4; }

/* v0.8.24 — шкала: ссылка на обучение оценке стоит справа от числа и не расходует отдельную строку. */
.reaction-slider{grid-template-columns:minmax(7rem,1fr) 4.25rem 5.75rem!important;align-items:start!important;gap:.48rem!important}
.reaction-slider-range{grid-column:1!important;grid-row:1!important;align-self:center!important}
.reaction-slider-manual-wrap{grid-column:2!important;grid-row:1!important}
.reaction-slider-extra-controls{display:block!important;grid-column:3!important;grid-row:1!important;align-self:start!important;min-width:0!important;padding-top:.34rem!important}
.reaction-slider-extra-controls .scale-uncertain-link{display:block!important;width:5.75rem!important;margin:0!important;color:#c5d7f8!important;font-size:.71rem!important;line-height:1.12!important;text-decoration:underline!important;text-underline-offset:.14em!important}
@media(max-width:640px){.reaction-slider{grid-template-columns:minmax(5.1rem,1fr) 3.9rem 4.55rem!important;gap:.32rem!important}.reaction-slider-extra-controls .scale-uncertain-link{width:4.55rem!important;font-size:.66rem!important}}

/* v0.8.25 — короткие подсказки не должны уходить за границу шапки и не занимают место в форме. */
.member-nav .admin-contact.hover-help::after{right:0;left:auto;bottom:calc(100% + .55rem);width:min(19rem,calc(100vw - 1.3rem));transform-origin:bottom right}
.bond-save-more-help{display:inline-flex;position:relative}
.bond-save-more-help.hover-help::after{left:0;bottom:calc(100% + .55rem);width:max-content;max-width:calc(100vw - 1.3rem);white-space:nowrap}
.bond-answer-prompt{margin:.15rem 0 .65rem;color:#c9d9ef;font-size:.94rem;line-height:1.38}
@media(max-width:640px){.member-nav .admin-contact.hover-help::after{right:0;left:auto;width:min(18rem,calc(100vw - 1.3rem))}.bond-save-more-help.hover-help::after{left:0;right:auto;font-size:.78rem}}

/* Не блокировать submit-кнопку свойством disabled до сериализации формы: иначе браузер теряет flow=next. */
.bond-answer-form.is-submitting{pointer-events:none}
.bond-answer-form.is-submitting .button{opacity:.68;cursor:progress}

/* Первичная диагностика: видимый прогресс без второго действия на экране. */
.bond-progress{margin:.45rem 0 .85rem;max-width:100%}
.bond-progress-meta{display:flex;align-items:baseline;justify-content:space-between;gap:.8rem;margin-bottom:.36rem;color:#cbd7ed;font-size:.79rem;font-weight:700}
.bond-progress-meta strong{color:#a8ffef;font-variant-numeric:tabular-nums}
.bond-progress .progress-track{height:.48rem;overflow:hidden;border-radius:999px}
.bond-progress .progress-track span{display:block;height:100%;min-width:.42rem;border-radius:inherit;transition:width .28s ease}
@media(max-width:640px){.bond-progress{margin:.4rem 0 .72rem}.bond-progress-meta{font-size:.75rem}}

/* Табло времени: это расход времени, а не текущие часы; детали видны при наведении или фокусе. */
.active-practice-timer .timer-details{outline:none}
.active-practice-timer .timer-summary{display:grid;grid-template-columns:auto auto auto;align-items:center;gap:.42rem .5rem;cursor:default}
.active-practice-timer .timer-summary .timer-label{color:#bdd3ec;font-size:.78rem;text-transform:none;letter-spacing:.01em}
.active-practice-timer .timer-expanded{display:none;gap:.26rem;margin-top:.52rem;padding-top:.5rem;border-top:1px solid rgba(173,202,255,.2)}
.active-practice-timer .timer-details:hover .timer-expanded,.active-practice-timer .timer-details:focus .timer-expanded,.active-practice-timer .timer-details:focus-within .timer-expanded{display:grid}
.active-practice-timer .timer-details:focus-visible{border-radius:8px;outline:2px solid rgba(121,226,210,.62);outline-offset:3px}
@media(max-width:640px){.active-practice-timer .timer-summary{gap:.35rem}.active-practice-timer .timer-summary .timer-label{font-size:.74rem}}

/* Не сжимать подпись расхода времени: она не должна обрезаться рядом с числом и очками. */
.active-practice-timer{min-width:16rem}
.active-practice-timer .timer-summary{grid-template-columns:minmax(0,1fr) auto auto}
.active-practice-timer .timer-summary .timer-label{min-width:0;white-space:nowrap}
@media(max-width:640px){.active-practice-timer{min-width:0}.active-practice-timer .timer-summary .timer-label{font-size:.7rem}}

/* Новая строка заменяет summary: сохраняем его безопасные отступы внутри скруглённого табло. */
html body .active-practice-timer{min-width:16rem!important}
.active-practice-timer .timer-details .timer-summary{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:.42rem .5rem;min-height:2.55rem;padding:.42rem .65rem .42rem .78rem}
@media(max-width:640px){html body .active-practice-timer{min-width:0!important}.active-practice-timer .timer-details .timer-summary{min-height:2.4rem;padding:.4rem .6rem .4rem .7rem}}

/* v0.8.29 — единая шкала: у оценки одно число, бегунок не дублирует его. */
.unified-scale .scale-manual-wrap{display:flex;flex-direction:column;align-items:stretch;min-width:0}
.unified-scale.reaction-slider{display:grid!important;grid-template-columns:minmax(5.1rem,1fr) 4.25rem 5.75rem!important;align-items:start!important;gap:.48rem!important}
.unified-scale.reaction-slider>[data-scale-range]{grid-column:1!important;grid-row:1!important;align-self:center!important}
.unified-scale.reaction-slider>.scale-manual-wrap{grid-column:2!important;grid-row:1!important}
.unified-scale.reaction-slider>.scale-extra-control{display:block!important;grid-column:3!important;grid-row:1!important;align-self:start!important;padding-top:.34rem!important}
.unified-scale.reaction-slider .scale-uncertain-link{display:block!important;width:5.75rem!important;color:#c5d7f8!important;font-size:.71rem!important;line-height:1.12!important;text-decoration:underline!important;text-underline-offset:.14em!important}
.unified-scale.mood-slider{display:grid!important;grid-template-columns:minmax(0,1fr) 4.25rem!important;align-items:start!important;gap:.55rem!important}
.unified-scale.mood-slider>[data-scale-range]{grid-column:1!important;grid-row:1!important;align-self:center!important}
.unified-scale.mood-slider>.scale-manual-wrap{grid-column:2!important;grid-row:1!important}
.scale-precision-toggle{display:inline-grid!important;place-items:center!important;min-width:2.05rem!important;min-height:1.48rem!important;padding:.08rem .24rem!important;border:1px solid rgba(135,177,221,.62)!important;border-radius:.42rem!important;background:linear-gradient(145deg,rgba(35,59,102,.9),rgba(10,28,63,.96))!important;box-shadow:0 2px 0 rgba(0,0,0,.42),inset 0 1px 0 rgba(255,255,255,.13)!important;color:#bfe6ff!important;font-size:.66rem!important;font-weight:850!important;line-height:1!important;letter-spacing:.01em!important;transform:translateY(0);transition:transform .13s ease,box-shadow .13s ease,border-color .13s ease,background .13s ease!important}
.scale-precision-toggle[aria-pressed="true"]{border-color:#83f0df!important;background:linear-gradient(145deg,rgba(31,157,151,.82),rgba(77,63,173,.88))!important;box-shadow:inset 0 2px 4px rgba(0,0,0,.42),0 0 0 1px rgba(156,255,240,.19),0 0 13px rgba(114,231,213,.36)!important;color:#f0fffd!important;transform:translateY(1px)}
.scale-precision-toggle[aria-pressed="false"]{opacity:.86}
.scale-precision-toggle:focus-visible{outline:2px solid #b6fff5!important;outline-offset:2px!important}
@media(max-width:640px){.unified-scale.reaction-slider{grid-template-columns:minmax(5.1rem,1fr) 3.9rem 4.55rem!important;gap:.32rem!important}.unified-scale.reaction-slider .reaction-slider-manual{width:3.9rem!important}.unified-scale.reaction-slider .scale-uncertain-link{width:4.55rem!important;font-size:.66rem!important}.unified-scale.mood-slider{grid-template-columns:minmax(0,1fr) 4rem!important}}

/* Осмысленный прогресс: ориентир показывает цель и следующий полезный шаг без формальных достижений. */
.activity-milestone{display:grid;gap:.42rem;margin-top:.9rem;padding:.9rem 1rem;border:1px solid rgba(169,220,255,.26);border-radius:13px;background:rgba(5,17,46,.42)}
.activity-milestone strong{color:#f5f8ff;font-size:.95rem}.activity-milestone span{color:#c6d6eb;font-size:.84rem;line-height:1.4}.activity-milestone small{color:#a9ffef;font-size:.76rem;font-weight:750}.activity-progress{height:.42rem;overflow:hidden;border-radius:999px;background:rgba(176,205,255,.16);box-shadow:inset 0 1px 2px rgba(0,0,0,.3)}.activity-progress i{display:block;height:100%;min-width:.35rem;border-radius:inherit;background:linear-gradient(90deg,#79e2d2,#aaa0ff);box-shadow:0 0 12px rgba(121,226,210,.55)}
.activity-points-pop{max-width:min(31rem,calc(100vw - 2.3rem));border-radius:14px}.activity-points-pop::first-letter{color:#ffdc8a}
@media(max-width:640px){.activity-milestone{padding:.82rem .85rem}.activity-points-pop{max-width:calc(100vw - 1.4rem)}}

/* v0.8.30 — шкала использует всю доступную ширину, а подсказка десятых всегда раскрывается внутрь экрана. */
.unified-scale.reaction-slider{grid-template-columns:minmax(6.25rem,1fr) 3.85rem 5.15rem!important;gap:.38rem!important}
.unified-scale.reaction-slider .reaction-slider-manual{width:3.85rem!important}.scale-precision-toggle.hover-help::after{right:0!important;left:auto!important;bottom:calc(100% + .55rem)!important;width:min(18rem,calc(100vw - 1.4rem))!important;max-width:calc(100vw - 1.4rem)!important;white-space:normal!important;transform-origin:bottom right!important}
@media(max-width:640px){.unified-scale.reaction-slider{grid-template-columns:minmax(5.5rem,1fr) 3.65rem 4.75rem!important;gap:.28rem!important}.unified-scale.reaction-slider .reaction-slider-manual{width:3.65rem!important}.scale-precision-toggle.hover-help::after{width:min(16rem,calc(100vw - 1.15rem))!important;max-width:calc(100vw - 1.15rem)!important}}

/* Информационные разделы: краткий контекст без тяжёлой лендинговой вёрстки. */
.info-page{max-width:980px}.info-page-lede{max-width:54rem;margin:.2rem 0 1.2rem;color:#dce9fb;font-size:1.08rem;line-height:1.55}.info-page-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin:1.15rem 0}.info-page-grid article,.info-page-note{padding:1rem 1.05rem;border:1px solid rgba(142,199,242,.22);border-radius:14px;background:linear-gradient(135deg,rgba(12,35,76,.6),rgba(33,21,80,.38))}.info-page-grid h2,.info-page-note h2{margin:0 0 .45rem;color:#f1f7ff;font-size:1rem}.info-page-grid p,.info-page-note p{margin:0;color:#c9d8ec;font-size:.9rem;line-height:1.5}.info-page-grid p+p{margin-top:.7rem}.info-page-grid a{color:#a7f4e7;text-decoration:underline;text-underline-offset:.15em}.info-page-note{margin:1rem 0;background:rgba(8,25,57,.55)}
@media(max-width:760px){.info-page-grid{grid-template-columns:1fr}.info-page-lede{font-size:1rem}.info-page-grid article,.info-page-note{padding:.9rem}}

/* Меню поддержки: два понятных действия без разрыва с верхней панелью. */
.support-menu{position:relative;z-index:90}.support-menu-toggle{font:inherit}.support-menu-list{position:absolute;top:calc(100% + .55rem);right:0;z-index:100;display:grid;width:min(17rem,calc(100vw - 1.4rem));gap:.18rem;padding:.5rem;border:1px solid rgba(121,226,210,.3);border-radius:14px;background:linear-gradient(145deg,rgba(22,53,108,.98),rgba(11,24,58,.99));box-shadow:0 20px 46px rgba(0,0,0,.46),0 0 32px rgba(91,141,255,.12);visibility:hidden;opacity:0;pointer-events:none;transform:translateY(-.35rem) scale(.985);transform-origin:top right;transition:opacity .16s ease,transform .16s ease}.support-menu.is-open .support-menu-list{visibility:visible;opacity:1;pointer-events:auto;transform:translateY(0) scale(1)}.support-menu-list a{display:flex;align-items:center;gap:.55rem;padding:.68rem .72rem;border-radius:9px;color:#edf6ff;font-size:.88rem;line-height:1.3}.support-menu-list a svg{flex:0 0 auto;width:1.05rem;height:1.05rem;fill:currentColor}.support-menu-list a:hover,.support-menu-list a:focus-visible{background:linear-gradient(90deg,rgba(121,226,210,.16),rgba(146,126,255,.1));color:#fff;outline:none}@media(max-width:720px){.support-menu-list{position:fixed;top:3.7rem;right:.65rem;width:min(18rem,calc(100vw - 1.3rem))}.support-menu-toggle span{display:none}}

/* v0831-practice-flow: компактные эмоции, три режима шкалы и общие исправления. */
.scale-precision-picker { display:inline-flex; align-items:center; gap:.18rem; flex:0 0 auto; padding:.12rem; border:1px solid rgba(145,225,216,.22); border-radius:.52rem; background:rgba(10,29,63,.46); }
.scale-precision-picker .scale-precision-toggle { min-width:2.05rem; min-height:1.45rem; margin:0!important; padding:.1rem .3rem!important; border-color:transparent!important; border-radius:.35rem!important; }
.scale-precision-picker .scale-precision-toggle[aria-pressed="true"] { border-color:rgba(121,226,210,.78)!important; background:rgba(64,188,174,.26)!important; box-shadow:0 0 12px rgba(121,226,210,.18); }
.emotion-chip { display:inline-flex; align-items:center; gap:.3rem; cursor:default; }
.emotion-chip:hover { border-color:rgba(121,226,210,.4); background:rgba(26,110,110,.18); }
.emotion-chip-label { min-width:0; }
.emotion-chip-remove { display:inline-grid; place-items:center; width:1.1rem; height:1.1rem; margin:0; padding:0; border:0; border-radius:50%; background:transparent; color:inherit; font:inherit; font-size:1.05rem; font-weight:850; line-height:1; cursor:pointer; }
.emotion-chip-remove:hover,.emotion-chip-remove:focus-visible { background:rgba(255,255,255,.16); color:#fff; outline:2px solid rgba(121,226,210,.65); outline-offset:1px; }
.emotion-editor--compact { display:block; margin:0; }
.emotion-editor--compact .emotion-inline { display:flex; flex-wrap:wrap; align-items:center; gap:.35rem .42rem; min-height:2.4rem; padding:0; border:0; background:transparent; box-shadow:none; }
.emotion-editor--compact .emotion-compact-label { flex:0 0 auto; color:#e6f1ff; font-weight:760; white-space:nowrap; }
.emotion-editor--compact .emotion-chips { display:contents; min-height:0; }
.emotion-editor--compact [data-emotion-input] { flex:1 1 10rem; width:auto!important; min-width:8.5rem; margin:0!important; padding:.34rem .1rem!important; border-width:0 0 1px!important; border-radius:0!important; background:transparent!important; }
.emotion-editor--compact .emotion-quick-suggestions { margin-top:.3rem; }
.support-menu::after { position:absolute; top:100%; right:0; width:100%; height:.55rem; content:""; }

main { position:relative; }
main::after { top:auto; bottom:0; }
@media (max-width:560px) { .scale-precision-picker { gap:.1rem; } .scale-precision-picker .scale-precision-toggle { min-width:1.8rem; padding:.08rem .22rem!important; font-size:.56rem!important; } .emotion-editor--compact [data-emotion-input] { flex-basis:7.5rem; min-width:6.8rem; } }

.practice-trigger-line { margin:.1rem 0 .85rem; color:#c7d8ef; line-height:1.42; }
.practice-trigger-line span { color:#99f1e2; font-size:.82rem; font-weight:820; letter-spacing:.035em; text-transform:uppercase; }
.practice-motivation { margin:.08rem 0 .42rem; color:#b8f8e9; font-size:.92rem; font-weight:650; line-height:1.42; }
.intensive-zero h1 { margin-bottom:.7rem; }
.scale-first-hint { margin:.32rem 0 .55rem; }

/* Три режима точности остаются под единственным числовым полем и не расширяют строку шкалы. */
.unified-scale .scale-inline-controls { justify-content:stretch; padding-top:.24rem; }
.unified-scale .scale-precision-picker { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); width:100%; gap:.1rem; padding:.1rem; }
.unified-scale .scale-precision-picker .scale-precision-toggle { width:100%; min-width:0!important; min-height:1.36rem!important; padding:.06rem .05rem!important; font-size:.56rem!important; }
@media(max-width:640px){.unified-scale .scale-precision-picker .scale-precision-toggle{font-size:.52rem!important}}

/* Выбор точности — отдельная компактная строка: число и обучение оценке остаются на первой линии. */
.unified-scale .scale-precision-row { grid-column:1 / -1!important; grid-row:2!important; display:flex; flex-wrap:wrap; align-items:center; gap:.28rem .42rem; margin-top:.12rem; color:#b9c9e2; font-size:.67rem; line-height:1.2; }
.unified-scale .scale-precision-row>span { white-space:nowrap; }
.unified-scale .scale-precision-row .scale-precision-picker { display:inline-grid; grid-template-columns:repeat(3,minmax(1.85rem,auto)); width:auto; gap:.14rem; padding:.1rem; }
.unified-scale .scale-precision-row .scale-precision-toggle { width:auto; min-width:1.85rem!important; min-height:1.42rem!important; padding:.06rem .16rem!important; font-size:.58rem!important; }
.unified-scale .scale-value-hint { grid-column:1 / -1!important; grid-row:3!important; }
@media(max-width:640px){.unified-scale .scale-precision-row{gap:.22rem .34rem;font-size:.63rem}.unified-scale .scale-precision-row .scale-precision-picker{grid-template-columns:repeat(3,minmax(1.68rem,auto))}.unified-scale .scale-precision-row .scale-precision-toggle{min-width:1.68rem!important;font-size:.54rem!important}}

/* v0831 — иконки входа используют пассивную подсказку, а не меню: пояснение не перехватывает указатель и остаётся в пределах экрана. */
.guest-auth .auth-tooltip{position:relative}
.guest-auth .auth-tooltip::after{position:absolute;z-index:75;top:calc(100% + .48rem);right:0;display:none;width:max-content;max-width:calc(100vw - 1.3rem);padding:.42rem .58rem;border:1px solid rgba(164,241,229,.44);border-radius:9px;background:rgba(8,28,63,.96);box-shadow:0 10px 24px rgba(0,5,24,.36);color:#dcecf9;content:attr(data-help);font-size:.72rem;font-weight:650;line-height:1.25;pointer-events:none;white-space:nowrap;transform-origin:top right}
.guest-auth .auth-tooltip:hover::after,.guest-auth .auth-tooltip:focus-visible::after{display:block;animation:tooltip-drop .16s ease-out both}
@media(max-width:760px){.guest-auth .auth-tooltip::after{right:auto;left:0;transform-origin:top left}}

/* Поиск триггеров: действия не выходят за край; длинные подписи спокойно переходят на новую строку. */
.bond-answer-form .actions{flex-wrap:wrap;gap:.5rem}
.bond-answer-form .actions>*{min-width:0;max-width:100%}
.bond-answer-form .actions .button{max-width:100%;white-space:normal;text-align:center}

/* История ответов на текущий вопрос Бонд: видна до нового поля и позволяет точечно поправить запись. */
.bond-answer-history{display:grid;gap:.56rem;margin:1rem 0;padding:.82rem .9rem;border:1px solid rgba(170,195,246,.25);border-radius:.9rem;background:rgba(10,27,61,.48)}
.bond-answer-history-head{display:flex;align-items:baseline;justify-content:space-between;gap:.8rem}
.bond-answer-history h2{margin:0;font-size:1rem;color:#eef5ff}
.bond-answer-history-head p{margin:0;color:#b9cbe6;font-size:.8rem;line-height:1.35}
.bond-answer-history-item{display:flex;align-items:flex-start;justify-content:space-between;gap:.7rem;padding:.62rem .68rem;border:1px solid rgba(181,205,247,.17);border-radius:.68rem;background:rgba(5,16,43,.34)}
.bond-answer-history-item.is-editing{border-color:rgba(125,239,215,.65);background:rgba(47,122,122,.16)}
.bond-answer-history-item>div{min-width:0}
.bond-answer-history-item strong{display:block;color:#9cf4df;font-size:.77rem;text-transform:uppercase;letter-spacing:.04em}
.bond-answer-history-item p{margin:.25rem 0 0;white-space:normal;overflow-wrap:anywhere;color:#e6efff;line-height:1.42}
.bond-answer-history-item .button{flex:0 0 auto;white-space:nowrap}
@media(max-width:640px){.bond-answer-history{margin:.82rem 0;padding:.72rem}.bond-answer-history-head{display:block}.bond-answer-history-head p{margin-top:.25rem}.bond-answer-history-item{gap:.55rem;padding:.58rem}.bond-answer-history-item .button{padding:.48rem .55rem;font-size:.78rem}}

/* Короткие настольные экраны: не оставляем техническую прокрутку на 1–2 px после футера из-за дробного округления высоты. */
@media(min-width:721px){footer{padding:29px 30px}}

.footer-legal{display:inline-flex;align-items:center;gap:.62rem;font-size:.82rem}
.footer-legal a{color:#c9e8fb;text-decoration:underline;text-underline-offset:.16em}
.footer-legal a:hover,.footer-legal a:focus-visible{color:#fff;outline:none}

/* UI-075 — компактная единая шкала: вопрос слева, выбор значения справа. */
@media (min-width:761px){
  .reaction-scale-field{display:grid!important;grid-template-columns:minmax(14rem,.88fr) minmax(19rem,1.32fr)!important;column-gap:1rem!important;row-gap:0!important;align-items:center!important}
  .reaction-scale-field legend{grid-column:1!important;grid-row:1!important;max-width:24rem!important}
  .reaction-scale-field>.reaction-slider,.reaction-scale-field>.priority-slider{grid-column:2!important;grid-row:1!important;width:100%!important}
}
.unified-scale.reaction-slider{grid-template-columns:minmax(7.5rem,1fr) 4.15rem 4.8rem!important;grid-template-rows:auto!important;align-items:center!important;gap:.42rem!important;padding:.08rem 0!important}
.unified-scale.reaction-slider>[data-scale-range]{grid-column:1!important;grid-row:1!important}
.unified-scale.reaction-slider>.scale-manual-wrap{grid-column:2!important;grid-row:1!important;position:relative!important;display:block!important}
.unified-scale.reaction-slider>.scale-extra-control{grid-column:3!important;grid-row:1!important;align-self:center!important;padding:0!important}
.unified-scale.reaction-slider .reaction-slider-manual{width:4.15rem!important;height:2.72rem!important;padding-right:1.52rem!important}
.unified-scale .scale-precision-picker.scale-precision-cycle{position:absolute!important;z-index:2;top:.34rem;right:.26rem;display:block!important;width:auto!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
.unified-scale .scale-precision-cycle-toggle{display:grid!important;width:1.32rem!important;min-width:1.32rem!important;height:1.32rem!important;min-height:1.32rem!important;margin:0!important;padding:0!important;border:1px solid rgba(140,230,218,.52)!important;border-radius:.34rem!important;background:rgba(30,105,118,.35)!important;box-shadow:none!important;color:#dffff9!important;font-size:.47rem!important;font-weight:900!important;line-height:1!important}
.unified-scale .scale-precision-cycle-toggle:hover,.unified-scale .scale-precision-cycle-toggle:focus-visible{border-color:#90fff0!important;background:rgba(63,185,169,.48)!important;box-shadow:0 0 10px rgba(121,226,210,.32)!important;outline:0!important}
.unified-scale .scale-precision-cycle-toggle.hover-help::after{top:calc(100% + .42rem)!important;right:0!important;bottom:auto!important;left:auto!important;width:min(15rem,calc(100vw - 1.3rem))!important;max-width:calc(100vw - 1.3rem)!important;transform-origin:top right!important}
.unified-scale .scale-value-hint{grid-column:1 / -1!important;grid-row:1!important;pointer-events:none!important}
.unified-scale.reaction-slider .scale-uncertain-link{width:auto!important;max-width:4.8rem!important;font-size:.69rem!important;line-height:1.08!important}
@media (max-width:760px){
  .unified-scale.reaction-slider{grid-template-columns:minmax(6rem,1fr) 3.9rem 4.5rem!important;gap:.32rem!important}
  .unified-scale.reaction-slider .reaction-slider-manual{width:3.9rem!important;font-size:1rem!important}
  .unified-scale.reaction-slider .scale-uncertain-link{max-width:4.5rem!important;font-size:.64rem!important}
}

/* UI-077 — в настройке предполагаемого триггера метка эмоций открывает тот же поток, что и чипы. */
.suggestion-review .suggestion-emotion-field{margin:.1rem 0!important}
.suggestion-review .suggestion-emotion-field .emotion-editor--compact .emotion-inline{min-height:2.35rem!important;gap:.34rem .42rem!important;padding:.04rem 0!important}
.suggestion-review .suggestion-emotion-field .emotion-compact-label{margin-right:.02rem;font-size:.95rem}
.suggestion-review .suggestion-emotion-field [data-emotion-input]{flex:1 1 8.75rem!important;min-width:7rem!important;padding:.3rem .08rem!important}
@media(max-width:640px){.suggestion-review .suggestion-emotion-field .emotion-editor--compact .emotion-inline{gap:.28rem .34rem!important}.suggestion-review .suggestion-emotion-field [data-emotion-input]{flex-basis:7.25rem!important;min-width:6.25rem!important}}

/* UI-079 — другие действия доступны контекстно, не как второе главное меню. */
.context-task-picker{margin:.68rem 0 0;border-top:1px solid rgba(165,203,242,.18);color:#bcd0e9}
.context-task-picker summary{width:max-content;max-width:100%;padding:.55rem 0 .08rem;cursor:pointer;color:#bfd6ef;font-size:.78rem;font-weight:760;list-style:none}
.context-task-picker summary::-webkit-details-marker{display:none}
.context-task-picker summary::before{display:inline-block;margin-right:.38rem;content:'▸';transition:transform .14s ease}
.context-task-picker[open] summary::before{transform:rotate(90deg)}
.context-task-picker nav{display:flex;flex-wrap:wrap;gap:.34rem .46rem;padding:.46rem 0 .06rem}
.context-task-picker nav a{padding:.34rem .48rem;border:1px solid rgba(151,204,242,.25);border-radius:8px;color:#d7e8fa;font-size:.72rem;line-height:1.2;text-decoration:none}
.context-task-picker nav a:hover,.context-task-picker nav a:focus-visible{border-color:rgba(121,226,210,.7);background:rgba(68,173,164,.14);color:#fff;outline:none}

.context-task-picker>p{margin:.12rem 0 .4rem;color:#aebfda;font-size:.68rem;line-height:1.3}
.context-task-picker nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.32rem}
.context-task-picker nav .context-task{display:grid;grid-template-columns:.9rem minmax(0,1fr);gap:.05rem .35rem;align-items:baseline;min-width:0;padding:.38rem .42rem}
.context-task b{grid-column:1;grid-row:1 / span 2;font-size:.8rem;font-weight:900}.context-task span{grid-column:2;min-width:0;font-size:.74rem;font-weight:720}.context-task small{grid-column:2;overflow:hidden;color:#9eb3d1;font-size:.62rem;text-overflow:ellipsis;white-space:nowrap}.context-task--done b{color:#83eadc}.context-task--part b{color:#ffd783}.context-task--todo b{color:#afc2e2}
@media(max-width:560px){.context-task-picker nav{grid-template-columns:1fr}.context-task-picker nav .context-task{padding:.4rem .46rem}}

/* v0.8.35 — главное меню живёт у бренда, выход обозначен иконкой. */
.brand-menu{position:relative;z-index:90;display:flex;align-items:center}.brand-menu-toggle{display:inline-flex;align-items:center;gap:.32rem;min-height:2rem;padding:.18rem .1rem;border:0;border-radius:9px;background:transparent;color:#eef6ff;font:inherit;cursor:pointer;transition:background .16s ease,color .16s ease}.brand-menu-toggle strong{color:#8df3df}.brand-menu-hint{padding:.16rem .34rem;border:1px solid rgba(121,226,210,.32);border-radius:999px;color:#a9c9e5;font-size:.62rem;font-weight:780;letter-spacing:.04em;text-transform:uppercase}.brand-menu-chevron{color:#8df3df;font-size:1rem;font-weight:850;line-height:1;transition:transform .16s ease}.brand-menu-toggle:hover,.brand-menu-toggle:focus-visible,.brand-menu.is-open .brand-menu-toggle{background:rgba(121,226,210,.1);color:#fff;outline:none}.brand-menu.is-open .brand-menu-chevron{transform:rotate(180deg)}.brand-menu .action-menu-list{left:0;top:calc(100% + .48rem)}.brand-menu.is-open .action-menu-list{opacity:1;pointer-events:auto;transform:translateY(0) scale(1)}.member-logout{display:grid;min-width:2rem;min-height:2rem;place-items:center;padding:.38rem;border:1px solid rgba(176,208,255,.27);border-radius:9px;background:rgba(13,32,71,.42);color:#cfe0f4}.member-logout svg{width:1.05rem;height:1.05rem;fill:currentColor}.member-logout:hover,.member-logout:focus-visible{border-color:rgba(255,182,182,.65);background:rgba(168,60,75,.24);color:#fff;outline:none}.member-logout.auth-tooltip::after{top:calc(100% + .55rem);right:0;bottom:auto;left:auto;transform-origin:top right}@media(max-width:720px){.brand-menu .action-menu-list{position:fixed;top:3.7rem;left:.65rem;width:min(23rem,calc(100vw - 1.3rem));max-height:calc(100vh - 4.5rem);overflow:auto}.brand-menu-hint{display:none}.brand-menu-toggle{padding:.22rem 0}.member-nav{gap:.35rem}.member-logout{min-width:1.9rem;min-height:1.9rem}}

/* v0.8.35 — короткое обращение подтверждается отдельно от имени учётной записи. */
.address-name-intro{max-width:760px;margin:0 auto 1rem;padding:.78rem .9rem;border:1px solid rgba(121,226,210,.32);border-radius:14px;background:linear-gradient(105deg,rgba(29,89,115,.36),rgba(61,45,123,.24));box-shadow:0 0 22px rgba(92,210,219,.08)}.address-name-intro p{margin:0;color:#e9f7ff;line-height:1.45}.address-name-intro strong{color:#a9fff1}.address-name-intro .actions{justify-content:flex-start;margin-top:.58rem}.address-name-intro .actions form{margin:0}.address-name-intro small{display:block;margin-top:.4rem;color:#b6cbe5;font-size:.76rem;line-height:1.35}

/* v0.8.35 — добровольный бережный отдых и прозрачные очки. */
.beneficial-rest{display:grid;gap:.9rem}.beneficial-rest>p{margin:0}.beneficial-rest h2{margin:.45rem 0 -.35rem;font-size:1.2rem}.beneficial-rest form{display:grid;justify-items:start;gap:.6rem;margin:0}.beneficial-rest label{margin:0}.beneficial-rest select{min-width:11rem}.rest-status{padding:.8rem .9rem;border:1px solid rgba(138,197,255,.3);border-radius:13px;background:linear-gradient(110deg,rgba(42,85,133,.33),rgba(49,53,127,.26));color:#eaf5ff}.rest-status strong{color:#b9fff3}.rest-status p{margin:.28rem 0 0;color:#d6e5f8;line-height:1.42}.beneficial-rest .muted{font-size:.88rem;line-height:1.43}

/* v0837 — компактная кнопка меню и табло времени без переполнения. */
.brand-menu{position:relative;display:flex;align-items:center;gap:.38rem;z-index:90}
.brand-menu .brand-link{display:inline-flex;align-items:baseline;gap:.08rem;color:inherit;text-decoration:none;white-space:nowrap}
.brand-menu-toggle{display:inline-grid;place-items:center;width:2.08rem;height:2.08rem;margin:0;padding:.38rem;border:1px solid rgba(121,226,210,.34);border-radius:.62rem;background:linear-gradient(135deg,rgba(31,81,109,.72),rgba(28,42,93,.8));color:#b9fff3;cursor:pointer;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,color .18s ease}
.brand-menu-toggle svg{width:1.14rem;height:1.14rem}
.brand-menu-toggle:hover,.brand-menu-toggle:focus-visible,.brand-menu.is-open .brand-menu-toggle{border-color:rgba(145,255,238,.72);background:linear-gradient(135deg,rgba(39,104,121,.92),rgba(64,48,124,.96));color:#fff;box-shadow:0 0 18px rgba(121,226,210,.2);outline:none}
.brand-menu-toggle.hover-help::after{left:0;right:auto;bottom:calc(100% + .48rem);width:max-content;max-width:min(13rem,calc(100vw - 2rem));white-space:normal}
.brand-menu .brand-menu-list{top:calc(100% + .48rem);left:0;transform-origin:top left}
.brand-menu .brand-menu-list>.action-menu-group:first-child{margin-top:.4rem}
.member-logout{display:inline-grid;place-items:center;min-width:2.08rem;min-height:2.08rem;padding:.42rem!important}
.member-logout svg{width:1.15rem;height:1.15rem}

/* Рамка табло всегда охватывает и основную строку, и раскрытую детализацию. */
html body .active-practice-timer{width:min(25rem,calc(100vw - 1.3rem))!important;min-width:0!important;max-width:calc(100vw - 1.3rem)!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;overflow:visible!important}
.active-practice-timer .timer-details{display:block;min-width:0;overflow:hidden!important;border:1px solid rgba(121,226,210,.36)!important;border-radius:1.15rem!important;background:linear-gradient(135deg,rgba(8,24,58,.95),rgba(25,43,93,.94))!important;box-shadow:0 9px 24px rgba(0,5,25,.32),0 0 18px rgba(86,121,225,.1)!important}
.active-practice-timer .timer-summary{display:grid!important;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:.42rem .55rem;min-width:0;min-height:2.7rem;padding:.52rem .76rem!important}
.active-practice-timer .timer-label{min-width:0!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.active-practice-timer [data-timer-value]{min-width:4.2rem;white-space:nowrap;text-align:right}
.active-practice-timer .timer-points{min-width:0;white-space:nowrap}
.active-practice-timer .timer-expanded{display:none!important;min-width:0;gap:.34rem;margin:0!important;padding:.56rem .76rem .7rem!important;border-top:1px solid rgba(154,190,238,.18)!important}
.active-practice-timer .timer-details:hover .timer-expanded,.active-practice-timer .timer-details:focus .timer-expanded,.active-practice-timer .timer-details:focus-within .timer-expanded{display:grid!important}
.active-practice-timer .timer-breakdown,.active-practice-timer .timer-help,.active-practice-timer [data-timer-note]{display:block;min-width:0;overflow-wrap:anywhere;word-break:normal}
@media(max-width:640px){.brand-menu{gap:.3rem}.brand-menu-toggle{width:2rem;height:2rem}.active-practice-timer .timer-summary{gap:.32rem;min-height:2.55rem;padding:.46rem .62rem!important}.active-practice-timer .timer-label{font-size:.7rem!important}.active-practice-timer [data-timer-value]{min-width:3.72rem;font-size:1rem!important}.active-practice-timer .timer-expanded{padding:.52rem .62rem .64rem!important}.member-logout{min-width:2rem;min-height:2rem}}

/* Очередь подтверждения: пользователь видит, что происходит с его ответами. */
.bond-suggestion-status{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.22rem .72rem;align-items:center;margin:.72rem 0;padding:.68rem .78rem;border:1px solid rgba(157,140,255,.42);border-radius:13px;background:linear-gradient(135deg,rgba(72,48,135,.34),rgba(14,72,93,.32));color:#e8efff}
.bond-suggestion-status strong{color:#f5f7ff;font-size:.93rem;line-height:1.28}
.bond-suggestion-status span{grid-column:1;color:#c6d4eb;font-size:.8rem;line-height:1.36}
.bond-suggestion-status .button{grid-column:2;grid-row:1 / span 2;align-self:center;white-space:nowrap}
.bond-suggestion-status.is-ready{border-color:rgba(121,226,210,.58);background:linear-gradient(135deg,rgba(27,110,109,.36),rgba(57,48,132,.38))}
@media(max-width:560px){.bond-suggestion-status{grid-template-columns:1fr;gap:.36rem;padding:.62rem .68rem}.bond-suggestion-status .button{grid-column:1;grid-row:auto;justify-self:start}}

/* Два режима работы: одна верхняя зона, без дублирующих кнопок внизу экранов. */
.workspace-tabs{display:flex;align-items:center;gap:.18rem;width:max-content;max-width:calc(100% - 1rem);margin:.7rem auto .2rem;padding:.22rem;border:1px solid rgba(151,190,240,.3);border-radius:12px;background:rgba(5,18,49,.6);box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}
.workspace-tab{display:inline-flex;align-items:center;justify-content:center;min-height:2.1rem;padding:.35rem .7rem;border-radius:9px;color:#bcd0ee;font-size:.82rem;font-weight:760;line-height:1.15;text-decoration:none;white-space:nowrap;transition:background .16s ease,color .16s ease,box-shadow .16s ease}
.workspace-tab:hover,.workspace-tab:focus-visible{color:#effbff;background:rgba(113,160,232,.18);outline:0}
.workspace-tab.is-active{color:#061b36;background:linear-gradient(135deg,#8df0df,#a7b9ff);box-shadow:0 2px 10px rgba(106,223,216,.25)}
@media(max-width:520px){.workspace-tabs{width:calc(100% - 1rem);margin-top:.48rem}.workspace-tab{flex:1;padding:.38rem .38rem;font-size:.77rem}}

/* v0837: шкала использует строку целиком; точность вынесена рядом с числом. */
.reaction-scale-field{display:grid!important;grid-template-columns:minmax(12rem,18rem) minmax(12rem,1fr)!important;align-items:center!important;column-gap:.8rem!important;row-gap:.26rem!important}
.reaction-scale-field legend,.reaction-scale-field>.scale-question{grid-column:1!important;grid-row:1!important;margin:0!important;padding:0!important;min-width:0}
.reaction-scale-field>.unified-scale{grid-column:2!important;grid-row:1!important;min-width:0!important;width:100%!important}
.unified-scale.reaction-slider{display:grid!important;grid-template-columns:minmax(7rem,1fr) 4.15rem auto!important;align-items:center!important;gap:.32rem!important}
.unified-scale.mood-slider{display:grid!important;grid-template-columns:minmax(7rem,1fr) 4.15rem auto!important;align-items:center!important;gap:.32rem!important}
.unified-scale.reaction-slider>[data-scale-range],.unified-scale.mood-slider>[data-scale-range]{grid-column:1!important;grid-row:1!important;min-width:0!important}
.unified-scale.reaction-slider>.scale-manual-wrap,.unified-scale.mood-slider>.scale-manual-wrap{grid-column:2!important;grid-row:1!important}
.unified-scale.reaction-slider>.scale-precision-wrap,.unified-scale.mood-slider>.scale-precision-wrap{display:flex!important;grid-column:3!important;grid-row:1!important;align-items:center!important;justify-content:flex-start!important}
.unified-scale.reaction-slider>.scale-extra-control,.unified-scale.mood-slider>.scale-extra-control{grid-column:1 / -1!important;grid-row:2!important;justify-self:start!important;padding:0!important}
.unified-scale .scale-manual-wrap{min-width:0!important}.unified-scale .reaction-slider-manual,.unified-scale .mood-slider-manual{box-sizing:border-box!important;width:4.15rem!important;min-height:2.55rem!important;margin:0!important;padding:.3rem .32rem!important;text-align:center!important;font-variant-numeric:tabular-nums!important}
.scale-precision-wrap .scale-precision-toggle{margin:0!important;transform:none!important}.scale-precision-wrap .scale-precision-toggle[aria-pressed="true"]{transform:translateY(1px)!important}
@media(max-width:640px){.reaction-scale-field{grid-template-columns:1fr!important;row-gap:.34rem!important}.reaction-scale-field legend,.reaction-scale-field>.scale-question,.reaction-scale-field>.unified-scale{grid-column:1!important}.reaction-scale-field legend,.reaction-scale-field>.scale-question{grid-row:1!important}.reaction-scale-field>.unified-scale{grid-row:2!important}.unified-scale.reaction-slider,.unified-scale.mood-slider{grid-template-columns:minmax(5.5rem,1fr) 3.8rem auto!important;gap:.28rem!important}.unified-scale .reaction-slider-manual,.unified-scale .mood-slider-manual{width:3.8rem!important}}

/* Текущее состояние — простая короткая форма: используем свободную ширину для шкалы. */
.form-card.narrow.current-state-entry{max-width:min(46rem,calc(100vw - 2rem))!important}
.current-state-entry .reaction-scale-field{grid-template-columns:minmax(9rem,13rem) minmax(14rem,1fr)!important}
@media(max-width:640px){.form-card.narrow.current-state-entry{max-width:calc(100vw - 1rem)!important}.current-state-entry .reaction-scale-field{grid-template-columns:1fr!important}}

/* v0.8.37 — срок сессии после внешнего входа выбирается один раз, без перегрузки шапки. */
.member-nav{display:flex;align-items:center;gap:.45rem;min-width:0}.member-nav .account-actions{display:inline-flex;align-items:center;gap:.12rem;min-width:0}.member-nav .auth-duration-prompt{display:inline-flex;align-items:center;gap:.32rem;margin:0;padding:.26rem .34rem;border:1px solid rgba(163,187,224,.25);border-radius:9px;background:rgba(8,22,53,.55);color:#b9cbe5;font-size:.72rem;white-space:nowrap}.member-nav .auth-duration-prompt select{width:auto;max-width:7.5rem;height:1.72rem;padding:.08rem .25rem;border-color:rgba(146,187,236,.34);border-radius:6px;background:#102853;color:#edf6ff;font:inherit}.member-nav .auth-duration-prompt .button{min-height:1.72rem;padding:.22rem .42rem;font-size:.72rem}@media(max-width:880px){.member-nav{flex-wrap:wrap;justify-content:flex-end}.member-nav .auth-duration-prompt{order:3;margin-left:auto}}@media(max-width:570px){.member-nav .auth-duration-prompt{width:100%;justify-content:flex-end}.member-nav .auth-duration-prompt>span{display:none}.member-nav .auth-duration-prompt select{max-width:8rem}}

/* v0838: общий редактор эмоций остаётся в пределах рабочего потока. */
.emotion-editor-standard { position: relative; }
.emotion-editor-standard .emotion-suggestions,
.emotion-editor-standard.emotion-suggestions-side .emotion-suggestions {
  position: static;
  width: 100%;
  max-height: min(34vh, 18rem);
  margin-top: .42rem;
}
.emotion-editor-standard .emotion-quick-suggestions { margin-top: .32rem; }
.hover-help:focus-within::after { display: none; }
.hover-help:hover::after { display: block; }
@media (max-width: 520px) {
  .emotion-editor-standard .emotion-suggestions,
  .emotion-editor-standard.emotion-suggestions-side .emotion-suggestions { max-height: min(42vh, 18rem); }
}

/* v0838: точность шкалы — отдельная второстепенная кнопка рядом с числом. */
.unified-scale.reaction-slider { grid-template-columns: minmax(7.5rem, 1fr) 4.15rem 2.05rem 4.8rem !important; }
.unified-scale.mood-slider { grid-template-columns: minmax(0, 1fr) 4.15rem 2.05rem !important; }
.unified-scale.reaction-slider > .scale-precision-wrap { grid-column: 3 !important; grid-row: 1 !important; align-self: center !important; }
.unified-scale.mood-slider > .scale-precision-wrap { grid-column: 3 !important; grid-row: 1 !important; align-self: center !important; }
.unified-scale.reaction-slider > .scale-extra-control { grid-column: 4 !important; }
.unified-scale .scale-precision-picker.scale-precision-cycle { position: static !important; display: block !important; width: 100% !important; margin: 0 !important; padding: 0 !important; border: 0 !important; background: transparent !important; }
.unified-scale .scale-precision-cycle-toggle { width: 2.05rem !important; min-width: 2.05rem !important; height: 2rem !important; min-height: 2rem !important; border-color: rgba(182, 197, 218, .44) !important; background: rgba(103, 119, 148, .28) !important; color: #d5deed !important; font-size: .61rem !important; }
.unified-scale .scale-precision-cycle-toggle:hover,
.unified-scale .scale-precision-cycle-toggle:focus-visible { border-color: rgba(216, 230, 244, .8) !important; background: rgba(129, 147, 175, .42) !important; box-shadow: 0 0 10px rgba(174, 197, 230, .18) !important; }
@media (max-width: 760px) {
  .unified-scale.reaction-slider { grid-template-columns: minmax(5.45rem, 1fr) 3.9rem 1.8rem 4.35rem !important; gap: .28rem !important; }
  .unified-scale.mood-slider { grid-template-columns: minmax(0, 1fr) 3.9rem 1.8rem !important; gap: .32rem !important; }
  .unified-scale .scale-precision-cycle-toggle { width: 1.8rem !important; min-width: 1.8rem !important; height: 1.9rem !important; min-height: 1.9rem !important; font-size: .56rem !important; }
  .unified-scale.reaction-slider .reaction-slider-manual,
  .unified-scale.mood-slider .mood-slider-manual { width: 3.9rem !important; }
  .unified-scale.reaction-slider .scale-uncertain-link { max-width: 4.35rem !important; }
}

/* v0838: информационные пункты меню и компактное табло времени. */
.action-menu-separator { display: block; height: 1px; margin: .38rem .42rem; background: linear-gradient(90deg, transparent, rgba(148, 207, 237, .38), transparent); }
.info-page-linkline { margin: .95rem 0 0; color: #c6d6ec; font-size: .9rem; }
.info-page-linkline a { color: #a7f4e7; text-decoration: underline; text-underline-offset: .15em; }
html body .active-practice-timer { width: min(20.5rem, calc(100vw - 1.3rem)) !important; }
.active-practice-timer .timer-label { font-size: .76rem !important; }
@media (max-width: 640px) {
  html body .active-practice-timer { width: min(19rem, calc(100vw - 1.3rem)) !important; }
  .active-practice-timer .timer-label { font-size: .69rem !important; }
}

/* v0838: очки отделены от времени и явно названы заработанной наградой. */
.active-practice-timer .timer-points { display: inline-flex; align-items: baseline; gap: .14rem; color: #ffe29a; font-size: .76rem; }
.active-practice-timer .timer-points b { font-variant-numeric: tabular-nums; }
.active-practice-timer .timer-points small { color: #d4c797; font-size: .64rem; line-height: 1; }
@media (max-width: 640px) { .active-practice-timer .timer-points small { display: none; } }

/* UI-136: единая плотная строка шкалы и явная глобальная точность. */
.reaction-scale-field{grid-template-columns:minmax(13rem,1fr) minmax(20rem,1.35fr)!important;column-gap:1rem!important}
.reaction-scale-field>.unified-scale{min-width:0!important}
.unified-scale.reaction-slider,.unified-scale.mood-slider{grid-template-columns:minmax(8rem,1fr) 4.05rem auto auto!important;align-items:center!important;gap:.34rem!important}
.unified-scale>.scale-extra-control{grid-column:4!important;grid-row:1!important;min-width:0!important;padding:0!important}
.unified-scale .scale-precision-picker.scale-precision-choices{display:inline-grid!important;grid-template-columns:repeat(3,minmax(1.7rem,auto))!important;align-items:center!important;gap:.1rem!important;margin:0!important;padding:.12rem!important;border:1px solid rgba(160,191,232,.32)!important;border-radius:.5rem!important;background:rgba(9,24,55,.54)!important}
.unified-scale .scale-precision-choice{min-width:1.7rem!important;min-height:1.78rem!important;margin:0!important;padding:.14rem .18rem!important;border:0!important;border-radius:.34rem!important;background:transparent!important;color:#b6c7e0!important;font-size:.63rem!important;font-weight:760!important;line-height:1!important}
.unified-scale .scale-precision-choice:hover,.unified-scale .scale-precision-choice:focus-visible{background:rgba(135,167,219,.28)!important;color:#f3fbff!important;outline:0!important}
.unified-scale .scale-precision-choice[aria-pressed="true"]{background:linear-gradient(135deg,#8deedb,#a9b9ff)!important;color:#092244!important;box-shadow:0 1px 5px rgba(102,223,211,.24)!important}
@media(max-width:760px){.reaction-scale-field{grid-template-columns:1fr!important}.unified-scale.reaction-slider,.unified-scale.mood-slider{grid-template-columns:minmax(5rem,1fr) 3.75rem auto auto!important;gap:.26rem!important}.unified-scale .scale-extra-control{max-width:4.25rem}.unified-scale .scale-precision-picker.scale-precision-choices{grid-template-columns:repeat(3,1.55rem)!important}.unified-scale .scale-precision-choice{min-width:1.55rem!important;padding:.14rem .1rem!important;font-size:.58rem!important}}
@media(max-width:500px){.unified-scale.reaction-slider,.unified-scale.mood-slider{grid-template-columns:minmax(5rem,1fr) 3.55rem auto!important}.unified-scale>.scale-extra-control{display:none!important}.unified-scale .reaction-slider-manual,.unified-scale .mood-slider-manual{width:3.55rem!important}}

/* UI-140/UI-141: режимы работы занимают существующую шапку, а маршрут — одну компактную строку. */
header > .workspace-tabs--header{order:2;margin:0 auto;padding:.16rem;max-width:min(25rem,34vw);flex:0 1 auto}
header > .brand{order:1;flex:0 0 auto}
header > .member-nav,header > .guest-auth{order:3;flex:0 1 auto}
.dashboard-head--compact{align-items:center;margin:1.1rem 0 1.35rem}
.dashboard-head--compact h1{margin:0;font-size:clamp(1.45rem,3.2vw,2.2rem);letter-spacing:-.055em}
.dashboard-head--compact .dashboard-tools{margin-left:auto}
@media(max-width:860px){header{flex-wrap:wrap;gap:.35rem .55rem;padding-top:.42rem;padding-bottom:.42rem}header > .workspace-tabs--header{order:4;width:100%;max-width:100%;margin:0;justify-content:center}.dashboard-head--compact{align-items:flex-start;gap:.55rem}.dashboard-head--compact .dashboard-tools{margin-left:0}}
@media(max-width:520px){.dashboard-head--compact{margin:.8rem 0 1rem}.dashboard-head--compact h1{font-size:1.4rem}.dashboard-head--compact .dashboard-tools .button{padding:.42rem .55rem;font-size:.78rem}header > .workspace-tabs--header .workspace-tab{min-height:1.95rem}}

/* v0849: выбор режима — две компактные тёмные карточки без нативного белого оформления button. */
.daily-practice-mode .stacked-choices { gap: .7rem; }
.daily-practice-mode .stacked-choices form { margin: 0; }
.daily-practice-mode .choice-card--button {
  display: grid;
  width: 100%;
  gap: .32rem;
  min-height: 0;
  padding: .9rem 1rem;
  border: 1px solid rgba(165,194,250,.25);
  border-radius: 14px;
  background: linear-gradient(145deg, rgba(20,35,74,.86), rgba(13,50,72,.70));
  color: #edf5ff;
  font: inherit;
  text-align: left;
  cursor: pointer;
  box-shadow: 0 7px 20px rgba(0,0,0,.17);
  transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease, background .16s ease;
}
.daily-practice-mode .choice-card--button strong { color: #aaffef; font-size: 1.03rem; line-height: 1.26; }
.daily-practice-mode .choice-card--button span { color: #c3d0e6; font-size: .92rem; line-height: 1.43; }
.daily-practice-mode .choice-card--button:hover,
.daily-practice-mode .choice-card--button:focus-visible {
  border-color: #8ff3e2;
  outline: none;
  background: linear-gradient(145deg, rgba(27,58,93,.94), rgba(18,75,91,.80));
  box-shadow: 0 12px 28px rgba(0,0,0,.28), 0 0 24px rgba(121,226,210,.17);
  transform: translateY(-1px);
}
@media (max-width: 640px) {
  .daily-practice-mode .choice-card--button { padding: .85rem .9rem; }
}

/* UI-158: компактный текущий шаг, раскрываемый рядом с числовой оценкой. */
.scale-precision-wrap { position: relative; min-width: 0; }
.scale-precision-picker--compact {
  position: relative;
  display: inline-flex;
  justify-content: flex-end;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}
.scale-precision-current,
.scale-precision-options .scale-precision-choice {
  display: inline-grid;
  place-items: center;
  min-height: 1.52rem;
  margin: 0;
  border: 1px solid rgba(135,177,221,.62);
  border-radius: .42rem;
  background: linear-gradient(145deg, rgba(35,59,102,.92), rgba(10,28,63,.98));
  color: #c6ebff;
  font: 800 .67rem/1 Inter, ui-sans-serif, system-ui, sans-serif;
  letter-spacing: .01em;
  cursor: pointer;
}
.scale-precision-current {
  min-width: 2.1rem;
  padding: .08rem .28rem;
  box-shadow: 0 2px 0 rgba(0,0,0,.42), inset 0 1px 0 rgba(255,255,255,.13);
}
.scale-precision-current::after { margin-left: .16rem; color: #8ff3e2; font-size: .58rem; content: "▾"; }
.scale-precision-current:hover,
.scale-precision-current:focus-visible {
  border-color: #8ff3e2;
  outline: none;
  background: linear-gradient(145deg, rgba(39,100,126,.92), rgba(61,49,143,.96));
  box-shadow: 0 0 0 2px rgba(143,243,226,.13), 0 0 13px rgba(114,231,213,.28);
}
.scale-precision-options {
  position: absolute;
  right: 0;
  bottom: calc(100% + .38rem);
  z-index: 45;
  display: flex;
  gap: .16rem;
  padding: .22rem;
  border: 1px solid rgba(121,226,210,.38);
  border-radius: .54rem;
  background: linear-gradient(145deg, rgba(22,53,108,.98), rgba(11,24,58,.99));
  box-shadow: 0 12px 28px rgba(0,0,0,.38), 0 0 21px rgba(91,141,255,.16);
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  transform: translateY(.18rem) scale(.97);
  transform-origin: bottom right;
  transition: opacity .14s ease, transform .14s ease, visibility .14s ease;
}
.scale-precision-picker--compact:hover .scale-precision-options,
.scale-precision-picker--compact:focus-within .scale-precision-options,
.scale-precision-picker--compact.is-open .scale-precision-options {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0) scale(1);
}
.scale-precision-options .scale-precision-choice {
  min-width: 2.05rem;
  padding: .09rem .24rem;
  border-color: transparent;
  color: #c5d5eb;
  box-shadow: none;
}
.scale-precision-options .scale-precision-choice:hover,
.scale-precision-options .scale-precision-choice:focus-visible {
  border-color: rgba(143,243,226,.78);
  outline: none;
  background: rgba(64,188,174,.24);
  color: #effffd;
}
.scale-precision-options .scale-precision-choice[aria-pressed="true"] {
  border-color: #83f0df;
  background: linear-gradient(145deg, rgba(31,157,151,.82), rgba(77,63,173,.88));
  color: #f0fffd;
  box-shadow: inset 0 2px 4px rgba(0,0,0,.42), 0 0 10px rgba(114,231,213,.26);
}
@media (max-width: 640px) {
  .scale-precision-options { right: 0; }
  .scale-precision-options .scale-precision-choice { min-width: 1.95rem; }
}

/* UI-158: после Escape или выбора сохранённый фокус не удерживает меню открытым. */
.scale-precision-picker--compact.is-closed:focus-within .scale-precision-options {
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  transform: translateY(.18rem) scale(.97);
}

/* UI-155: добровольный материал о плохом настроении отделён от самой оценки дня. */
.mood-trigger-material { margin: 1rem 0; padding: .9rem 1rem; border: 1px solid rgba(92, 202, 204, .34); border-radius: .9rem; background: linear-gradient(135deg, rgba(17, 39, 83, .72), rgba(12, 29, 64, .78)); }
.mood-trigger-material h2 { margin: .2rem 0 .4rem; font-size: 1.05rem; }
.mood-trigger-material p { margin: 0 0 .7rem; color: #c9d8ef; }
.mood-trigger-material textarea { min-height: 6.8rem; resize: vertical; }
.trigger-material-list { display: grid; gap: .8rem; max-width: 54rem; }
.trigger-material-item { display: flex; justify-content: space-between; gap: 1rem; padding: 1rem; border: 1px solid rgba(116, 165, 216, .3); border-radius: .9rem; background: rgba(12, 30, 64, .72); }
.trigger-material-item p { margin: .65rem 0 .35rem; }
.trigger-material-item small { color: #afc1dc; }
.material-status-suggested { background: rgba(44, 180, 147, .22); color: #8ff0cf; }
.material-status-duplicate { background: rgba(243, 190, 91, .2); color: #ffe0a0; }
.material-status-unavailable, .material-status-failed { background: rgba(150, 167, 200, .2); color: #d5def0; }

/* UI-157: следующий честный шаг для триггера после отлежки. */
.stubborn-trigger-route { margin: .85rem 0 0; border-color: rgba(243, 190, 91, .48); background: linear-gradient(135deg, rgba(78, 57, 28, .42), rgba(22, 37, 72, .68)); }
.stubborn-trigger-route p { margin-bottom: 0; }
@media (max-width: 40rem) { .trigger-material-item { display: block; } .trigger-material-item .card-actions { margin-top: .75rem; } }

/* UI-156: табло времени остаётся компактным, но отделяется от фона. */
html body .active-practice-timer { filter: drop-shadow(0 .65rem 1.45rem rgba(0, 5, 26, .52)); }
.active-practice-timer .timer-details { position: relative; border-color: rgba(128, 236, 220, .72) !important; background: linear-gradient(135deg, rgba(6, 24, 59, .985), rgba(26, 48, 103, .98)) !important; box-shadow: inset 0 0 0 1px rgba(184, 218, 255, .12), 0 .5rem 1.35rem rgba(0, 5, 28, .46) !important; }
.active-practice-timer .timer-details::before { content: ''; position: absolute; top: 0; left: 1rem; right: 1rem; height: 2px; border-radius: 0 0 999px 999px; background: linear-gradient(90deg, transparent, rgba(128, 236, 220, .98), transparent); pointer-events: none; }
.active-practice-timer .timer-summary .timer-label { color: #d5e5fb !important; }
.active-practice-timer [data-timer-value] { color: #ffffff; text-shadow: 0 1px 8px rgba(115, 230, 217, .2); }

/* Единый стандарт для выпадающих меню: курсор без разрыва переходит от кнопки к панели. */
@media (hover:hover) and (pointer:fine) {
  [data-popover-menu] { position:relative; }
  [data-popover-menu]::after { position:absolute; top:100%; left:0; right:0; height:.72rem; content:""; pointer-events:auto; }
}

/* Рабочие вкладки: главное действие ведёт в раздел, а спокойный значок «ещё» открывает список. */
header > .workspace-tabs--header { overflow: visible; }
.workspace-menu { position: relative; display: inline-flex; align-items: stretch; min-width: 0; border-radius: 9px; }
.workspace-menu .workspace-tab { min-width: 0; border-radius: 9px 0 0 9px; }
.workspace-menu-toggle { display: inline-grid; place-items: center; width: 1.82rem; min-width: 1.82rem; margin: 0; padding: 0; border: 0; border-left: 1px solid rgba(154, 190, 238, .24); border-radius: 0 9px 9px 0; background: rgba(20, 44, 94, .42); color: #bcd0ee; cursor: pointer; transition: background .16s ease, color .16s ease, box-shadow .16s ease; }
.workspace-menu-more-icon { width: 1.04rem; height: 1.04rem; opacity: .9; }
.workspace-menu-toggle:hover, .workspace-menu-toggle:focus-visible, .workspace-menu.is-open .workspace-menu-toggle { color: #fff; background: rgba(113, 160, 232, .28); box-shadow: inset 0 0 0 1px rgba(166, 221, 255, .14); outline: 0; }
.workspace-menu.is-active .workspace-tab { color: #061b36; background: linear-gradient(135deg, #8df0df, #a7b9ff); box-shadow: 0 2px 10px rgba(106, 223, 216, .25); }
.workspace-menu.is-active .workspace-menu-toggle { color: #061b36; border-left-color: rgba(6, 27, 54, .14); background: linear-gradient(135deg, #8df0df, #a7b9ff); }
.workspace-menu-list { position: absolute; top: calc(100% + .48rem); left: 0; z-index: 220; display: grid; width: min(23rem, calc(100vw - 1.4rem)); max-height: min(30rem, calc(100vh - 6rem)); gap: .16rem; overflow: auto; padding: .55rem; border: 1px solid rgba(121, 226, 210, .42); border-radius: 14px; background: linear-gradient(145deg, rgba(22, 53, 108, .985), rgba(11, 24, 58, .995)); box-shadow: 0 20px 46px rgba(0, 0, 0, .5), 0 0 32px rgba(91, 141, 255, .16); visibility: hidden; opacity: 0; pointer-events: none; transform: translateY(-.3rem) scale(.985); transform-origin: top left; transition: opacity .16s ease, transform .16s ease; }
.workspace-menu:last-child .workspace-menu-list { right: 0; left: auto; transform-origin: top right; }
.workspace-menu-list a { display: grid; gap: .1rem; padding: .58rem .66rem; border-radius: 9px; color: #edf6ff; font-size: .84rem; line-height: 1.28; }
.workspace-menu-list a strong { color: inherit; }
.workspace-menu-list a small, .workspace-menu-status { color: #bcd0ee; font-size: .72rem; line-height: 1.3; }
.workspace-menu-status { display: block; padding: .42rem .66rem .16rem; }
.workspace-menu.is-open .workspace-menu-list { visibility: visible; opacity: 1; pointer-events: auto; transform: translateY(0) scale(1); }
.workspace-menu-list a:hover, .workspace-menu-list a:focus-visible { color: #fff; background: linear-gradient(90deg, rgba(121, 226, 210, .17), rgba(146, 126, 255, .12)); outline: none; }
@media (max-width: 860px) { .workspace-menu-list { position: fixed; top: 4.45rem; left: .65rem; right: .65rem; width: auto; max-height: calc(100vh - 5.2rem); transform-origin: top center; } }
@media (max-width: 520px) { .workspace-menu-toggle { width: 1.58rem; min-width: 1.58rem; } .workspace-menu .workspace-tab { padding-left: .42rem; padding-right: .32rem; } .workspace-menu-list { top: 4.1rem; } }

/* UI-149/UI-151: прозрачные правила очков и ориентиры участия. */
.game-rules { max-width: 68rem; }
.game-rules > p { max-width: 66ch; color: #d9e6f7; line-height: 1.55; }
.game-rules-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; margin: 1rem 0; }
.game-rules-grid > article, .game-achievements { padding: .95rem 1rem; border: 1px solid rgba(128, 181, 232, .3); border-radius: .95rem; background: linear-gradient(145deg, rgba(15, 39, 82, .72), rgba(11, 26, 59, .78)); }
.game-rules-grid h2, .game-achievements h2 { margin: 0 0 .45rem; color: #eff8ff; font-size: 1.05rem; }
.game-rules-grid p { margin: .45rem 0 0; color: #c8d9ef; line-height: 1.45; }
.game-rules-grid ul { display: grid; gap: .42rem; margin: 0; padding-left: 1.15rem; color: #d7e5f5; line-height: 1.42; }
.game-rules-grid li::marker { color: #8df0df; }
.game-achievements { margin: .9rem 0; }
.game-achievements > p { margin: 0 0 .7rem; color: #bed1ea; }
.game-achievements ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .55rem; margin: 0; padding: 0; list-style: none; }
.game-achievement { display: grid; gap: .15rem; min-height: 4.4rem; padding: .64rem .7rem; border: 1px solid rgba(140, 172, 222, .23); border-radius: .72rem; background: rgba(5, 20, 49, .38); }
.game-achievement strong { color: #b8c8dd; font-size: .86rem; }
.game-achievement span { color: #91a9c7; font-size: .76rem; line-height: 1.35; }
.game-achievement.is-unlocked { border-color: rgba(126, 235, 208, .52); background: linear-gradient(135deg, rgba(31, 116, 104, .32), rgba(37, 58, 116, .34)); }
.game-achievement.is-unlocked strong { color: #a8ffdf; }
.game-achievement.is-unlocked span { color: #d5f2e7; }
@media (max-width: 680px) { .game-rules-grid, .game-achievements ul { grid-template-columns: 1fr; } .game-rules { padding: .95rem; } }

/* UI-137/UI-138: отдельный обзор потенциальных триггеров. */
.potential-trigger-list { display: grid; gap: .75rem; max-width: 62rem; }
.potential-trigger-item { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; padding: .95rem 1rem; border: 1px solid rgba(120, 171, 223, .32); border-radius: .95rem; background: linear-gradient(145deg, rgba(14, 37, 79, .72), rgba(9, 23, 55, .8)); }
.potential-trigger-item h2 { margin: .55rem 0 .28rem; color: #f1f8ff; font-size: 1.08rem; line-height: 1.32; }
.potential-trigger-item p { margin: 0 0 .32rem; color: #c6d9f0; }
.potential-trigger-item small { color: #aabed8; line-height: 1.36; }
.potential-trigger-item .card-actions { flex: 0 0 auto; margin: 0; }
.potential-status-pending { background: rgba(126, 235, 208, .18); color: #a8ffdf; }
.potential-status-accepted, .potential-status-edited { background: rgba(118, 161, 244, .2); color: #c9d8ff; }
.potential-status-rejected { background: rgba(137, 154, 188, .2); color: #c4cee1; }
@media (max-width: 620px) { .potential-trigger-item { display: grid; } .potential-trigger-item .card-actions { margin-top: .1rem; } }

/* UI-169: короткий отдельный настрой перед маршрутом нового дня. */
.daily-companion-start { max-width: 43rem; margin-top: clamp(1.2rem, 5vh, 4.5rem); text-align: left; border-color: rgba(130, 232, 213, .48); background: linear-gradient(145deg, rgba(13, 45, 88, .92), rgba(20, 34, 79, .94)); box-shadow: 0 1.25rem 3rem rgba(0, 4, 25, .3), inset 0 1px 0 rgba(189, 255, 240, .12); }
.daily-companion-start h1 { margin: .28rem 0 .7rem; }
.daily-companion-start-message { margin: 0; padding: .9rem 1rem; border-left: 3px solid #8df0df; border-radius: .25rem .75rem .75rem .25rem; background: rgba(4, 22, 52, .42); color: #edf8ff; font-size: 1.04rem; line-height: 1.55; }
.daily-companion-start .muted { margin: .85rem 0 1rem; max-width: 56ch; }

/* USER-012–013: точность примыкает к числу, а индикатор повторяет сторону раскрытия. */
.unified-scale.reaction-slider,
.unified-scale.mood-slider {
  grid-template-columns: minmax(7rem, 1fr) 4.15rem 1.24rem !important;
  column-gap: 0 !important;
}
.unified-scale.reaction-slider > [data-scale-range],
.unified-scale.mood-slider > [data-scale-range] {
  margin-right: .42rem !important;
}
.unified-scale.reaction-slider > .scale-manual-wrap,
.unified-scale.mood-slider > .scale-manual-wrap {
  align-self: start !important;
}
.unified-scale .reaction-slider-manual,
.unified-scale .mood-slider-manual {
  padding-right: .28rem !important;
  border-top-right-radius: .3rem !important;
  border-bottom-right-radius: .3rem !important;
  appearance: auto !important;
  -moz-appearance: auto !important;
}
.unified-scale > .scale-precision-wrap {
  align-self: start !important;
  justify-content: flex-start !important;
  min-width: 0 !important;
}
.unified-scale .scale-precision-picker--compact {
  position: relative !important;
  display: inline-flex !important;
  align-items: flex-start !important;
  margin-left: -1px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
}
.unified-scale .scale-precision-current {
  display: inline-grid !important;
  grid-template-columns: 1fr !important;
  place-items: center !important;
  width: 1.24rem !important;
  min-width: 1.24rem !important;
  min-height: 1.26rem !important;
  height: 1.26rem !important;
  margin: 0 !important;
  padding: .04rem 0 !important;
  border-width: 1px 1px 1px 0 !important;
  border-radius: 0 .34rem .34rem 0 !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.11) !important;
  font-size: .48rem !important;
  line-height: 1 !important;
}
.unified-scale .scale-precision-current::after {
  margin: .06rem 0 0 !important;
  color: #8ff3e2;
  content: "▴" !important;
  font-size: .42rem !important;
  line-height: .45rem !important;
}
.unified-scale .scale-precision-options {
  right: 0 !important;
  bottom: calc(100% + .28rem) !important;
  transform-origin: bottom right !important;
}
.unified-scale .scale-precision-picker--compact::before {
  position: absolute;
  right: 0;
  bottom: 100%;
  width: 100%;
  height: .34rem;
  content: "";
}
@media (max-width: 640px) {
  .unified-scale.reaction-slider,
  .unified-scale.mood-slider { grid-template-columns: minmax(5.5rem, 1fr) 3.8rem 1.18rem !important; }
  .unified-scale .scale-precision-current { width: 1.18rem !important; min-width: 1.18rem !important; font-size: .45rem !important; }
}

/* USER-014: правое завершение — полуовал, визуально продолжающий цифровое поле. */
.unified-scale .scale-precision-current {
  border-left: 0 !important;
  border-radius: 0 999px 999px 0 !important;
}

/* USER-011: честный пропуск оценки находится рядом с соответствующей шкалой. */
.unified-scale.mood-slider { grid-template-columns: minmax(7rem, 1fr) 4.15rem 1.24rem auto !important; }
.unified-scale.mood-slider > .scale-unknown-control {
  grid-column: 4 !important;
  grid-row: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  align-self: start !important;
  gap: .25rem !important;
  margin: .24rem 0 0 .5rem !important;
  color: #b8cbe6 !important;
  font-size: .72rem !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
  cursor: pointer !important;
}
.unified-scale.mood-slider > .scale-unknown-control input { width: .86rem !important; height: .86rem !important; margin: 0 !important; accent-color: #80e8d8; }
.unified-scale.mood-slider.is-unknown > [data-scale-range],
.unified-scale.mood-slider.is-unknown > .scale-manual-wrap,
.unified-scale.mood-slider.is-unknown > .scale-precision-wrap { opacity: .42 !important; }
@media (max-width: 640px) {
  .unified-scale.mood-slider { grid-template-columns: minmax(5.5rem, 1fr) 3.8rem 1.18rem auto !important; }
  .unified-scale.mood-slider > .scale-unknown-control { margin-left: .36rem !important; font-size: .67rem !important; }
}

/* USER-007: пояснение к возврату остаётся справа от кнопки и не перегружает тест. */
.test-actions { align-items: center; }
.test-back-control { display: inline-flex; align-items: center; gap: .5rem; min-width: 0; }
.test-back-hint { max-width: min(21rem, 42vw); color: #9eb4d2; font-size: .68rem; font-weight: 560; line-height: 1.25; }
.test-pause-form { margin: 0; }
@media (max-width: 640px) {
  .test-back-control { align-items: flex-start; flex-wrap: wrap; gap: .28rem .45rem; }
  .test-back-hint { max-width: 100%; flex-basis: 100%; font-size: .64rem; }
}

/* USER-010: старт дня показывает фактический короткий план, а не общий лозунг. */
.daily-companion-plan { margin: .82rem 0; padding: .7rem .82rem; border-left: 3px solid #79e2d2; border-radius: 0 11px 11px 0; background: rgba(18, 62, 101, .42); }
.daily-companion-plan > span { display: block; margin-bottom: .35rem; color: #9cf4e7; font-size: .72rem; font-weight: 830; letter-spacing: .075em; text-transform: uppercase; }
.daily-companion-plan ol { display: grid; gap: .22rem; margin: 0; padding-left: 1.22rem; color: #e4f1ff; font-size: .91rem; line-height: 1.38; }
.daily-companion-plan li::marker { color: #80e8d8; font-weight: 800; }

/* USER-008: единый мостик курсора между вкладкой и выпадающей панелью. */
.workspace-menu::after { content: ""; position: absolute; z-index: 219; top: 100%; left: 0; width: 100%; height: .52rem; }
.workspace-menu:last-child::after { right: 0; left: auto; }
@media (max-width: 860px) { .workspace-menu::after { display: none; } }

/* USER-016: поле числа охватывает значение без лишней пустоты и расширяется только при необходимости. */
.unified-scale { --scale-number-width: 3.05rem; grid-template-columns: minmax(7rem, 1fr) var(--scale-number-width) 1.24rem !important; }
.unified-scale.mood-slider { grid-template-columns: minmax(7rem, 1fr) var(--scale-number-width) 1.24rem auto !important; }
.unified-scale > .scale-manual-wrap { width: var(--scale-number-width) !important; min-width: 0 !important; }
.unified-scale > .scale-manual-wrap > [data-scale-manual] { width: 100% !important; min-width: 0 !important; padding-inline: .48rem !important; text-align: center !important; }
@media (max-width: 640px) {
  .unified-scale { grid-template-columns: minmax(5.5rem, 1fr) var(--scale-number-width) 1.18rem !important; }
  .unified-scale.mood-slider { grid-template-columns: minmax(5.5rem, 1fr) var(--scale-number-width) 1.18rem auto !important; }
}

/* USER-017: при неактивной вкладке счёт остановлен и это видно до раскрытия детализации. */
.active-practice-timer.timer-paused .timer-label::after { content: " · пауза"; color: #adc0d9; font-weight: 680; }
.active-practice-timer.timer-paused [data-timer-value] { color: #c4d6e8; text-shadow: none; }

/* USER-018: план дня — одна краткая строка с прямыми переходами к действиям. */
.daily-plan-inline { display: flex; flex-wrap: wrap; align-items: baseline; gap: .28rem .48rem; margin: .75rem 0 .42rem; padding: .62rem .78rem; border: 1px solid rgba(121, 226, 210, .26); border-radius: 12px; background: rgba(13, 43, 82, .44); }
.daily-plan-inline > span { color: #95f1e1; font-size: .73rem; font-weight: 830; letter-spacing: .07em; text-transform: uppercase; }
.daily-plan-inline > p { margin: 0; color: #d7e7f8; font-size: .92rem; line-height: 1.4; }
.daily-plan-inline a { color: #b7f7ec; font-weight: 760; text-decoration-color: rgba(183, 247, 236, .55); text-underline-offset: .18em; }
.daily-plan-inline a:hover, .daily-plan-inline a:focus-visible { color: #fff; text-decoration-color: currentColor; outline: none; }

/* USER-019: дорожная карта вторична, но состояния считываются за один взгляд. */
.method-roadmap { margin: .42rem 0 .78rem; border: 1px solid rgba(147, 175, 217, .24); border-radius: 12px; background: rgba(10, 32, 67, .34); }
.method-roadmap > summary { display: flex; align-items: baseline; justify-content: space-between; gap: .8rem; padding: .6rem .78rem; cursor: pointer; list-style: none; }
.method-roadmap > summary::-webkit-details-marker { display: none; }
.method-roadmap > summary > span { color: #d9e9fa; font-size: .83rem; font-weight: 790; }
.method-roadmap > summary > small { color: #8da4c3; font-size: .72rem; }
.method-roadmap[open] > summary { border-bottom: 1px solid rgba(147, 175, 217, .18); }
.method-roadmap-body { padding: .65rem .78rem .78rem; }
.method-roadmap .method-roadmap-list { gap: .42rem; }
.method-roadmap .method-roadmap-list li { border: 1px solid rgba(146, 170, 205, .17); border-left-width: 3px; background: rgba(118, 142, 179, .055); }
.method-roadmap .method-roadmap-list li.future { border-left-color: #536b8c; color: #95a9c5; opacity: .8; }
.method-roadmap .method-roadmap-list li.future .method-roadmap-state { color: #a2b4cd; background: rgba(95, 119, 154, .22); }
.method-roadmap .method-roadmap-list li.current { border-color: rgba(112, 231, 211, .58); border-left-color: #78e5d4; background: linear-gradient(90deg, rgba(74, 209, 190, .18), rgba(79, 123, 218, .12)); box-shadow: 0 0 0 1px rgba(127, 233, 216, .1), 0 8px 18px rgba(0, 0, 0, .16); }
.method-roadmap .method-roadmap-list li.current strong { color: #e8fffb; }
.method-roadmap .method-roadmap-list li.current .method-roadmap-state { color: #062d37; background: #89eddd; }
.method-roadmap .method-roadmap-list li.done { border-left-color: #61c990; background: rgba(69, 164, 113, .105); }
.method-roadmap .method-roadmap-list li.done strong { color: #c9f6d9; }
.method-roadmap .method-roadmap-list li.done .method-roadmap-state { color: #073521; background: #7fe0a6; }
@media (max-width: 640px) { .daily-plan-inline { align-items: flex-start; } .daily-plan-inline > p { flex-basis: 100%; } .method-roadmap > summary { align-items: flex-start; flex-direction: column; gap: .15rem; } }

/* USER-020/022/023: самостоятельные скины, локальная подсказка эмоций и компактные общие шкалы. */
html[data-theme] {
  --theme-bg: #081025;
  --theme-card: rgba(18,31,65,.9);
  --theme-card-solid: #112047;
  --theme-ink: #edf5ff;
  --theme-muted: #b5c2dc;
  --theme-line: rgba(164,190,255,.26);
  --theme-primary: #79e2d2;
  --theme-secondary: #9a84ff;
  --theme-focus: rgba(121,226,210,.28);
  --theme-tooltip: linear-gradient(140deg, rgba(18,73,96,.99), rgba(72,49,137,.99));
  --theme-tooltip-ink: #f2fffd;
  --theme-shadow: 0 16px 34px rgba(0,4,25,.34);
}
html[data-theme="spring"] { --theme-bg:#edf8f0; --theme-card:#fffefa; --theme-card-solid:#ffffff; --theme-ink:#1d4035; --theme-muted:#597369; --theme-line:#c7dfcf; --theme-primary:#2d8067; --theme-secondary:#91c96e; --theme-focus:rgba(45,128,103,.2); --theme-tooltip:linear-gradient(145deg,#1c705f,#4f8950); --theme-tooltip-ink:#f6fff7; --theme-shadow:0 14px 30px rgba(52,91,66,.14); }
html[data-theme="new-year"] { --theme-bg:#430f18; --theme-card:#651f28; --theme-card-solid:#6e252d; --theme-ink:#fff7de; --theme-muted:#ead6af; --theme-line:rgba(235,202,126,.46); --theme-primary:#70d3a5; --theme-secondary:#edc765; --theme-focus:rgba(237,199,101,.28); --theme-tooltip:linear-gradient(145deg,#8d2b2e,#285a42); --theme-tooltip-ink:#fffbe8; --theme-shadow:0 18px 36px rgba(35,3,8,.4); }
html[data-theme="playful"] { --theme-bg:#f4eaff; --theme-card:#fffaff; --theme-card-solid:#fffaff; --theme-ink:#45275e; --theme-muted:#765f87; --theme-line:#e0c7ee; --theme-primary:#7450bd; --theme-secondary:#ef7aaf; --theme-focus:rgba(116,80,189,.2); --theme-tooltip:linear-gradient(145deg,#7955bb,#ea78aa); --theme-tooltip-ink:#fffaff; --theme-shadow:0 15px 31px rgba(100,63,135,.17); }
html[data-theme="autumn"] { --theme-bg:#f2e4cf; --theme-card:#fffaf2; --theme-card-solid:#fffaf2; --theme-ink:#503923; --theme-muted:#7b684f; --theme-line:#dfc49a; --theme-primary:#a65b2c; --theme-secondary:#d59a37; --theme-focus:rgba(166,91,44,.2); --theme-tooltip:linear-gradient(145deg,#9a542b,#c28132); --theme-tooltip-ink:#fff9ed; --theme-shadow:0 15px 32px rgba(100,65,27,.17); }
html[data-theme="marine"] { --theme-bg:#e4f5f7; --theme-card:#fbfeff; --theme-card-solid:#ffffff; --theme-ink:#123d54; --theme-muted:#527586; --theme-line:#b9dce4; --theme-primary:#177b93; --theme-secondary:#40bcae; --theme-focus:rgba(23,123,147,.2); --theme-tooltip:linear-gradient(145deg,#126c87,#2e9f9a); --theme-tooltip-ink:#efffff; --theme-shadow:0 15px 32px rgba(23,98,119,.16); }
html[data-theme="technology"] { --theme-bg:#0a1018; --theme-card:#121d2a; --theme-card-solid:#172535; --theme-ink:#edf5ff; --theme-muted:#a6b6c9; --theme-line:rgba(120,161,196,.34); --theme-primary:#3bc6ff; --theme-secondary:#b6ed4c; --theme-focus:rgba(59,198,255,.23); --theme-tooltip:linear-gradient(145deg,#123b59,#21425e); --theme-tooltip-ink:#f3fbff; --theme-shadow:0 18px 38px rgba(0,0,0,.45); }
html[data-theme="telegram"] { --theme-bg:#e9f2f8; --theme-card:#ffffff; --theme-card-solid:#ffffff; --theme-ink:#1c3447; --theme-muted:#617788; --theme-line:#cadce8; --theme-primary:#3390ec; --theme-secondary:#65b5f5; --theme-focus:rgba(51,144,236,.2); --theme-tooltip:linear-gradient(145deg,#2380d1,#58a9e8); --theme-tooltip-ink:#f6fbff; --theme-shadow:0 13px 27px rgba(54,105,140,.15); }

html[data-theme]:not([data-theme="cosmic"]) body { background:radial-gradient(circle at 10% 0,var(--theme-focus),transparent 29%),radial-gradient(circle at 93% 88%,color-mix(in srgb,var(--theme-secondary) 18%,transparent),transparent 34%),var(--theme-bg); color:var(--theme-ink); }
html[data-theme]:not([data-theme="cosmic"]) body::before { opacity:.17; background-image:radial-gradient(circle at 11% 23%,var(--theme-primary) 0 1px,transparent 1.7px),radial-gradient(circle at 75% 15%,var(--theme-secondary) 0 1.4px,transparent 2px),radial-gradient(circle at 38% 78%,var(--theme-primary) 0 1px,transparent 1.6px); background-size:182px 176px,278px 242px,223px 201px; }
html[data-theme="new-year"] body::before { opacity:.28; background-image:radial-gradient(circle at 12% 17%,#f1d178 0 1.6px,transparent 2.3px),radial-gradient(circle at 72% 18%,#f6e5a3 0 1px,transparent 1.8px),radial-gradient(circle at 48% 79%,#e9c268 0 1px,transparent 1.8px); }
html[data-theme="playful"] body::before { opacity:.25; background-image:radial-gradient(circle at 12% 17%,#ef7aaf 0 2px,transparent 2.8px),radial-gradient(circle at 72% 18%,#6bd2ca 0 1.7px,transparent 2.5px),radial-gradient(circle at 48% 79%,#f0b85e 0 1.7px,transparent 2.5px); }
html[data-theme]:not([data-theme="cosmic"]) header { background:color-mix(in srgb,var(--theme-card-solid) 90%,transparent); border-bottom-color:var(--theme-line); box-shadow:0 7px 21px color-mix(in srgb,var(--theme-ink) 9%,transparent); }
html[data-theme]:not([data-theme="cosmic"]) .brand a,
html[data-theme]:not([data-theme="cosmic"]) h1,
html[data-theme]:not([data-theme="cosmic"]) h2,
html[data-theme]:not([data-theme="cosmic"]) h3 { color:var(--theme-ink); text-shadow:none; }
html[data-theme]:not([data-theme="cosmic"]) .brand strong,
html[data-theme]:not([data-theme="cosmic"]) .eyebrow,
html[data-theme]:not([data-theme="cosmic"]) a { color:var(--theme-primary); text-shadow:none; }
html[data-theme]:not([data-theme="cosmic"]) nav a,
html[data-theme]:not([data-theme="cosmic"]) .muted,
html[data-theme]:not([data-theme="cosmic"]) .hero p { color:var(--theme-muted); }
html[data-theme]:not([data-theme="cosmic"]) .hero-card,
html[data-theme]:not([data-theme="cosmic"]) .form-card,
html[data-theme]:not([data-theme="cosmic"]) .session-card,
html[data-theme]:not([data-theme="cosmic"]) .next-action,
html[data-theme]:not([data-theme="cosmic"]) .problem-card,
html[data-theme]:not([data-theme="cosmic"]) .table-card,
html[data-theme]:not([data-theme="cosmic"]) .chart-grid article,
html[data-theme]:not([data-theme="cosmic"]) .metrics>div,
html[data-theme]:not([data-theme="cosmic"]) .empty,
html[data-theme]:not([data-theme="cosmic"]) .daily-plan-summary { border-color:var(--theme-line); background:var(--theme-card); box-shadow:var(--theme-shadow); backdrop-filter:blur(12px); }
html[data-theme]:not([data-theme="cosmic"]) .button { border-color:color-mix(in srgb,var(--theme-primary) 65%,var(--theme-line)); background:color-mix(in srgb,var(--theme-card-solid) 88%,transparent); color:var(--theme-primary); box-shadow:none; }
html[data-theme]:not([data-theme="cosmic"]) .button.primary { border-color:var(--theme-primary); background:linear-gradient(135deg,var(--theme-primary),var(--theme-secondary)); color:#fff; }
html[data-theme]:not([data-theme="cosmic"]) .button.ghost { border-color:var(--theme-line); background:var(--theme-card-solid); color:var(--theme-ink); }
html[data-theme]:not([data-theme="cosmic"]) .button:hover,
html[data-theme]:not([data-theme="cosmic"]) .button:focus-visible { outline:3px solid var(--theme-focus); outline-offset:2px; box-shadow:none; transform:translateY(-1px); }
html[data-theme]:not([data-theme="cosmic"]) .form-card input:not([type=radio]):not([type=checkbox]),
html[data-theme]:not([data-theme="cosmic"]) .form-card textarea,
html[data-theme]:not([data-theme="cosmic"]) .form-card select,
html[data-theme]:not([data-theme="cosmic"]) .session-card input:not([type=radio]):not([type=checkbox]),
html[data-theme]:not([data-theme="cosmic"]) .session-card textarea { border-color:var(--theme-line); background:color-mix(in srgb,var(--theme-card-solid) 92%,transparent); color:var(--theme-ink); }
html[data-theme]:not([data-theme="cosmic"]) .form-card input:focus,
html[data-theme]:not([data-theme="cosmic"]) .form-card textarea:focus,
html[data-theme]:not([data-theme="cosmic"]) .form-card select:focus,
html[data-theme]:not([data-theme="cosmic"]) .session-card input:focus,
html[data-theme]:not([data-theme="cosmic"]) .session-card textarea:focus { border-color:var(--theme-primary); outline:3px solid var(--theme-focus); }
html[data-theme]:not([data-theme="cosmic"]) .workspace-tabs,
html[data-theme]:not([data-theme="cosmic"]) .workspace-menu-toggle,
html[data-theme]:not([data-theme="cosmic"]) .workspace-menu-list,
html[data-theme]:not([data-theme="cosmic"]) .brand-menu-toggle,
html[data-theme]:not([data-theme="cosmic"]) .user-menu-list,
html[data-theme]:not([data-theme="cosmic"]) .support-menu-list { border-color:var(--theme-line); background:var(--theme-card-solid); color:var(--theme-ink); }
html[data-theme]:not([data-theme="cosmic"]) .workspace-tab { color:var(--theme-muted); }
html[data-theme]:not([data-theme="cosmic"]) .workspace-menu.is-active .workspace-tab,
html[data-theme]:not([data-theme="cosmic"]) .workspace-menu.is-active .workspace-menu-toggle,
html[data-theme]:not([data-theme="cosmic"]) .workspace-tab.is-active { background:linear-gradient(135deg,var(--theme-primary),var(--theme-secondary)); color:#fff; }
html[data-theme]:not([data-theme="cosmic"]) .emotion-chip,
html[data-theme]:not([data-theme="cosmic"]) .emotion-quick-suggestion,
html[data-theme]:not([data-theme="cosmic"]) .emotion-suggestion { border-color:color-mix(in srgb,var(--theme-primary) 48%,var(--theme-line)); background:color-mix(in srgb,var(--theme-card-solid) 84%,var(--theme-focus)); color:var(--theme-ink); }
html[data-theme]:not([data-theme="cosmic"]) .emotion-chip:hover,
html[data-theme]:not([data-theme="cosmic"]) .emotion-chip:focus-visible,
html[data-theme]:not([data-theme="cosmic"]) .emotion-quick-suggestion:hover,
html[data-theme]:not([data-theme="cosmic"]) .emotion-quick-suggestion:focus-visible,
html[data-theme]:not([data-theme="cosmic"]) .emotion-suggestion:hover,
html[data-theme]:not([data-theme="cosmic"]) .emotion-suggestion:focus-visible { border-color:var(--theme-primary); background:var(--theme-focus); color:var(--theme-ink); outline:2px solid var(--theme-focus); }
html[data-theme]:not([data-theme="cosmic"]) .scale span,
html[data-theme]:not([data-theme="cosmic"]) .mood-scale span,
html[data-theme]:not([data-theme="cosmic"]) .reaction-scale span { border-color:var(--theme-line); background:var(--theme-card-solid); color:var(--theme-ink); }
html[data-theme]:not([data-theme="cosmic"]) .scale input:checked+span,
html[data-theme]:not([data-theme="cosmic"]) .mood-scale input:checked+span,
html[data-theme]:not([data-theme="cosmic"]) .reaction-scale input:checked+span { border-color:var(--theme-primary); background:linear-gradient(135deg,var(--theme-primary),var(--theme-secondary)); color:#fff; }
html[data-theme="telegram"] .button.primary,
html[data-theme="telegram"] .workspace-menu.is-active .workspace-tab,
html[data-theme="telegram"] .workspace-menu.is-active .workspace-menu-toggle { background:#3390ec; }

/* Общая локальная подсказка встаёт у активного поля, а не у левой границы формы. */
.emotion-input-wrap { position:relative; display:flex; flex:1 1 10rem; min-width:8rem; }
.emotion-input-wrap [data-emotion-input] { width:100%; min-width:0; }
.emotion-editor-help { position:absolute; z-index:100; bottom:calc(100% + .5rem); left:0; width:min(18rem,calc(100vw - 2rem)); padding:.58rem .7rem; border:1px solid color-mix(in srgb,var(--theme-primary) 68%,#fff); border-radius:11px; background:var(--theme-tooltip); box-shadow:0 .8rem 1.65rem rgba(0,5,24,.32),inset 0 1px 0 rgba(255,255,255,.14); color:var(--theme-tooltip-ink); font-size:.79rem; font-weight:690; line-height:1.35; opacity:0; pointer-events:none; transform:translateY(.22rem); transition:opacity .14s ease,transform .14s ease; }
.emotion-input-wrap:hover .emotion-editor-help,
.emotion-input-wrap:focus-within .emotion-editor-help { opacity:1; transform:translateY(0); }
.emotion-input-wrap .emotion-editor-help::after { position:absolute; right:1rem; top:100%; border:.35rem solid transparent; border-top-color:color-mix(in srgb,var(--theme-secondary) 72%,var(--theme-primary)); content:""; }

/* Полный каталог на широком экране использует свободную область справа; короткие подсказки остаются под полем. */
@media (min-width:981px) {
  .emotion-editor-standard.emotion-suggestions-side { position:relative; overflow:visible; }
  .emotion-editor-standard.emotion-suggestions-side .emotion-suggestions { position:absolute !important; top:0 !important; right:auto !important; bottom:auto !important; left:calc(100% + .78rem) !important; z-index:40; display:grid !important; grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr)) !important; grid-auto-rows:max-content; width:var(--emotion-side-width,22rem) !important; min-width:0 !important; max-width:none !important; max-height:min(54vh,30rem) !important; padding:.56rem !important; border:1px solid color-mix(in srgb,var(--theme-primary) 46%,var(--theme-line)) !important; border-radius:14px !important; background:color-mix(in srgb,var(--theme-card-solid) 96%,transparent) !important; box-shadow:var(--theme-shadow) !important; overflow:auto !important; }
  .emotion-editor-standard.emotion-suggestions-side .emotion-suggestion { min-height:2.3rem !important; text-align:left; }
}
@media (max-width:980px) {
  .emotion-editor-standard .emotion-suggestions { display:flex !important; flex-direction:column !important; grid-template-columns:none !important; }
}

/* USER-023: в широкой форме вопрос и соответствующее управление находятся в одном компактном блоке. */
.reaction-scale-field { display:grid !important; grid-template-columns:minmax(17rem,.88fr) minmax(20rem,1.12fr) !important; align-items:center !important; column-gap:1rem !important; row-gap:.52rem !important; }
.reaction-scale-field legend,
.reaction-scale-field > .scale-question { grid-column:1 !important; grid-row:1 !important; max-width:none !important; margin:0 !important; padding:0 !important; }
.reaction-scale-field > .unified-scale { grid-column:2 !important; grid-row:1 !important; width:100% !important; }
.unified-scale.reaction-slider,
.unified-scale.mood-slider { display:grid !important; grid-template-columns:minmax(7rem,1fr) var(--scale-number-width,3.05rem) 1.24rem auto !important; align-items:center !important; gap:.34rem !important; }
.unified-scale > [data-scale-range] { grid-column:1 !important; grid-row:1 !important; min-width:0 !important; }
.unified-scale > .scale-manual-wrap { grid-column:2 !important; grid-row:1 !important; }
.unified-scale > .scale-precision-wrap { grid-column:3 !important; grid-row:1 !important; }
.unified-scale > .scale-extra-control,
.unified-scale > .scale-unknown-control { grid-column:4 !important; grid-row:1 !important; align-self:center !important; justify-self:start !important; margin:0 !important; padding:0 !important; }
.unified-scale .scale-uncertain-link { display:inline-block; max-width:8.8rem; color:var(--theme-primary); font-size:.76rem; font-weight:700; line-height:1.2; text-decoration:underline; text-underline-offset:.16em; }
.unified-scale .scale-unknown-control { color:var(--theme-muted) !important; font-size:.74rem !important; white-space:nowrap; }
@media (max-width:780px) {
  .reaction-scale-field { grid-template-columns:1fr !important; align-items:start !important; row-gap:.42rem !important; }
  .reaction-scale-field legend,
  .reaction-scale-field > .scale-question,
  .reaction-scale-field > .unified-scale { grid-column:1 !important; }
  .reaction-scale-field legend,
  .reaction-scale-field > .scale-question { grid-row:1 !important; }
  .reaction-scale-field > .unified-scale { grid-row:2 !important; }
}
@media (max-width:460px) {
  .unified-scale.reaction-slider,
  .unified-scale.mood-slider { grid-template-columns:minmax(4.7rem,1fr) var(--scale-number-width,3.05rem) 1.18rem !important; }
  .unified-scale > .scale-extra-control,
  .unified-scale > .scale-unknown-control { grid-column:1 / -1 !important; grid-row:2 !important; margin-top:.18rem !important; }
}

/* Экран выбора скина — только выбор оформления, без изменения логики. */
.theme-settings { max-width:58rem; }
.theme-settings > p { max-width:66ch; }
.theme-choice-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.8rem; margin:1.1rem 0 1.2rem; }
.theme-choice { position:relative; display:grid; grid-template-columns:6.2rem minmax(0,1fr); gap:.8rem; align-items:center; min-height:6.1rem; padding:.65rem; border:1px solid var(--theme-line); border-radius:15px; background:color-mix(in srgb,var(--theme-card-solid) 86%,transparent); color:var(--theme-ink); cursor:pointer; transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease; }
.theme-choice input { position:absolute; opacity:0; }
.theme-choice:hover,
.theme-choice:focus-within { border-color:var(--theme-primary); box-shadow:0 0 0 3px var(--theme-focus); transform:translateY(-1px); }
.theme-choice.is-selected { border-color:var(--theme-primary); box-shadow:0 0 0 2px var(--theme-focus); }
.theme-choice-preview { position:relative; display:block; height:4.55rem; overflow:hidden; border:1px solid rgba(255,255,255,.28); border-radius:11px; background:linear-gradient(145deg,#25135a,#0d4d68); }
.theme-choice-preview i,.theme-choice-preview b,.theme-choice-preview em { position:absolute; display:block; border-radius:999px; content:""; }
.theme-choice-preview i { inset:.72rem auto auto .7rem; width:1.45rem; height:1.45rem; background:#79e2d2; box-shadow:0 0 15px #79e2d2; }
.theme-choice-preview b { right:-1.25rem; bottom:-1.65rem; width:4.5rem; height:4.5rem; border:1px solid rgba(255,255,255,.6); }
.theme-choice-preview em { left:.68rem; right:.68rem; bottom:.76rem; height:.42rem; background:rgba(255,255,255,.54); }
.theme-choice--spring .theme-choice-preview { background:linear-gradient(145deg,#c9edbb,#4f9e6e); }.theme-choice--new-year .theme-choice-preview { background:linear-gradient(145deg,#8a2029,#215d45); }.theme-choice--new-year .theme-choice-preview i { background:#eac665; box-shadow:0 0 15px #eac665; }.theme-choice--playful .theme-choice-preview { background:linear-gradient(145deg,#f28abd,#7563d9); }.theme-choice--autumn .theme-choice-preview { background:linear-gradient(145deg,#d59a37,#8f4a29); }.theme-choice--marine .theme-choice-preview { background:linear-gradient(145deg,#42c6c3,#176f9a); }.theme-choice--technology .theme-choice-preview { background:linear-gradient(145deg,#162332,#1e6180); }.theme-choice--technology .theme-choice-preview i { background:#b6ed4c; box-shadow:0 0 15px #b6ed4c; }.theme-choice--telegram .theme-choice-preview { background:linear-gradient(145deg,#85c8fa,#338eea); }
.theme-choice-copy { display:grid; gap:.24rem; }.theme-choice-copy strong { color:var(--theme-ink); font-size:.96rem; }.theme-choice-copy small { color:var(--theme-muted); font-size:.78rem; line-height:1.35; }
@media (max-width:680px) { .theme-choice-grid { grid-template-columns:1fr; }.theme-choice { grid-template-columns:5.5rem minmax(0,1fr); min-height:5.5rem; }.theme-choice-preview { height:4rem; } }


/* USER-023 final: compact question-to-controls flow without detached secondary links. */
.reaction-scale-field {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  align-items: start !important;
  row-gap: .34rem !important;
}
.reaction-scale-field legend,
.reaction-scale-field > .scale-question,
.reaction-scale-field > .unified-scale {
  grid-column: 1 !important;
}
.reaction-scale-field legend,
.reaction-scale-field > .scale-question {
  grid-row: auto !important;
  max-width: 68ch !important;
}
.reaction-scale-field > .unified-scale {
  grid-row: auto !important;
  width: 100% !important;
}
.unified-scale.reaction-slider,
.unified-scale.mood-slider {
  grid-template-columns: minmax(10rem, 1fr) max-content max-content !important;
  grid-template-rows: auto auto !important;
  align-items: center !important;
  column-gap: .42rem !important;
  row-gap: .18rem !important;
}
.unified-scale > [data-scale-range] { grid-column: 1 !important; grid-row: 1 !important; min-width: 0 !important; }
.unified-scale > .scale-manual-wrap { grid-column: 2 !important; grid-row: 1 !important; }
.unified-scale > .scale-precision-wrap { grid-column: 3 !important; grid-row: 1 !important; }
.unified-scale > .scale-extra-control,
.unified-scale > .scale-unknown-control {
  grid-column: 2 / 4 !important;
  grid-row: 2 !important;
  justify-self: start !important;
  align-self: start !important;
  margin: .04rem 0 0 !important;
  padding: 0 !important;
}
/* Высокая специфичность нужна для перекрытия старого правила reaction-slider > .scale-extra-control. */
.unified-scale.reaction-slider > .scale-extra-control {
  grid-column: 2 / 4 !important;
  grid-row: 2 !important;
  justify-self: start !important;
  align-self: start !important;
}
.unified-scale .scale-extra-control .scale-uncertain-link,
.unified-scale .scale-uncertain-link {
  display: inline-block !important;
  max-width: none !important;
  font-size: .76rem !important;
  line-height: 1.16 !important;
  white-space: nowrap !important;
}
.unified-scale .scale-unknown-control { font-size: .74rem !important; white-space: nowrap !important; }
@media (max-width: 640px) {
  .reaction-scale-field { row-gap: .28rem !important; }
  .unified-scale.reaction-slider,
  .unified-scale.mood-slider {
    grid-template-columns: minmax(7rem, 1fr) max-content max-content !important;
    column-gap: .3rem !important;
  }
  .unified-scale > .scale-extra-control,
  .unified-scale > .scale-unknown-control { grid-column: 2 / 4 !important; }
}
@media (max-width: 460px) {
  .unified-scale.reaction-slider,
  .unified-scale.mood-slider {
    grid-template-columns: minmax(5rem, 1fr) max-content max-content !important;
  }
  .unified-scale > .scale-precision-wrap { grid-column: 3 !important; grid-row: 1 !important; }
  .unified-scale > .scale-extra-control,
  .unified-scale > .scale-unknown-control {
    display: block !important;
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
  }
  .unified-scale.reaction-slider > .scale-extra-control,
  .unified-scale.mood-slider > .scale-unknown-control {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
  }
  .unified-scale .scale-extra-control .scale-uncertain-link,
  .unified-scale .scale-uncertain-link { white-space: normal !important; }
}


/* USER-023 final for the daily mood form: its fieldsets use the same compact flow. */
#mood-form > fieldset {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  align-items: start !important;
  row-gap: .3rem !important;
  margin-block: .8rem !important;
}
#mood-form > fieldset > legend {
  grid-column: 1 !important;
  grid-row: auto !important;
  margin-bottom: 0 !important;
}
#mood-form > fieldset > .unified-scale {
  grid-column: 1 !important;
  grid-row: auto !important;
  width: 100% !important;
}
@media (max-width: 460px) {
  #mood-form > fieldset { margin-block: .62rem !important; }
}


/* USER-023 hardening: override legacy scale rules on the daily mood form. */
html body #mood-form .unified-scale.mood-slider {
  display: grid !important;
  grid-template-columns: minmax(10rem, 1fr) max-content max-content !important;
  grid-template-rows: auto auto !important;
  column-gap: .42rem !important;
  row-gap: .18rem !important;
}
html body #mood-form .unified-scale.mood-slider > [data-scale-range] { grid-column: 1 !important; grid-row: 1 !important; }
html body #mood-form .unified-scale.mood-slider > .scale-manual-wrap { grid-column: 2 !important; grid-row: 1 !important; }
html body #mood-form .unified-scale.mood-slider > .scale-precision-wrap { grid-column: 3 !important; grid-row: 1 !important; }
html body #mood-form .unified-scale.mood-slider > .scale-unknown-control {
  display: flex !important;
  grid-column: 2 / 4 !important;
  grid-row: 2 !important;
  justify-self: start !important;
  align-self: start !important;
  margin-top: .04rem !important;
}
@media (max-width: 460px) {
  html body #mood-form .unified-scale.mood-slider { grid-template-columns: minmax(5rem, 1fr) max-content max-content !important; }
  html body #mood-form .unified-scale.mood-slider > .scale-precision-wrap { grid-column: 3 !important; }
  html body #mood-form .unified-scale.mood-slider > .scale-unknown-control { grid-column: 1 / -1 !important; }
}


/* USER-025—031, USER-041: единая связная поверхность эмоций и подсказок. */
.emotion-editor-standard.emotion-suggestions-side .emotion-suggestions {
  width: var(--emotion-side-width) !important;
  max-width: calc(100vw - 2.3rem) !important;
}
.emotion-quick-suggestions--attached {
  position: relative;
  gap: .38rem;
  margin: .42rem 0 .12rem;
  padding: .5rem .56rem;
  border: 1px solid color-mix(in srgb, var(--theme-primary) 32%, var(--theme-line));
  border-radius: 0 .72rem .72rem .72rem;
  background: color-mix(in srgb, var(--theme-card-solid) 88%, var(--theme-primary) 12%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06);
}
.emotion-quick-suggestions--attached::before {
  position: absolute;
  top: -.43rem;
  left: .76rem;
  width: .72rem;
  height: .72rem;
  border-top: 1px solid color-mix(in srgb, var(--theme-primary) 32%, var(--theme-line));
  border-left: 1px solid color-mix(in srgb, var(--theme-primary) 32%, var(--theme-line));
  background: color-mix(in srgb, var(--theme-card-solid) 88%, var(--theme-primary) 12%);
  content: '';
  transform: rotate(45deg);
}
.emotion-quick-suggestions--attached .emotion-quick-suggestion { position: relative; z-index: 1; }
.emotion-editor-standard .emotion-chips { display: inline; min-height: 0; }
.emotion-editor-standard .emotion-chip {
  position: relative;
  display: inline;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: inherit;
}
.emotion-editor-standard .emotion-chip:hover { background: transparent; }
.emotion-editor-standard .emotion-chip-remove {
  position: absolute;
  top: -.25rem;
  right: -.98rem;
  z-index: 2;
  opacity: 0;
  pointer-events: none;
  transition: opacity .14s ease, background .14s ease;
}
.emotion-editor-standard .emotion-chip:hover .emotion-chip-remove,
.emotion-editor-standard .emotion-chip:focus-within .emotion-chip-remove {
  opacity: 1;
  pointer-events: auto;
}
html body .hover-help { position: relative; }
html body .hover-help::after {
  position: absolute;
  z-index: 160;
  bottom: calc(100% + .48rem);
  left: 0;
  display: none;
  width: max-content;
  max-width: min(20rem, calc(100vw - 1.3rem));
  padding: .48rem .62rem;
  border: 1px solid color-mix(in srgb, var(--theme-primary) 58%, var(--theme-line));
  border-radius: .62rem;
  background: color-mix(in srgb, var(--theme-card-solid) 82%, #080e26 18%);
  box-shadow: 0 .7rem 1.8rem rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.10);
  color: var(--theme-ink);
  content: attr(data-help);
  font-size: .75rem;
  font-weight: 700;
  line-height: 1.34;
  pointer-events: none;
  white-space: normal;
}
html body .hover-help:hover::after,
html body .hover-help:focus-visible::after,
html body .hover-help:focus-within::after { display: block; }
@media (max-width:640px) {
  .emotion-quick-suggestions--attached { padding:.44rem .46rem; }
  html body .hover-help::after { max-width:calc(100vw - 1.15rem); font-size:.72rem; }
}


/* USER-038—040: пакетная обычная проработка без дробления на отдельные карточки. */
.daily-practice-batch { max-width: 76rem; }
.daily-practice-table-wrap { overflow-x: auto; margin: 1rem 0; border: 1px solid var(--theme-line); border-radius: .9rem; background: color-mix(in srgb, var(--theme-card-solid) 88%, transparent); }
.daily-practice-table { width: 100%; min-width: 44rem; border-collapse: collapse; }
.daily-practice-table th,
.daily-practice-table td { padding: .8rem .9rem; border-bottom: 1px solid color-mix(in srgb, var(--theme-line) 78%, transparent); vertical-align: top; text-align: left; }
.daily-practice-table thead th { color: var(--theme-muted); font-size: .74rem; letter-spacing: .04em; text-transform: uppercase; }
.daily-practice-table tbody tr:last-child th,
.daily-practice-table tbody tr:last-child td { border-bottom: 0; }
.daily-practice-table tbody th { width: 43%; color: var(--theme-ink); font-weight: 700; line-height: 1.42; }
.daily-practice-table td .unified-scale { min-width: 27rem; }
.daily-practice-table-number { display: inline-grid; place-items: center; width: 1.45rem; height: 1.45rem; margin-right: .45rem; border: 1px solid color-mix(in srgb, var(--theme-primary) 42%, var(--theme-line)); border-radius: 50%; color: var(--theme-primary); font-size: .72rem; }
.daily-practice-phrase-list { display: grid; gap: .85rem; margin: 1rem 0 1.2rem; padding: 0; list-style: none; counter-reset: daily-phrase; }
.daily-practice-phrase-list > li { counter-increment: daily-phrase; padding: .9rem 1rem; border: 1px solid var(--theme-line); border-radius: .9rem; background: color-mix(in srgb, var(--theme-card-solid) 88%, transparent); }
.daily-practice-phrase-head { display: flex; align-items: center; justify-content: space-between; gap: .7rem; }
.daily-practice-phrase-head strong { color: var(--theme-primary); font-size: .78rem; letter-spacing: .035em; text-transform: uppercase; }
.daily-practice-intense { min-width: 2.15rem; padding: .36rem .48rem; font-size: 1rem; line-height: 1; }
.daily-practice-done { display: inline-flex; margin-top: .72rem; font-size: .88rem; }
.practice-one .current-state-alternative,
.practice-one .button.small.ghost { border-color: color-mix(in srgb, var(--theme-primary) 38%, var(--theme-line)); background: color-mix(in srgb, var(--theme-card-solid) 90%, var(--theme-primary) 10%); }
@media (max-width: 700px) {
  .daily-practice-batch { padding: 1rem; }
  .daily-practice-table-wrap { margin-right: -.15rem; margin-left: -.15rem; }
  .daily-practice-table { min-width: 37rem; }
  .daily-practice-table th,
  .daily-practice-table td { padding: .67rem; }
  .daily-practice-table td .unified-scale { min-width: 22rem; }
  .daily-practice-phrase-list > li { padding: .78rem .82rem; }
}


/* USER-031: старые локальные tooltip-правила приводятся к той же поверхности. */
html body .auth-tooltip::after,
html body .guest-auth .auth-tooltip::after,
html body .member-nav .admin-contact.hover-help::after,
html body .scale-precision-toggle.hover-help::after {
  border-color: color-mix(in srgb, var(--theme-primary) 58%, var(--theme-line)) !important;
  background: color-mix(in srgb, var(--theme-card-solid) 82%, #080e26 18%) !important;
  box-shadow: 0 .7rem 1.8rem rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.10) !important;
  color: var(--theme-ink) !important;
}


/* USER-050: точность примыкает к числу как правое полуовальное продолжение поля. */
.unified-scale.reaction-slider,
.unified-scale.mood-slider { --scale-precision-gap: .42rem; }
.unified-scale > .scale-manual-wrap { position: relative; z-index: 2; align-self: start !important; }
.unified-scale > .scale-manual-wrap > [data-scale-manual] {
  border-top-right-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
  border-right-width: 0 !important;
}
.unified-scale > .scale-precision-wrap {
  z-index: 3;
  align-self: start !important;
  margin-top: 0 !important;
  margin-left: calc(-1 * var(--scale-precision-gap)) !important;
}
.unified-scale .scale-precision-picker--compact,
.unified-scale .scale-precision-current { margin-top: 0 !important; align-self: start !important; }
.unified-scale .scale-precision-current {
  min-height: 1.5rem !important;
  border-left: 0 !important;
  border-radius: 0 999px 999px 0 !important;
}
@media (max-width: 640px) {
  .unified-scale.reaction-slider,
  .unified-scale.mood-slider { --scale-precision-gap: .3rem; }
}


/* USER-032: безопасный путь различения текущего состояния вместо ложного «Не помню». */
.scale-state-understanding-link { grid-column: 1 / -1; grid-row: 3; display: inline-flex; align-items: center; justify-self: start; min-height: 2rem; margin-top: .18rem; padding: .32rem .58rem; border: 1px solid var(--line); border-radius: 999px; background: color-mix(in srgb, var(--card) 84%, transparent); color: var(--theme-muted); font-size: .78rem; font-weight: 650; line-height: 1.25; text-decoration: none; transition: border-color .16s ease, background .16s ease, color .16s ease; }
.scale-state-understanding-link:hover,.scale-state-understanding-link:focus-visible { border-color: var(--theme-primary); background: color-mix(in srgb, var(--theme-primary) 12%, var(--card)); color: var(--theme-primary); outline: none; }


/* USER-027: подсказка выбранной эмоции поверх каталога, только по hover. */
html body .emotion-editor-standard .emotion-chip.hover-help { position: relative; isolation: isolate; }
html body .emotion-editor-standard .emotion-chip.hover-help::after {
  z-index: 1200 !important;
  width: min(20rem, calc(100vw - 1.5rem));
  border: 1px solid rgba(69, 157, 164, .78) !important;
  background: linear-gradient(135deg, rgba(6, 37, 61, .98), rgba(34, 66, 108, .99)) !important;
  box-shadow: 0 16px 38px rgba(3, 15, 37, .48), 0 0 0 1px rgba(255,255,255,.1) inset !important;
  color: #f4ffff !important;
  pointer-events: none;
  animation: none !important;
}
html body .emotion-editor-standard .emotion-chip.hover-help:hover::after { display: block !important; }

/* USER-028/041: keyboard-focus чипа обязан открывать тот же крестик и подсказку, что и hover. */
html body .emotion-editor-standard .emotion-chip:hover .emotion-chip-remove,
html body .emotion-editor-standard .emotion-chip:focus-within .emotion-chip-remove {
  opacity: 1 !important;
  pointer-events: auto !important;
}
html body .emotion-editor-standard .emotion-chip.hover-help:hover::after,
html body .emotion-editor-standard .emotion-chip.hover-help:focus-within::after {
  display: block !important;
}

/* USER-050: историческое align-self:center у reaction/mood имело большую специфичность; полуовал должен начинаться по верхнему краю числового поля. */
.unified-scale.reaction-slider > .scale-precision-wrap,
.unified-scale.mood-slider > .scale-precision-wrap {
  align-self: start !important;
}

/* USER-038/042: на светлых скинах вторичная кнопка понимания состояния не должна сливаться тёмной полупрозрачной плашкой с синим текстом. */
html[data-theme]:not([data-theme="cosmic"]) .scale-state-understanding-link {
  border-color: color-mix(in srgb, var(--theme-primary) 56%, var(--theme-line));
  background: color-mix(in srgb, var(--theme-card-solid) 90%, var(--theme-focus));
  color: var(--theme-ink);
}
html[data-theme]:not([data-theme="cosmic"]) .scale-state-understanding-link:hover,
html[data-theme]:not([data-theme="cosmic"]) .scale-state-understanding-link:focus-visible {
  border-color: var(--theme-primary);
  background: color-mix(in srgb, var(--theme-focus) 38%, var(--theme-card-solid));
  color: var(--theme-ink);
}


/* USER-053—055/058: число, полуовал точности и честный пропуск составляют одну компактную управляющую строку. */
.unified-scale.reaction-slider,
.unified-scale.mood-slider {
  display: grid !important;
  grid-template-columns: minmax(6.5rem, 1fr) max-content !important;
  align-items: start !important;
  gap: .38rem !important;
}
.unified-scale.reaction-slider > [data-scale-range],
.unified-scale.mood-slider > [data-scale-range] {
  grid-column: 1 !important;
  grid-row: 1 !important;
  align-self: center !important;
}
.unified-scale.reaction-slider > .scale-control-line,
.unified-scale.mood-slider > .scale-control-line {
  grid-column: 2 !important;
  grid-row: 1 !important;
  display: inline-flex !important;
  align-items: start !important;
  justify-content: flex-end !important;
  gap: 0 !important;
  min-width: 0 !important;
}
.unified-scale .scale-control-line > .scale-manual-wrap {
  position: relative !important;
  z-index: 2 !important;
  display: block !important;
  width: var(--scale-number-width) !important;
  min-width: 0 !important;
  align-self: start !important;
}
.unified-scale .scale-control-line > .scale-manual-wrap > [data-scale-manual] {
  box-sizing: border-box !important;
  width: 100% !important;
  min-height: 2.42rem !important;
  margin: 0 !important;
  padding: .3rem .48rem !important;
  border: 1px solid color-mix(in srgb, var(--theme-primary) 36%, var(--theme-line)) !important;
  border-right-width: 0 !important;
  border-radius: .72rem 0 0 .72rem !important;
  text-align: center !important;
  font-variant-numeric: tabular-nums !important;
}
.unified-scale .scale-control-line > .scale-precision-wrap {
  position: relative !important;
  z-index: 3 !important;
  display: inline-flex !important;
  align-self: start !important;
  align-items: start !important;
  margin: 0 0 0 -1px !important;
}
.unified-scale .scale-control-line .scale-precision-picker--compact,
.unified-scale .scale-control-line .scale-precision-current {
  margin: 0 !important;
  align-self: start !important;
}
.unified-scale .scale-control-line .scale-precision-current {
  box-sizing: border-box !important;
  min-width: 1.24rem !important;
  min-height: 1.18rem !important;
  height: 1.18rem !important;
  padding: .04rem .17rem !important;
  border-left: 0 !important;
  border-radius: 0 999px 999px 0 !important;
  font-size: .61rem !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}
.unified-scale .scale-control-line > .scale-uncertain-link,
.unified-scale .scale-control-line > .scale-unknown-control {
  display: inline-flex !important;
  align-items: center !important;
  align-self: start !important;
  min-height: 1.18rem !important;
  margin: 0 0 0 .42rem !important;
  padding: .08rem .3rem !important;
  border: 1px solid color-mix(in srgb, var(--theme-primary) 33%, var(--theme-line)) !important;
  border-radius: 999px !important;
  background: color-mix(in srgb, var(--theme-card-solid) 88%, var(--theme-focus)) !important;
  color: var(--theme-ink) !important;
  font-size: .68rem !important;
  font-weight: 680 !important;
  line-height: 1.08 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}
.unified-scale .scale-control-line > .scale-unknown-control input { margin: 0 .22rem 0 0 !important; }
.unified-scale .scale-control-line > .scale-unknown-control span { white-space: nowrap; }
.unified-scale.mood-slider.is-unknown > .scale-control-line { opacity: .42 !important; }
@media (max-width: 640px) {
  .unified-scale.reaction-slider,
  .unified-scale.mood-slider { grid-template-columns: minmax(3.3rem, 1fr) max-content !important; gap: .25rem !important; }
  .unified-scale .scale-control-line > .scale-manual-wrap { width: min(var(--scale-number-width), 3.7rem) !important; }
  .unified-scale .scale-control-line > .scale-uncertain-link,
  .unified-scale .scale-control-line > .scale-unknown-control { margin-left: .22rem !important; font-size: .61rem !important; }
}


/* USER-056—057: эмоции — одна спокойная текстовая строка; каталог использует измеренную свободную высоту справа. */
.emotion-editor-standard .emotion-inline {
  flex-wrap: nowrap !important;
  gap: 0 !important;
  min-width: 0 !important;
  overflow-x: auto;
  scrollbar-width: thin;
}
.emotion-editor-standard .emotion-chips { display: contents !important; }
.emotion-editor-standard .emotion-chip {
  position: relative !important;
  display: inline-flex !important;
  flex: 0 0 auto !important;
  align-items: center !important;
  min-height: 1.9rem !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--theme-ink) !important;
  font: inherit !important;
  line-height: 1.32 !important;
  cursor: default !important;
}
.emotion-editor-standard .emotion-chip:hover,
.emotion-editor-standard .emotion-chip:focus-within {
  border: 0 !important;
  background: transparent !important;
  outline: 0 !important;
}
.emotion-editor-standard .emotion-chip-label { white-space: nowrap; }
.emotion-editor-standard .emotion-chip-separator {
  display: inline-block;
  flex: 0 0 3ch;
  width: 3ch;
  min-height: 1.9rem;
  white-space: pre;
}
.emotion-editor-standard .emotion-chip-remove {
  display: inline-grid !important;
  place-items: center !important;
  width: .92rem !important;
  min-width: .92rem !important;
  height: .92rem !important;
  min-height: .92rem !important;
  margin-left: .12rem !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: transparent !important;
  color: #ef646f !important;
  font: 800 1rem/1 system-ui,sans-serif !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transition: opacity .14s ease, background .14s ease !important;
}
.emotion-editor-standard .emotion-chip:hover .emotion-chip-remove,
.emotion-editor-standard .emotion-chip:focus-within .emotion-chip-remove {
  opacity: 1 !important;
  pointer-events: auto !important;
}
.emotion-editor-standard .emotion-chip-remove:hover,
.emotion-editor-standard .emotion-chip-remove:focus-visible { background: color-mix(in srgb, #ef646f 17%, transparent) !important; outline: 1px solid #ef646f !important; }
.emotion-editor-standard .emotion-input-wrap { flex: 0 0 min(12rem, 45vw); min-width: 7.5rem; }
.emotion-editor-standard .emotion-inline [data-emotion-input] { min-width: 100% !important; }
.emotion-editor-standard.emotion-suggestions-side .emotion-suggestions {
  width: var(--emotion-side-width) !important;
  max-width: var(--emotion-side-width) !important;
  height: var(--emotion-side-height) !important;
  max-height: var(--emotion-side-height) !important;
  grid-auto-rows: min-content;
}
@media (max-width: 640px) {
  .emotion-editor-standard .emotion-input-wrap { flex-basis: min(10rem, 44vw); min-width: 6.6rem; }
  .emotion-editor-standard .emotion-chip-separator { flex-basis: 2.2ch; width: 2.2ch; }
}


/* USER-061: после футера остаётся безопасная зона прокрутки над фиксированным табло времени. */
footer::after {
  display: block;
  height: 3.25rem;
  content: "";
}
@media (max-width: 640px) { footer::after { height: 3.7rem; } }


/* USER-070/071: личная динамика и уровни остаются частью спокойной карточки участия. */
.activity-personal-track {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .7rem;
  margin: .85rem 0;
}
.activity-personal-track > div {
  padding: .78rem .84rem;
  border: 1px solid color-mix(in srgb, var(--theme-primary) 23%, var(--theme-line));
  border-radius: 12px;
  background: color-mix(in srgb, var(--theme-card-solid) 87%, var(--theme-focus));
}
.activity-personal-track span,
.activity-personal-track small { display: block; }
.activity-personal-track span { color: var(--theme-muted); font-size: .71rem; font-weight: 750; letter-spacing: .035em; text-transform: uppercase; }
.activity-personal-track strong { display: block; margin-top: .2rem; color: var(--theme-ink); font-size: .98rem; line-height: 1.27; }
.activity-personal-track small { margin-top: .28rem; color: var(--theme-muted); font-size: .76rem; line-height: 1.35; }
@media (max-width: 640px) { .activity-personal-track { grid-template-columns: 1fr; } }


/* USER-064: сохранённые ответы, материалы и текущая норма пула доступны прямо из диагностики. */
.bond-inventory-status {
  display: grid;
  gap: .38rem;
  margin: .78rem 0;
  padding: .75rem .82rem;
  border: 1px solid color-mix(in srgb, var(--theme-primary) 34%, var(--theme-line));
  border-radius: 13px;
  background: color-mix(in srgb, var(--theme-card-solid) 87%, var(--theme-focus));
}
.bond-inventory-status strong { color: var(--theme-ink); }
.bond-inventory-status > span { color: var(--theme-muted); font-size: .82rem; line-height: 1.38; }
.bond-inventory-status .actions { justify-content: flex-start; flex-wrap: wrap; margin-top: .12rem; }


/* USER-075: согласие читается как цельная фраза, а юридические ссылки остаются заметными и доступными. */
.consent-card .consent-agreement { align-items: flex-start !important; }
.consent-card .consent-agreement-text { display: block; min-width: 0; line-height: 1.48; }
.consent-card .consent-agreement-text a {
  color: var(--theme-primary);
  font-weight: 720;
  text-decoration: underline;
  text-decoration-thickness: .08em;
  text-underline-offset: .15em;
}
.consent-card .consent-agreement-text a:focus-visible { outline: 2px solid var(--theme-primary); outline-offset: .16rem; border-radius: .18rem; }


/* USER-052: меню плана даёт прямой доступ к каждому пункту без второй навигации внизу экрана. */
.workspace-plan-items { display: grid; gap: .16rem; max-height: min(48vh, 22rem); margin: .16rem 0 .32rem; overflow-y: auto; overscroll-behavior: contain; }
.action-menu-list .workspace-plan-item { display: grid; gap: .08rem; padding: .46rem .58rem; border: 1px solid transparent; border-radius: 9px; color: inherit; text-decoration: none; }
.action-menu-list a.workspace-plan-item:hover,
.action-menu-list a.workspace-plan-item:focus-visible { border-color: color-mix(in srgb, var(--theme-primary) 55%, var(--theme-line)); background: color-mix(in srgb, var(--theme-focus) 32%, transparent); outline: none; }
.workspace-plan-item strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .82rem; }
.workspace-plan-item small { color: var(--theme-muted); font-size: .68rem; }
.workspace-plan-item.is-completed { opacity: .58; }
.daily-practice-table tr.is-plan-target > * { background: color-mix(in srgb, var(--theme-focus) 24%, var(--theme-card-solid)) !important; }
.daily-practice-phrase-list > li.is-plan-target { border-color: color-mix(in srgb, var(--theme-primary) 64%, var(--theme-line)); box-shadow: 0 0 0 2px color-mix(in srgb, var(--theme-focus) 28%, transparent); }


/* USER-056—057 final: скрытый каталог не резервирует пустую колонку; разделитель между эмоциями — доступная зона удаления. */
.emotion-editor-standard.emotion-suggestions-side .emotion-suggestions[hidden] { display: none !important; }
.emotion-editor-standard .emotion-chip-separator {
  position: relative;
  display: inline-grid !important;
  place-items: center;
  flex: 0 0 3ch;
  width: 3ch;
  min-width: 3ch;
  min-height: 1.9rem;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: .28rem;
  background: transparent;
  color: #ef646f;
  cursor: pointer;
}
.emotion-editor-standard .emotion-chip-separator-space { display: block; width: 3ch; white-space: pre; }
.emotion-editor-standard .emotion-chip-separator-cross {
  position: absolute;
  display: grid;
  place-items: center;
  inset: 0;
  color: #ef646f;
  font: 800 1.08rem/1 system-ui,sans-serif;
  opacity: 0;
  transition: opacity .14s ease;
}
.emotion-editor-standard .emotion-chip-separator:hover .emotion-chip-separator-cross,
.emotion-editor-standard .emotion-chip-separator:focus-visible .emotion-chip-separator-cross { opacity: 1; }
.emotion-editor-standard .emotion-chip-separator:hover .emotion-chip-separator-space,
.emotion-editor-standard .emotion-chip-separator:focus-visible .emotion-chip-separator-space { visibility: hidden; }
.emotion-editor-standard .emotion-chip-separator:focus-visible { outline: 1px solid #ef646f; outline-offset: 1px; }
@media (max-width: 640px) {
  .emotion-editor-standard .emotion-chip-separator { flex-basis: 2.2ch; width: 2.2ch; min-width: 2.2ch; }
  .emotion-editor-standard .emotion-chip-separator-space { width: 2.2ch; }
}


/* USER-056 final: боковой каталог использует только видимую область и не сужает элементы до нечитаемого состояния. */
@media (min-width: 981px) {
  .emotion-editor-standard.emotion-suggestions-side .emotion-suggestions {
    grid-template-columns: repeat(auto-fit, minmax(min(9.5rem, 100%), 1fr)) !important;
    height: min(calc(var(--emotion-side-height) - 4.9rem), calc(100vh - 10rem)) !important;
    max-height: min(calc(var(--emotion-side-height) - 4.9rem), calc(100vh - 10rem)) !important;
  }
}


/* USER-056: при узкой свободной области справа каталог остаётся одноколоночным и читаемым. */
@media (min-width: 981px) {
  .emotion-editor-standard.emotion-suggestions-side--single .emotion-suggestions {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}


/* USER-061 final: две свободные строки создают реальную зону прокрутки после футера поверх фиксированного табло. */
footer::after { height: 8rem; }
@media (max-width: 640px) { footer::after { height: 8.5rem; } }


/* USER-061: на короткой странице минимум две реальные строки прокрутки остаются после футера. */
footer::after { height: 10rem; }
@media (max-width: 640px) { footer::after { height: 10.5rem; } }

/* USER-073/077 visual acceptance: поздний desktop-override не должен возвращать две колонки на мобильном первом экране. */
@media (max-width: 800px) {
  .landing-hero {
    grid-template-columns: minmax(0, 1fr);
    gap: 1.25rem;
    align-items: start;
  }
  .landing-preview {
    justify-self: stretch;
    width: auto;
  }
}
@media (max-width: 520px) {
  .landing-copy h1 {
    max-width: 12.8ch;
    font-size: clamp(2.08rem, 9.4vw, 2.55rem);
    line-height: 1.04;
  }
  .landing-preview-task .actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .55rem;
  }
  .landing-preview-task .actions .button {
    min-width: 0;
    margin-top: 0;
    padding-right: .55rem;
    padding-left: .55rem;
  }
}

/* USER-083: встроенная настройка времени на дэшборде. */
.dashboard-tools .daily-minutes-inline{display:inline-flex;align-items:center;gap:.38rem;margin:0;color:var(--muted);font-size:.9rem}
.daily-minutes-inline .daily-minutes-value{border:0;background:transparent;color:inherit;font:inherit;font-weight:700;padding:.16rem .22rem;border-radius:.42rem;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.daily-minutes-inline .daily-minutes-value:hover,.daily-minutes-inline .daily-minutes-value:focus-visible{background:color-mix(in srgb,var(--accent) 14%,transparent);outline:none}
.daily-minutes-inline .daily-minutes-editor{display:none;align-items:center;gap:.3rem}
.daily-minutes-inline.is-editing .daily-minutes-value{display:none}
.daily-minutes-inline.is-editing .daily-minutes-editor{display:inline-flex}
.daily-minutes-inline .daily-minutes-editor input{width:4.4rem;min-height:2rem;padding:.15rem .38rem;text-align:center}
.daily-minutes-inline .daily-minutes-editor .button{min-height:2rem;padding:.22rem .5rem}
@media (max-width:520px){.dashboard-tools .daily-minutes-inline{font-size:.84rem}.daily-minutes-inline .daily-minutes-editor input{width:3.9rem}}

/* USER-085—090, USER-102—105: компактная форма, многострочные эмоции и каталог по запросу. */
.emotion-editor-standard .emotion-inline{display:flex!important;flex-wrap:wrap!important;align-items:center;column-gap:0!important;row-gap:.16rem!important;overflow:visible!important}
.emotion-editor-standard .emotion-compact-label{display:inline-flex;flex:0 0 auto;align-items:center;white-space:pre;margin-right:3ch!important}
.emotion-editor-standard .emotion-chips{display:contents!important}
.emotion-editor-standard .emotion-chip-unit{display:inline-flex;flex:0 0 auto;align-items:center;min-height:1.9rem;white-space:nowrap}
.emotion-editor-standard .emotion-chip{display:inline-flex!important;flex:0 0 auto!important;align-items:center;min-height:1.9rem!important;white-space:nowrap}
.emotion-editor-standard .emotion-input-wrap{flex:0 1 min(13rem,100%)!important;min-width:7.5rem;margin-left:.12rem}
.emotion-editor-standard .emotion-inline [data-emotion-input]{width:100%!important;min-width:0!important}
.emotion-editor-standard .emotion-chip-separator{flex:0 0 1.1rem!important;width:1.1rem!important;min-width:1.1rem!important;margin:0 .12rem 0 .04rem!important}
.emotion-editor-standard .emotion-chip-separator-space{display:none!important}
.emotion-editor-standard .emotion-chip-separator-cross{opacity:0!important}
.emotion-editor-standard .emotion-chip-unit:hover .emotion-chip-separator-cross,.emotion-editor-standard .emotion-chip-unit:focus-within .emotion-chip-separator-cross{opacity:1!important}
.emotion-editor-standard .emotion-chip-unit:hover .emotion-chip-separator,.emotion-editor-standard .emotion-chip-unit:focus-within .emotion-chip-separator{background:color-mix(in srgb,#ef646f 12%,transparent)!important}
.emotion-quick-suggestions--attached{--emotion-quick-arrow-left:.76rem}
.emotion-quick-suggestions--attached::before{left:calc(var(--emotion-quick-arrow-left) - .36rem)!important}
/* UI-161: полный каталог использует всю свободную область справа от рабочей колонки. */
@media (min-width:981px){.emotion-suggestions.emotion-suggestions-fixed{position:fixed!important;z-index:140!important;left:var(--emotion-side-left)!important;top:var(--emotion-side-top)!important;right:12px!important;bottom:12px!important;width:auto!important;min-width:0!important;max-width:none!important;height:auto!important;max-height:none!important;display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(10.5rem,100%),1fr))!important;grid-auto-rows:min-content!important;align-content:start!important;overflow-y:auto!important;overscroll-behavior:contain!important;scrollbar-gutter:stable}.emotion-suggestions.emotion-suggestions-fixed .emotion-suggestion{width:auto!important;min-width:0!important}}
@media (max-width:980px){.emotion-suggestions.emotion-suggestions-fixed{position:static!important;right:auto!important;bottom:auto!important;width:100%!important;height:auto!important;max-height:min(62vh,38rem)!important}}
.emotion-suggestions.emotion-suggestions-fixed[hidden]{display:none!important}
.unified-scale .scale-control-line>.scale-uncertain-link{min-width:4.55rem!important;max-width:4.9rem!important;justify-content:center!important;white-space:normal!important;text-align:center!important;line-height:1.05!important}
.unified-scale .scale-control-line>.scale-uncertain-link::first-line{line-height:1.05}
@media(max-width:640px){.emotion-editor-standard .emotion-compact-label{margin-right:2ch!important}.emotion-editor-standard .emotion-input-wrap{flex-basis:min(11rem,100%)!important;min-width:6.2rem}.emotion-editor-standard .emotion-chip-separator{margin-right:.05rem!important}.unified-scale .scale-control-line>.scale-uncertain-link{min-width:4.15rem!important;font-size:.6rem!important}}

/* USER-109/113/121: виты и осознанное получение потенциальных наград. */
.vit-rewards { max-width: 1080px; }
.vit-overview { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 20px 0; }
.vit-overview > div, .vit-reward-card, .vit-future { border: 1px solid color-mix(in srgb, var(--line) 82%, var(--teal) 18%); border-radius: 16px; background: color-mix(in srgb, var(--card) 94%, var(--teal) 6%); padding: 16px; }
.vit-overview span, .vit-overview small { display: block; color: var(--muted); }
.vit-overview strong { display: block; font-size: clamp(1.05rem, 2vw, 1.4rem); margin: 5px 0; }
.vit-pending { margin-top: 18px; }
.vit-reward-card { display: flex; justify-content: space-between; gap: 18px; align-items: center; margin: 10px 0; }
.vit-reward-card h2 { margin: 3px 0 6px; font-size: 1.05rem; }
.vit-reward-card p { margin: 0 0 6px; }
.vit-reward-card small { color: var(--muted); }
.vit-reward-card form { display: grid; justify-items: end; gap: 8px; flex: 0 0 auto; }
.vit-reward-card form > strong { color: var(--teal); font-size: 1.08rem; white-space: nowrap; }
.vit-future { margin-top: 18px; }
.vit-future ul { margin: 10px 0 0; padding-left: 20px; }
.vit-future li { margin: 6px 0; }
.vit-claim-feedback { margin: 14px 0; }
@media (max-width: 700px) {
  .vit-overview { grid-template-columns: 1fr; }
  .vit-reward-card { display: grid; }
  .vit-reward-card form { justify-items: start; grid-template-columns: auto auto; align-items: center; }
}

/* Потенциальные виты: одно объединённое уведомление не перекрывает маршрут и ведёт к осознанному получению. */
.activity-points-pop { pointer-events: auto; }
.activity-points-pop a { color: #f3fffd; text-decoration: underline; text-underline-offset: 2px; font-weight: 820; }
.activity-points-pop a:focus-visible { outline: 2px solid #ffdc8a; outline-offset: 3px; border-radius: 4px; }


/* USER-123: промежуточная ширина не должна расширять шапку или экран Интенсивного Ключа. */
@media (min-width:861px) and (max-width:1024px) {
  header { flex-wrap:wrap; gap:.35rem .55rem; padding-top:.42rem; padding-bottom:.42rem; }
  header > .workspace-tabs--header { order:4; width:100%; max-width:100%; margin:0; justify-content:center; }
  .workspace-menu-list { position:fixed; top:4.45rem; left:.65rem; right:.65rem; width:auto; max-height:calc(100vh - 5.2rem); transform-origin:top center; }
  .workspace-menu::after { display:none; }
}

/* USER-123: фоновые псевдоэлементы рабочей области не участвуют в горизонтальной прокрутке. */
main { overflow-x: clip; }

/* UI-160: табло времени не перекрывает карточки на обычных и узких экранах. */
@media (max-width: 1600px) {
  html body .active-practice-timer {
    position: static !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    z-index: auto !important;
    width: min(20.5rem, calc(100vw - 1.3rem)) !important;
    margin: .65rem auto 1rem !important;
  }
}
@media (max-width: 640px) {
  html body .active-practice-timer {
    width: min(19rem, calc(100vw - 1.3rem)) !important;
    margin: .5rem auto .85rem !important;
  }
}

/* USER-132: единый двухстрочный старт и плавное расширение всех многострочных полей. */
textarea:not([data-no-autogrow]) {
  min-height: calc(2 * 1.45em + 1.25rem) !important;
  resize: none !important;
  overflow: hidden;
  transition: height .16s ease;
}
textarea.is-auto-grow { box-sizing: border-box; }

/* USER-137: краткий фактический статус фонового сохранения форм. */
.form-autosave-status {
  min-height: 1.3rem;
  margin: .8rem 0 .45rem;
  color: var(--muted);
  font-size: .9rem;
}
.form-autosave-status[data-state="saving"] { color: var(--teal); }
.form-autosave-status[data-state="saved"] { color: var(--teal); }
.form-autosave-status[data-state="error"] { color: var(--red); }

/* USER-136: tooltip кнопки выхода не зависит от guest-only правил авторизации. */
.member-logout.auth-tooltip { position: relative; }
.member-logout.auth-tooltip::after {
  position: absolute;
  z-index: 120;
  top: calc(100% + .55rem);
  right: 0;
  display: none;
  width: max-content;
  max-width: min(17rem, calc(100vw - 1.2rem));
  padding: .42rem .58rem;
  border: 1px solid color-mix(in srgb, var(--theme-primary) 58%, var(--theme-line));
  border-radius: 9px;
  background: color-mix(in srgb, var(--theme-card-solid) 82%, #080e26 18%);
  box-shadow: 0 .7rem 1.8rem rgba(0,0,0,.34);
  color: var(--theme-ink);
  content: attr(data-help);
  font-size: .75rem;
  font-weight: 650;
  line-height: 1.25;
  pointer-events: none;
  white-space: nowrap;
}
.member-logout.auth-tooltip:hover::after,
.member-logout.auth-tooltip:focus-visible::after { display: block; }
@media (max-width: 640px) {
  .member-logout.auth-tooltip::after { right: -.2rem; max-width: calc(100vw - 1rem); white-space: normal; }
}

/* USER-141: честная альтернатива выровнена с нижней гранью числового поля. */
.unified-scale .scale-control-line > .scale-uncertain-link,
.unified-scale .scale-control-line > .scale-unknown-control {
  align-self: end !important;
}

/* USER-138: тематические палитры с высокой читаемостью и спокойным настроением. */
html[data-theme="spring"] { --theme-bg:#eef9ec; --theme-card:rgba(255,255,250,.94); --theme-card-solid:#fffef9; --theme-ink:#173d2b; --theme-muted:#4e7160; --theme-line:#b9d9bd; --theme-primary:#287951; --theme-secondary:#73b94d; --theme-focus:rgba(111,185,75,.23); --theme-tooltip:linear-gradient(145deg,#276e4d,#628f3f); --theme-shadow:0 15px 33px rgba(52,109,68,.15); }
html[data-theme="new-year"] { --theme-bg:#0d2d2a; --theme-card:rgba(17,58,51,.94); --theme-card-solid:#153c35; --theme-ink:#fff9e9; --theme-muted:#d4e0cf; --theme-line:rgba(201,223,189,.37); --theme-primary:#dcb95d; --theme-secondary:#3ba779; --theme-focus:rgba(220,185,93,.24); --theme-tooltip:linear-gradient(145deg,#1b6253,#7b2535); --theme-shadow:0 19px 40px rgba(2,22,18,.47); }
html[data-theme="playful"] { --theme-bg:#fff1f5; --theme-card:rgba(255,253,250,.96); --theme-card-solid:#fffdf9; --theme-ink:#402246; --theme-muted:#694c73; --theme-line:#e5b8d1; --theme-primary:#7a3f93; --theme-secondary:#dd587e; --theme-focus:rgba(221,88,126,.19); --theme-tooltip:linear-gradient(145deg,#703c91,#c94e74); --theme-shadow:0 15px 33px rgba(134,58,105,.16); }
html[data-theme="autumn"] { --theme-bg:#f4ead7; --theme-card:rgba(255,251,243,.95); --theme-card-solid:#fffaf1; --theme-ink:#50301f; --theme-muted:#786047; --theme-line:#dec09a; --theme-primary:#9b4e22; --theme-secondary:#c98429; --theme-focus:rgba(194,120,40,.20); --theme-tooltip:linear-gradient(145deg,#934824,#bd7627); --theme-shadow:0 16px 35px rgba(105,57,25,.17); }
html[data-theme="marine"] { --theme-bg:#e6f6f5; --theme-card:rgba(253,255,254,.95); --theme-card-solid:#fbffff; --theme-ink:#123e54; --theme-muted:#527789; --theme-line:#b6dae1; --theme-primary:#0d7d93; --theme-secondary:#2aa99c; --theme-focus:rgba(42,169,156,.20); --theme-tooltip:linear-gradient(145deg,#126e88,#278f91); --theme-shadow:0 16px 35px rgba(13,103,126,.16); }
html[data-theme="technology"] { --theme-bg:#07131d; --theme-card:rgba(13,29,42,.94); --theme-card-solid:#102637; --theme-ink:#ebf7ff; --theme-muted:#a4c0d1; --theme-line:rgba(105,181,207,.33); --theme-primary:#31c6f4; --theme-secondary:#91d448; --theme-focus:rgba(49,198,244,.21); --theme-tooltip:linear-gradient(145deg,#123d59,#27596a); --theme-shadow:0 19px 42px rgba(0,5,11,.48); }
html[data-theme="telegram"] { --theme-bg:#eaf4fb; --theme-card:rgba(255,255,255,.96); --theme-card-solid:#ffffff; --theme-ink:#1d3648; --theme-muted:#5d7789; --theme-line:#c5dce9; --theme-primary:#2489dc; --theme-secondary:#61b5f0; --theme-focus:rgba(36,137,220,.20); --theme-tooltip:linear-gradient(145deg,#237dcc,#55a7e5); --theme-shadow:0 14px 30px rgba(37,105,147,.15); }

html[data-theme="spring"] body::before { opacity:.33; background-image:radial-gradient(ellipse at 20% 30%,rgba(74,155,70,.34) 0 3px,transparent 3.8px),radial-gradient(ellipse at 72% 20%,rgba(134,191,68,.38) 0 3px,transparent 3.9px),radial-gradient(ellipse at 52% 76%,rgba(66,135,77,.25) 0 2.3px,transparent 3px); background-size:147px 167px,203px 217px,173px 191px; }
html[data-theme="new-year"] body::before { opacity:.34; background-image:radial-gradient(circle at 16% 19%,rgba(255,255,255,.92) 0 1px,transparent 1.8px),radial-gradient(circle at 63% 32%,rgba(226,244,235,.75) 0 1.5px,transparent 2.3px),radial-gradient(circle at 80% 76%,rgba(255,238,177,.7) 0 1px,transparent 1.9px); background-size:107px 121px,171px 193px,149px 161px; }
html[data-theme="playful"] body::before { opacity:.26; background-image:radial-gradient(circle at 14% 22%,#ee8aa8 0 2.2px,transparent 3px),radial-gradient(circle at 67% 14%,#75c9ae 0 2px,transparent 2.8px),radial-gradient(circle at 52% 78%,#f0ac50 0 1.9px,transparent 2.8px); background-size:137px 153px,191px 207px,163px 181px; }
html[data-theme="autumn"] body::before { opacity:.3; background-image:radial-gradient(ellipse at 18% 20%,rgba(176,83,31,.38) 0 3px,transparent 3.8px),radial-gradient(ellipse at 76% 22%,rgba(209,140,42,.38) 0 3.2px,transparent 4px),radial-gradient(ellipse at 45% 78%,rgba(144,66,27,.28) 0 2.5px,transparent 3.2px); background-size:149px 177px,215px 235px,183px 201px; }
html[data-theme="marine"] body::before { opacity:.26; background-image:repeating-radial-gradient(ellipse at 20% 112%,rgba(24,139,160,.22) 0 1px,transparent 1px 14px),repeating-radial-gradient(ellipse at 78% 108%,rgba(37,172,157,.19) 0 1px,transparent 1px 16px); background-size:260px 120px,310px 130px; }
html[data-theme="technology"] body::before { opacity:.25; background-image:linear-gradient(rgba(47,198,244,.16) 1px,transparent 1px),linear-gradient(90deg,rgba(47,198,244,.13) 1px,transparent 1px),radial-gradient(circle at 72% 18%,rgba(145,212,72,.44) 0 1.4px,transparent 2px); background-size:34px 34px,34px 34px,184px 204px; }
html[data-theme="telegram"] body::before { opacity:.18; background-image:radial-gradient(circle at 18% 18%,rgba(46,151,229,.36) 0 1.4px,transparent 2.2px),radial-gradient(circle at 72% 76%,rgba(92,183,239,.28) 0 1.5px,transparent 2.3px); background-size:170px 190px,221px 241px; }

html[data-theme]:not([data-theme="cosmic"]) .member-name,
html[data-theme]:not([data-theme="cosmic"]) .brand-menu-toggle,
html[data-theme]:not([data-theme="cosmic"]) .workspace-menu-toggle,
html[data-theme]:not([data-theme="cosmic"]) .member-logout { color:var(--theme-ink); }
html[data-theme="playful"] .workspace-menu.is-active .workspace-tab,
html[data-theme="playful"] .workspace-menu.is-active .workspace-menu-toggle { color:#fff; }

/* USER-126: в полном плане название и пояснение не сливаются в одну строку. */
.daily-companion-plan .plan-step > a,
.daily-companion-plan .plan-step > strong { display:block; }
.daily-companion-plan .plan-step strong { display:block; color:inherit; line-height:1.32; }
.daily-companion-plan .plan-step small { display:block; margin-top:.13rem; color:var(--theme-muted); font-size:.78rem; line-height:1.32; }
.daily-companion-plan .plan-step--done strong { text-decoration:line-through; }

/* USER-142: табло всегда видно справа на широком экране; колонка заранее оставляет ему место. */
@media (min-width: 1200px) {
  html body .active-practice-timer {
    position: fixed !important;
    top: auto !important;
    right: 1rem !important;
    bottom: 1rem !important;
    left: auto !important;
    z-index: 40 !important;
    margin: 0 !important;
  }
  main {
    width: auto;
    max-width: 70rem;
    margin-left: 6vw;
    margin-right: 22rem;
  }
}


/* USER-141: спокойная, не громоздкая типографика проверки потенциального триггера. */
.suggestion-review > h1 {
  max-width: 24ch;
  font-size: clamp(1.42rem, 2.25vw, 1.82rem);
  line-height: 1.16;
  letter-spacing: -.018em;
  font-weight: 760;
}
.suggestion-review label:has(#suggestion-trigger) {
  color: #dcecff;
  font-size: .94rem;
  font-weight: 720;
}
.suggestion-review #suggestion-trigger {
  font-size: clamp(.96rem, 1.7vw, 1.05rem);
  line-height: 1.46;
  font-weight: 510;
}
@media (max-width: 640px) {
  .suggestion-review > h1 { max-width: none; font-size: clamp(1.34rem, 7.2vw, 1.62rem); }
  .suggestion-review #suggestion-trigger { font-size: .96rem; }
}


/* USER-146: mobile-first — карточки входа и регистрации не наследуют intrinsic desktop-ширину grid-полей. */
@media (max-width: 640px) {
  .form-card.auth-card {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }
  .auth-card .auth-form,
  .auth-card .auth-form > label {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }
  .auth-card .auth-form input:not([type="radio"]):not([type="checkbox"]),
  .auth-card .auth-form textarea,
  .auth-card .auth-form select {
    min-width: 0;
    max-width: 100%;
  }
}


/* USER-146: длинные согласия регистрации переносятся внутри ширины телефона, а не выталкивают legal-ссылку. */
@media (max-width: 640px) {
  .auth-card .auth-form .check {
    display: block !important;
    min-width: 0;
    overflow-wrap: anywhere;
  }
  .auth-card .auth-form .check input[type="checkbox"] {
    float: left;
    margin: .35rem .5rem .15rem 0;
  }
  .auth-card .auth-form .check::after {
    display: block;
    clear: both;
    content: "";
  }
  .auth-card .auth-form .check a { overflow-wrap: anywhere; }
}


/* USER-146: действия в заголовках разделов свободно переносятся на узком телефоне. */
@media (max-width: 640px) {
  .page-head > .actions {
    width: 100%;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: stretch;
  }
  .page-head > .actions > .button { min-height: 2.7rem; }
}


/* USER-146: обычные группы действий не выходят за край телефона и сохраняют все варианты действия. */
@media (max-width: 640px) {
  .actions {
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: stretch;
  }
  .actions > .button,
  .actions > form > .button { min-height: 2.7rem; }
}


/* USER-147: узкая mobile-шапка сохраняет названия обеих рабочих вкладок при любой доступной ширине, а не обрезает их. */
@media (max-width: 640px) {
  header > .workspace-tabs--header {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
    max-width: none;
    gap: .34rem;
    margin: 0;
    padding: .28rem;
  }
  header > .workspace-tabs--header .workspace-menu {
    display: flex;
    width: 100%;
    min-width: 0;
  }
  header > .workspace-tabs--header .workspace-tab {
    flex: 1 1 auto;
    min-width: 0;
    min-height: 2.55rem;
    padding: .36rem .3rem;
    overflow-wrap: anywhere;
    text-align: center;
    text-wrap: balance;
    white-space: normal;
  }
  header > .workspace-tabs--header .workspace-menu-toggle {
    flex: 0 0 1.82rem;
    width: 1.82rem;
    min-width: 1.82rem;
  }

  .next-action {
    margin: .9rem 0;
    padding: 1rem 1.05rem;
  }
  .next-action .step { font-size: .68rem; }
  .next-action h2 {
    margin: .28rem 0 .45rem;
    font-size: clamp(1.34rem, 6.3vw, 1.58rem);
    line-height: 1.14;
    letter-spacing: -.035em;
    text-wrap: balance;
  }
  .next-action p {
    margin: 0 0 .85rem;
    font-size: .94rem;
    line-height: 1.43;
  }
  .next-action .actions { gap: .45rem; }
  .next-action .actions > .button { flex: 1 1 9.4rem; }
}


/* USER-147: на реальном Android бренд и иконки аккаунта не разъезжаются на высокие строки при увеличенном системном тексте. */
@media (max-width: 640px) {
  header:has(.member-nav) {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas:
      "brand account"
      "tabs tabs";
    align-items: center;
    gap: .38rem .52rem;
    padding: .42rem .65rem .48rem;
  }
  header:has(.member-nav) > .brand {
    grid-area: brand;
    min-width: 0;
  }
  header:has(.member-nav) > .member-nav {
    grid-area: account;
    flex-wrap: nowrap;
    margin-left: 0;
    justify-self: end;
  }
  header:has(.member-nav) > .workspace-tabs--header {
    grid-area: tabs;
    order: initial;
  }
  header:has(.member-nav) .brand-link {
    display: inline-block;
    max-width: 100%;
    overflow: hidden;
    font-size: clamp(1rem, 5.15vw, 1.22rem);
    text-overflow: ellipsis;
    vertical-align: middle;
    white-space: nowrap;
  }
  header:has(.member-nav) .brand-menu-toggle {
    flex: 0 0 auto;
  }
}
.screening-focus .focus-buttons{display:flex;flex-wrap:wrap;gap:.5rem}.screening-focus{margin-bottom:1rem}
.screening-focus fieldset{border:1px solid rgba(127,127,127,.25);border-radius:12px;padding:.5rem .8rem;margin:.5rem 0}.screening-focus legend{padding:0 .3rem}.focus-subs{display:flex;flex-wrap:wrap;gap:.3rem 1rem;font-size:.92em}.focus-subs label,.screening-focus legend label{display:inline-flex;align-items:center;gap:.35rem;min-height:30px}
