/* Бесплатный мини-тест */
.mini { max-width: 760px; padding-top: var(--space-10); padding-bottom: var(--space-16); min-height: 70vh; }
.mini h1 { font-family: var(--font-display); font-weight: 600; font-size: var(--text-xl); line-height: 1.15; margin: var(--space-3) 0 var(--space-4); color: var(--ink); }
.mini h2 { font-family: var(--font-display); font-weight: 600; font-size: var(--text-lg); line-height: 1.2; margin: 0 0 var(--space-3); color: var(--ink); }
.mini-facts { display: flex; flex-wrap: wrap; gap: var(--space-2); margin: var(--space-5) 0 var(--space-6); }
.mini-progress { height: 6px; border-radius: 99px; background: var(--surface-2); overflow: hidden; margin-bottom: var(--space-6); }
.mini-progress i { display: block; height: 100%; background: var(--accent); border-radius: 99px; transition: width .3s ease; }
.mini-step { color: var(--muted); font-size: var(--text-sm); margin-bottom: var(--space-2); }
.mini-q { font-size: var(--text-lg); font-weight: 700; line-height: 1.3; color: var(--ink); margin: 0 0 var(--space-6); min-height: 3.2em; }
.mini-opts { display: grid; gap: var(--space-3); }
.mini-opt { text-align: left; width: 100%; padding: var(--space-4) var(--space-5); border-radius: var(--radius); border: 1.5px solid var(--border); background: var(--surface); color: var(--text); font: inherit; font-weight: 600; cursor: pointer; transition: border-color .15s, background .15s, transform .1s; }
.mini-opt:hover { border-color: var(--accent); }
.mini-opt:active { transform: scale(.99); }
.mini-opt.sel { border-color: var(--accent); background: var(--accent-soft); }
.mini-back { margin-top: var(--space-5); background: none; border: 0; color: var(--muted); font: inherit; cursor: pointer; padding: var(--space-2) 0; text-decoration: underline; text-underline-offset: 3px; }
.mini-card { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-lg); padding: var(--space-6); margin-top: var(--space-5); box-shadow: var(--shadow); }
.mini-arch { display: flex; align-items: center; gap: var(--space-4); margin-bottom: var(--space-4); }
.mini-badge { flex: none; width: 64px; height: 64px; border-radius: 50%; display: grid; place-items: center; background: var(--accent); color: #fff; font-family: var(--font-display); font-weight: 600; font-size: 1.6rem; }
.mini-name { font-family: var(--font-display); font-weight: 600; font-size: var(--text-lg); line-height: 1.2; color: var(--ink); }
.mini-motto { color: var(--accent-strong); font-size: var(--text-sm); margin-top: 2px; }
.mini-dir { display: flex; gap: var(--space-3); align-items: flex-start; padding: var(--space-4); border-radius: var(--radius); background: var(--surface-2); margin-top: var(--space-3); }
.mini-dir b { color: var(--ink); }
.mini-dir .num { flex: none; width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; background: var(--ink); color: var(--ink-contrast); font-weight: 800; font-size: .9rem; }
.mini-dir.locked { position: relative; }
.mini-dir.locked .blur { filter: blur(6px); user-select: none; }
.mini-lock { position: absolute; right: var(--space-4); top: 50%; transform: translateY(-50%); font-size: var(--text-xs); font-weight: 700; color: var(--muted); background: var(--surface); border-radius: 99px; padding: 4px 10px; border: 1px solid var(--border); }
.mini-list { margin: var(--space-3) 0 0; padding-left: 1.2em; display: grid; gap: var(--space-2); }
.mini-cta { margin-top: var(--space-6); background: var(--ink); color: var(--ink-contrast); border-radius: var(--radius-lg); padding: var(--space-6); }
.mini-cta h2 { color: var(--ink-contrast); }
.mini-cta p { opacity: .9; }
.mini-cta .actions-row { margin-top: var(--space-5); }
.mini-cta .btn-ghost { color: var(--ink-contrast); border-color: rgb(255 255 255 / .35); }
.mini-note { font-size: var(--text-xs); color: var(--muted); margin-top: var(--space-5); }
@media (max-width: 560px) { .mini { padding-top: var(--space-6); } .mini-card, .mini-cta { padding: var(--space-5); } .mini-lock { position: static; transform: none; display: inline-block; margin-top: var(--space-2); } .mini-dir.locked { flex-wrap: wrap; } }
.mini-cta .btn { white-space: normal; text-align: center; }
@media (max-width: 560px) { .mini-cta .actions-row .btn { width: 100%; } }
