* { margin: 0; padding: 0; box-sizing: border-box; }
html, body { height: 100%; }

body {
  font-family: 'Tenor Sans', sans-serif;
  background: #0c0c0c;
  color: #fff;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

/* === SCREENS === */
.screen {
  display: none;
  min-height: 100vh;
  position: relative;
}
.screen.active { display: block; }

.page {
  max-width: 580px;
  width: 100%;
  margin: 0 auto;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 32px;
  padding: 36px 24px;
  position: relative;
  z-index: 2;
}

/* === BG (screen 1) === */
.bg { position: fixed; top:0;left:0;right:0;bottom:0; z-index:0; }
.bg-img { width:100%;height:100%; background-size:cover; background-position:center; opacity:0.18; }
.bg-overlay {
  position:fixed; top:0;left:0;right:0;bottom:0; z-index:1; pointer-events:none;
  background: linear-gradient(180deg, rgba(12,12,12,0.2) 0%, rgba(12,12,12,0.5) 35%, rgba(12,12,12,0.85) 65%, rgba(12,12,12,0.95) 100%);
}

/* === HEADER (screen 1) === */
.header { text-align:center; display:flex; flex-direction:column; align-items:center; gap:16px; }
.title-row { display:flex; align-items:center; gap:20px; }
.logo { width:64px; height:auto; }
.title {
  font-family:'Playfair Display',serif; font-size:clamp(42px,10vw,72px);
  font-weight:900; line-height:0.95; text-transform:uppercase; letter-spacing:3px; color:#fff; text-align:left;
}
.title-line { display:block; }
.title-accent { color:#c0392b; }
.subtitle { font-family:'Playfair Display',serif; font-size:17px; font-weight:400; font-style:italic; line-height:1.6; color:rgba(255,255,255,0.7); }

/* === STEPS === */
.rule { width:80px; height:1px; background:linear-gradient(90deg,transparent,rgba(192,57,43,0.5),transparent); }
.steps { width:100%; display:flex; flex-direction:column; }
.step { display:flex; gap:20px; align-items:center; padding:14px 0; border-bottom:1px solid rgba(255,255,255,0.05); }
.step:first-child { border-top:1px solid rgba(255,255,255,0.05); }
.step-num {
  font-family:'Playfair Display',serif; font-size:16px; font-weight:700; color:#c0392b;
  width:42px; height:42px; min-width:42px; display:flex; align-items:center; justify-content:center;
  border:1.5px solid rgba(192,57,43,0.45); border-radius:50%;
}
.step-text { font-size:15px; line-height:1.5; color:#fff; }

/* === CTA === */
.cta {
  padding:18px 56px; background:#c0392b; border:none; color:#fff;
  font-family:'Playfair Display',serif; font-size:16px; font-weight:700;
  text-transform:uppercase; letter-spacing:2px; cursor:pointer;
  transition:all 0.3s; position:relative; overflow:hidden;
}
.cta::before {
  content:''; position:absolute; top:0; left:-100%; width:100%; height:100%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,0.08),transparent);
  transition:left 0.5s;
}
.cta:hover::before { left:100%; }
.cta:hover { background:#a93226; transform:translateY(-1px); box-shadow:0 6px 24px rgba(192,57,43,0.3); }
.cta:active { transform:translateY(0); }
.cta-disabled { opacity:0.4; pointer-events:none; }

.footer-note { text-align:center; font-size:11px; letter-spacing:2px; text-transform:uppercase; color:rgba(255,255,255,0.2); line-height:1.8; }

/* === MODAL === */
.modal-overlay {
  display:none; position:fixed; top:0;left:0;right:0;bottom:0;
  background:rgba(0,0,0,0.92); backdrop-filter:blur(10px);
  z-index:100; align-items:center; justify-content:center; padding:24px;
}
.modal-overlay.active { display:flex; }
.modal {
  position:relative; width:100%; max-width:420px; background:#141414;
  border:1px solid rgba(192,57,43,0.2); padding:48px 36px;
  display:flex; flex-direction:column; align-items:center; gap:32px;
  max-height:85vh; overflow-y:auto;
}
.modal-rule { width:40px; height:2px; background:#c0392b; }
.modal-title { font-family:'Playfair Display',serif; font-size:26px; font-weight:700; text-transform:uppercase; letter-spacing:2px; }
.modal-form { width:100%; display:flex; flex-direction:column; gap:18px; }
.modal-form input[type="text"], .modal-form input[type="email"], .modal-form input[type="tel"] {
  width:100%; padding:14px 0; background:none; border:none;
  border-bottom:1px solid rgba(255,255,255,0.12); color:#fff;
  font-family:'Tenor Sans',sans-serif; font-size:16px; outline:none; transition:border-color 0.3s;
}
.modal-form input::placeholder { color:rgba(255,255,255,0.3); }
.modal-form input:focus { border-bottom-color:#c0392b; }
.modal-submit {
  margin-top:4px; width:100%; padding:16px; background:#c0392b; border:none; color:#fff;
  font-family:'Playfair Display',serif; font-size:16px; font-weight:700;
  text-transform:uppercase; letter-spacing:2px; cursor:pointer; transition:background 0.3s;
}
.modal-submit:hover { background:#a93226; }
.modal-close { position:absolute; top:14px; right:18px; background:none; border:none; color:rgba(255,255,255,0.25); font-size:26px; cursor:pointer; transition:color 0.3s; }
.modal-close:hover { color:#fff; }

/* Modal tabs */
.modal-tabs { display:flex; gap:0; width:100%; }
.modal-tab {
  flex:1; padding:12px 0; background:none; border:none; border-bottom:2px solid rgba(255,255,255,0.06);
  color:rgba(255,255,255,0.35); font-family:'Tenor Sans',sans-serif; font-size:14px;
  letter-spacing:1px; text-transform:uppercase; cursor:pointer; transition:all 0.2s;
}
.modal-tab:hover { color:rgba(255,255,255,0.6); }
.modal-tab.active { color:#fff; border-bottom-color:#c0392b; }

.modal-pane { display:none; width:100%; }
.modal-pane.active { display:block; }

.modal-pane-title { font-family:'Playfair Display',serif; font-size:20px; font-weight:700; text-align:center; margin-bottom:20px; }

.modal-error { font-size:13px; color:#c0392b; text-align:center; min-height:18px; }
.modal-error.success-msg { color:#d4af37; }

.modal-link { font-size:13px; color:rgba(255,255,255,0.35); text-decoration:underline; text-underline-offset:2px; cursor:pointer; text-align:center; display:block; transition:color 0.2s; }
.modal-link:hover { color:#fff; }

.modal-form input[type="password"] {
  width:100%; padding:14px 0; background:none; border:none;
  border-bottom:1px solid rgba(255,255,255,0.12); color:#fff;
  font-family:'Tenor Sans',sans-serif; font-size:16px; outline:none; transition:border-color 0.3s;
}
.modal-form input[type="password"]::placeholder { color:rgba(255,255,255,0.3); }
.modal-form input[type="password"]:focus { border-bottom-color:#c0392b; }

/* Admin link */
.admin-link { position:fixed; bottom:12px; right:16px; font-size:14px; color:rgba(255,255,255,0.06); text-decoration:none; z-index:5; transition:color 0.3s; }
.admin-link:hover { color:rgba(255,255,255,0.2); }
.logout-link { position:fixed; top:16px; right:20px; font-size:20px; color:rgba(255,255,255,0.2); text-decoration:none; z-index:5; cursor:pointer; transition:color 0.3s; }
.logout-link:hover { color:rgba(255,255,255,0.6); }

.checkbox-row { display:flex; align-items:flex-start; gap:10px; }
.checkbox-row input[type="checkbox"] {
  appearance:none; -webkit-appearance:none; width:18px; height:18px; min-width:18px;
  border:1px solid rgba(255,255,255,0.2); border-radius:3px; background:transparent;
  cursor:pointer; margin-top:2px; position:relative; transition:all 0.2s;
}
.checkbox-row input[type="checkbox"]:checked { background:#c0392b; border-color:#c0392b; }
.checkbox-row input[type="checkbox"]:checked::after { content:'✓'; position:absolute; top:50%;left:50%; transform:translate(-50%,-50%); color:#fff; font-size:12px; }
.checkbox-row label { font-size:13px; color:rgba(255,255,255,0.4); line-height:1.5; cursor:pointer; }
.checkbox-row label a { color:rgba(255,255,255,0.6); text-decoration:underline; text-underline-offset:2px; }
.checkbox-row label a:hover { color:#fff; }

.modal-success { display:none; text-align:center; flex-direction:column; align-items:center; gap:20px; }
.modal-success.active { display:flex; }
.modal-success-icon { font-size:48px; }
.modal-success-title { font-family:'Playfair Display',serif; font-size:22px; font-weight:700; line-height:1.4; }
.modal-success-text { font-size:15px; color:rgba(255,255,255,0.6); line-height:1.6; }

/* Текст на экране "Проверьте почту" после сохранения прогресса */
.save-success-text { color:rgba(255,255,255,0.5); }
.save-success-sub { color:rgba(255,255,255,0.35); }

/* === TOP BAR === */
.top-bar { display:flex; align-items:center; gap:14px; }
.top-logo { width:36px; height:36px; object-fit:contain; }
.top-title { font-family:'Playfair Display',serif; font-size:18px; font-weight:700; text-transform:uppercase; letter-spacing:3px; }
.top-title span { color:#c0392b; }

/* === BATTLE (screen 2) === */
.battle { width:100%; display:flex; align-items:center; justify-content:center; }
.fighter { flex:1; display:flex; flex-direction:column; align-items:center; gap:14px; padding:16px 8px; }
.fighter-photo { width:130px; height:130px; border-radius:50%; object-fit:cover; border:2px solid rgba(255,255,255,0.1); }
.fighter-name { font-family:'Playfair Display',serif; font-size:20px; font-weight:700; text-align:center; }
.fighter-role { font-size:13px; color:#d4c5a0; text-align:center; line-height:1.4; }
.swords-col { display:flex; align-items:center; justify-content:center; padding:0 4px; }
.swords-img { width:100px; height:auto; opacity:0.6; }
.vs-badge { font-family:'Tenor Sans',sans-serif; font-weight:700; font-size:20px; color:rgba(255,255,255,0.5); letter-spacing:2px; }

.rules-section { width:100%; max-width:480px; display:flex; flex-direction:column; align-items:flex-start; gap:20px; }
.rules-title { font-family:'Playfair Display',serif; font-size:20px; font-weight:700; color:#d4c5a0; text-transform:uppercase; letter-spacing:1px; }
.rules { width:100%; display:flex; flex-direction:column; }
.rule-item { display:flex; gap:16px; align-items:center; padding:12px 0; border-bottom:1px solid rgba(255,255,255,0.05); }
.rule-item:first-child { border-top:1px solid rgba(255,255,255,0.05); }
.rule-diamond { width:8px; height:8px; min-width:8px; background:#c0392b; transform:rotate(45deg); }
.rule-text { font-size:15px; line-height:1.5; color:#fff; }

/* === ROUND INTRO (screen 3) === */
.round-label {
  font-family:'Playfair Display',serif; font-size:clamp(36px,8vw,56px);
  font-weight:900; text-transform:uppercase; letter-spacing:4px; text-align:center;
}
.round-label span { color:#c0392b; }
.artwork { width:100%; border-radius:4px; overflow:hidden; }
.artwork img { width:100%; height:auto; display:block; }
.composition { width:100%; display:flex; flex-direction:column; gap:16px; }
.comp-title { font-family:'Playfair Display',serif; font-size:22px; font-weight:700; line-height:1.4; }
.comp-title em { font-style:italic; font-weight:400; }
.comp-description { font-size:15px; line-height:1.7; color:#d4c5a0; }

/* === CHOOSE (screen 4) === */
.header-center { text-align:center; display:flex; flex-direction:column; align-items:center; gap:16px; }
.round-badge { font-family:'Playfair Display',serif; font-size:13px; font-weight:700; text-transform:uppercase; letter-spacing:3px; color:#c0392b; }
.question { font-family:'Playfair Display',serif; font-size:clamp(22px,5vw,30px); font-weight:700; line-height:1.4; }
.question em { font-style:italic; font-weight:400; }

.audio-player { width:100%; max-width:400px; display:flex; align-items:center; gap:12px; }
.play-btn {
  width:44px; height:44px; min-width:44px; border-radius:50%; border:1.5px solid rgba(192,57,43,0.5);
  background:transparent; color:#c0392b; font-size:16px; cursor:pointer; transition:all 0.2s;
  display:flex; align-items:center; justify-content:center;
}
.play-btn:hover { background:rgba(192,57,43,0.1); }
.progress-bar { flex:1; height:4px; background:rgba(255,255,255,0.08); border-radius:2px; overflow:hidden; cursor:pointer; }
.progress-fill { height:100%; width:0; background:#c0392b; border-radius:2px; transition:width 0.1s linear; }
.time-display { font-size:13px; color:rgba(255,255,255,0.35); min-width:80px; text-align:right; }

.emotions { width:100%; display:flex; flex-wrap:wrap; gap:10px; justify-content:center; }
.emotion-btn {
  padding:14px 24px; background:transparent; border:1.5px solid rgba(255,255,255,0.12);
  border-radius:4px; color:#fff; font-family:'Tenor Sans',sans-serif; font-size:15px;
  cursor:pointer; transition:all 0.25s; user-select:none;
}
.emotion-btn:hover { border-color:rgba(255,255,255,0.3); background:rgba(255,255,255,0.04); }
.emotion-btn.selected { border-color:#c0392b; background:rgba(192,57,43,0.15); box-shadow:0 0 16px rgba(192,57,43,0.15); }

/* === RESULT (screen 5) === */
.scoreboard { width:100%; display:flex; align-items:center; justify-content:center; }
.player { flex:1; display:flex; flex-direction:column; align-items:center; gap:10px; }
.player-photo { width:90px; height:90px; border-radius:50%; object-fit:cover; border:2px solid rgba(255,255,255,0.1); }
.player-photo.winner { border-color:#d4af37; box-shadow:0 0 20px rgba(212,175,55,0.25); }
.player-name { font-family:'Playfair Display',serif; font-size:16px; font-weight:700; text-align:center; }
.player-choice { font-size:12px; color:#d4c5a0; text-align:center; }
.player-score { font-family:'Playfair Display',serif; font-size:48px; font-weight:900; line-height:1; }
.player-score.winner { color:#d4af37; }
.player-score-label { font-size:11px; text-transform:uppercase; letter-spacing:2px; color:rgba(255,255,255,0.3); }

.breakdown { width:100%; display:flex; flex-direction:column; gap:16px; }
.breakdown-title { font-family:'Playfair Display',serif; font-size:18px; font-weight:700; color:#d4c5a0; text-transform:uppercase; letter-spacing:1px; }
.breakdown-list { display:flex; flex-direction:column; gap:6px; }
.breakdown-row { display:flex; align-items:center; gap:12px; }
.breakdown-label { min-width:120px; font-size:14px; color:rgba(255,255,255,0.6); text-align:right; }
.breakdown-label.hl { color:#fff; font-weight:600; }
.breakdown-bar-bg { flex:1; height:22px; background:rgba(255,255,255,0.04); border-radius:2px; overflow:hidden; }
.breakdown-bar { height:100%; background:rgba(255,255,255,0.12); border-radius:2px; }
.breakdown-bar.hl { background:#c0392b; }
.breakdown-val { min-width:32px; font-size:14px; color:rgba(255,255,255,0.4); font-weight:500; }
.breakdown-val.hl { color:#fff; }

.result { text-align:center; display:flex; flex-direction:column; align-items:center; gap:8px; }
.result-text { font-family:'Playfair Display',serif; font-size:28px; font-weight:900; text-transform:uppercase; letter-spacing:3px; color:#d4af37; }
.result-text.lost { color:#c0392b; }
.result-sub { font-size:14px; color:rgba(255,255,255,0.4); }

/* === FINAL (screen 6) === */
.final-score { text-align:center; display:flex; flex-direction:column; align-items:center; gap:12px; }
.final-verdict { font-family:'Playfair Display',serif; font-size:clamp(32px,7vw,48px); font-weight:900; text-transform:uppercase; letter-spacing:3px; color:#d4af37; line-height:1.1; }
.final-verdict.lost { color:#c0392b; }
.final-numbers { font-family:'Playfair Display',serif; font-size:20px; font-weight:400; color:rgba(255,255,255,0.5); letter-spacing:2px; }

.message-flow { width:100%; display:flex; flex-direction:column; gap:28px; }
.msg { font-family:'Playfair Display',serif; font-size:19px; font-weight:400; line-height:1.7; }
.msg em { font-style:italic; }
.msg strong { font-weight:700; color:#d4c5a0; }
.msg-keynote { font-size:24px; font-weight:700; text-align:center; color:#fff; padding:20px 0; border-top:1px solid rgba(192,57,43,0.3); border-bottom:1px solid rgba(192,57,43,0.3); margin:8px 0; }
.msg-highlight { font-family:'Playfair Display',serif; font-size:22px; font-weight:700; line-height:1.5; color:#d4c5a0; }

.cta-group { width:100%; display:flex; flex-direction:column; align-items:center; gap:14px; }
.cta-primary {
  width:100%; max-width:400px; padding:18px 32px; background:#c0392b; border:none; color:#fff;
  font-family:'Playfair Display',serif; font-size:16px; font-weight:700;
  text-transform:uppercase; letter-spacing:2px; cursor:pointer; transition:all 0.3s;
  position:relative; overflow:hidden;
}
.cta-primary::before { content:''; position:absolute; top:0; left:-100%; width:100%; height:100%; background:linear-gradient(90deg,transparent,rgba(255,255,255,0.08),transparent); transition:left 0.5s; }
.cta-primary:hover::before { left:100%; }
.cta-primary:hover { background:#a93226; transform:translateY(-1px); box-shadow:0 6px 24px rgba(192,57,43,0.3); }
.cta-secondary {
  width:100%; max-width:400px; padding:16px 32px; background:transparent;
  border:1.5px solid rgba(255,255,255,0.15); color:#fff;
  font-family:'Playfair Display',serif; font-size:15px; font-weight:700;
  text-transform:uppercase; letter-spacing:2px; cursor:pointer; transition:all 0.3s;
}
.cta-secondary:hover { border-color:rgba(255,255,255,0.35); background:rgba(255,255,255,0.04); }
.leaderboard-link { margin-top:4px; font-size:14px; color:rgba(255,255,255,0.35); text-decoration:underline; text-underline-offset:3px; cursor:pointer; transition:color 0.2s; }
.leaderboard-link:hover { color:#d4c5a0; }

/* === ПРОФИЛЬ / КАБИНЕТ === */
.profile-menu-item {
  display:block; width:100%; padding:14px 16px;
  background:none; border:none; border-bottom:1px solid rgba(255,255,255,0.06);
  color:rgba(255,255,255,0.75); font-family:'Tenor Sans',sans-serif; font-size:14px;
  text-align:left; cursor:pointer; transition:background 0.15s;
}
.profile-menu-item:last-child { border-bottom:none; }
.profile-menu-item:hover { background:rgba(255,255,255,0.05); }

/* === Плитка каталога дней === */
.day-tile {
  aspect-ratio:1; border-radius:14px; display:flex; flex-direction:column;
  align-items:center; justify-content:center; gap:6px; cursor:pointer;
  border:1px solid rgba(255,255,255,0.08); background:rgba(255,255,255,0.04);
  transition:transform 0.15s, background 0.15s; font-size:12px; padding:8px;
}
.day-tile:hover:not(.day-locked) { transform:translateY(-2px); background:rgba(255,255,255,0.08); }
.day-tile.day-locked { opacity:0.35; cursor:default; }
.day-tile.day-done { border-color:rgba(110,187,138,0.4); background:rgba(110,187,138,0.08); }
.day-tile .day-num { font-family:'Playfair Display',serif; font-size:20px; font-weight:700; line-height:1; }
.day-tile .day-label { color:rgba(255,255,255,0.5); font-size:11px; }
.day-tile .day-check { color:#6EBB8A; font-size:16px; }

@keyframes pop { 0%{transform:scale(0)} 70%{transform:scale(1.15)} 100%{transform:scale(1)} }

/* === RESPONSIVE === */
@media (max-width:520px) {
  .page { padding:24px 16px; gap:24px; }
  .title-row { gap:14px; }
  .logo { width:48px; }
  .step { padding:12px 0; gap:16px; }
  .step-num { width:38px; height:38px; min-width:38px; font-size:14px; }
  .step-text { font-size:14px; }
  .cta { padding:16px 40px; font-size:14px; }
  .fighter-photo { width:100px; height:100px; }
  .fighter-name { font-size:17px; }
  .swords-img { width:70px; }
  .player-photo { width:72px; height:72px; }
  .player-score { font-size:36px; }
  .breakdown-label { min-width:90px; font-size:13px; }
  .emotion-btn { padding:12px 18px; font-size:14px; }
  .modal { padding:28px 20px; gap:24px; max-height:90vh; overflow-y:auto; }
  .modal-overlay { padding:16px; align-items:flex-start; padding-top:5vh; }
  .modal-title { font-size:20px; letter-spacing:1px; }
  .modal-form input[type="text"], .modal-form input[type="email"], .modal-form input[type="tel"], .modal-form input[type="password"] { font-size:16px; }
  .modal-submit { font-size:14px; padding:14px; }
  .modal-tab { font-size:12px; padding:10px 0; }
  .msg { font-size:17px; }
  .msg-highlight { font-size:19px; }
  .msg-keynote { font-size:20px; }
  .cta-primary, .cta-secondary { padding:16px 24px; font-size:14px; }
}

/* === Landing B: персонализированный === */
.landing-b-page { gap:24px; }
.landing-b-content { text-align:left; width:100%; }
.landing-b-title {
  font-family:'Playfair Display',serif; font-size:clamp(32px,8vw,48px);
  font-weight:900; line-height:1.15; color:#fff; margin-bottom:16px;
}
.landing-b-text {
  font-size:17px; color:rgba(255,255,255,0.7); line-height:1.6; margin-bottom:8px;
}
.landing-b-author {
  display:flex; flex-direction:column; align-items:center; gap:8px;
  padding:24px 0; text-align:center;
}
.landing-b-photo {
  width:160px; height:160px; border-radius:50%; object-fit:cover;
  border:2px solid rgba(255,255,255,0.1);
}
.landing-b-name {
  font-family:'Playfair Display',serif; font-size:20px; font-weight:700; color:#fff;
}
.landing-b-role {
  font-size:14px; color:rgba(255,255,255,0.45); line-height:1.5; text-align:center;
}
.landing-b-how { width:100%; }
.landing-b-how-title {
  font-family:'Playfair Display',serif; font-size:22px; font-weight:700;
  text-align:center; margin-bottom:20px; color:#fff;
}
.landing-b-overlay {
  background: linear-gradient(180deg, rgba(12,12,12,0.3) 0%, rgba(12,12,12,0.7) 30%, rgba(12,12,12,0.95) 55%, rgba(12,12,12,1) 100%);
}

/* === Гипотеза A: профиль и оплата === */
.loading-spinner {
  width:48px; height:48px; border:3px solid rgba(255,255,255,0.1);
  border-top-color:#c0392b; border-radius:50%;
  animation: spin 1s linear infinite;
}
@keyframes spin { to { transform:rotate(360deg); } }

.profile-result { width:100%; }
.profile-level {
  font-family:'Playfair Display',serif; font-size:28px; font-weight:700;
  text-align:center; margin-bottom:16px;
}
.profile-level span { color:#c0392b; font-size:36px; }
.profile-bar {
  width:100%; height:8px; background:rgba(255,255,255,0.06); border-radius:4px;
  overflow:hidden; margin-bottom:24px;
}
.profile-bar-fill { height:100%; background:linear-gradient(90deg,#c0392b,#d4af37); border-radius:4px; transition:width 0.8s ease; }
.profile-desc { margin-bottom:16px; }
.profile-section-title { font-size:15px; color:#d4c5a0; margin-bottom:8px; }
.profile-list { font-size:15px; color:rgba(255,255,255,0.7); line-height:2; }
.profile-item { padding-left:8px; }

.offer-box { text-align:center; width:100%; }
.offer-text { font-size:16px; color:#fff; line-height:1.6; margin-bottom:8px; }
.offer-text strong { color:#d4af37; }
.offer-price { font-size:14px; color:rgba(255,255,255,0.4); }

/* === Гипотеза B: программа === */
.program-title {
  font-family:'Playfair Display',serif; font-size:24px; font-weight:700;
  text-align:center; margin-bottom:24px;
}
.program-days { width:100%; display:flex; flex-direction:column; gap:0; }
.program-day {
  padding:16px 20px; font-size:15px; color:rgba(255,255,255,0.7);
  border-bottom:1px solid rgba(255,255,255,0.05); position:relative;
}
.program-day.active {
  color:#fff; background:rgba(192,57,43,0.08);
  border-left:3px solid #c0392b; padding-left:17px;
}
.program-day.locked {
  color:rgba(255,255,255,0.25);
}
.program-day.locked::after {
  content:'🔒'; position:absolute; right:16px; top:50%; transform:translateY(-50%); font-size:14px;
}

/* === Гипотеза C: разбор ответов === */
.hyp-c-list { width:100%; display:flex; flex-direction:column; gap:0; }
.hyp-c-list-item {
  display:flex; align-items:center; gap:12px;
  padding:16px 12px; cursor:pointer;
  border-bottom:1px solid rgba(255,255,255,0.06);
  transition:background 0.2s;
}
.hyp-c-list-item:hover { background:rgba(255,255,255,0.03); }
.hyp-c-list-item.miss { border-left:3px solid #c0392b; }
.hyp-c-list-item.match { border-left:3px solid #27ae60; }
.hyp-c-list-num {
  min-width:32px; height:32px; border-radius:50%;
  background:rgba(255,255,255,0.06); display:flex;
  align-items:center; justify-content:center;
  font-family:'Playfair Display',serif; font-size:15px; font-weight:700;
  color:rgba(255,255,255,0.5);
}
.hyp-c-list-body { flex:1; }
.hyp-c-list-comp { font-size:15px; color:#fff; margin-bottom:4px; }
.hyp-c-list-answer { font-size:13px; color:rgba(255,255,255,0.4); }
.hyp-c-list-answer strong { color:rgba(255,255,255,0.7); }
.hyp-c-list-icon { font-size:20px; }

/* Плашка результата на первом экране воронки */
.result-banner {
  width:100%; text-align:center; padding:12px 16px; margin:12px 0 8px;
  font-family:'Playfair Display',serif; font-size:16px; font-weight:700;
  border-radius:8px; letter-spacing:0.5px;
}
.result-banner.win {
  background:rgba(39,174,96,0.1); border:1px solid rgba(39,174,96,0.25); color:#27ae60;
}
.result-banner.loss {
  background:rgba(192,57,43,0.1); border:1px solid rgba(192,57,43,0.25); color:#c0392b;
}

/* Карточка разбора */
.hyp-c-card {
  width:100%; background:rgba(255,255,255,0.03);
  border:1px solid rgba(255,255,255,0.08); border-radius:12px;
  padding:24px 20px; margin-top:16px;
}
.hyp-c-row {
  display:flex; justify-content:space-between; align-items:center;
  padding:12px 0; border-bottom:1px solid rgba(255,255,255,0.05);
}
.hyp-c-row.correct { border-bottom:none; }
.hyp-c-label { font-size:14px; color:rgba(255,255,255,0.4); }
.hyp-c-value { font-size:16px; font-weight:700; color:#fff; }
.hyp-c-value.match { color:#27ae60; }
.hyp-c-value.miss { color:#c0392b; }
.hyp-c-why {
  margin-top:16px; padding-top:16px;
  border-top:1px solid rgba(255,255,255,0.06);
}


#screen-cabinet .page { zoom: 1.30; justify-content: flex-start; padding-top: 40px; }

#screen-catalog .page {
  justify-content: flex-start;
  padding-top: 20px;
  align-items: stretch;
}
#catalogGrid {
  width: 100%;
}
