:root{
  --cream:#FAF5EC; --cream2:#EDE4D3; --green:#2D4A3E; --gold:#B8935A;
  --choco:#2C1810; --brown:#5C3A2A; --beige:#E8DCC8;
  --border:#E8DCC8; --muted:#8C7B6B;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--cream);color:var(--brown);font-family:'Montserrat',sans-serif;font-weight:400;line-height:1.6;-webkit-font-smoothing:antialiased;min-height:100vh;overflow-x:hidden}

h1,h2,h3{font-family:'Playfair Display',serif;color:var(--choco);font-weight:400;line-height:1.15}
h1{font-size:clamp(44px,9vw,84px);margin-bottom:24px}
h1 em{color:var(--green);font-style:italic}
h2{font-size:clamp(28px,5vw,44px);margin-bottom:18px}
h3{font-size:20px;margin-bottom:10px}
p{margin-bottom:12px}
strong{color:var(--choco);font-weight:500}

.screen{display:none;animation:fadeIn .5s ease}
.screen.active{display:flex;flex-direction:column;min-height:100vh}
@keyframes fadeIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}

/* --- Общие кнопки --- */
.primary-btn,.mode-btn,.submit-btn{font-family:'Montserrat',sans-serif;font-size:14px;font-weight:500;letter-spacing:.06em;padding:16px 40px;border:none;border-radius:8px;background:var(--green);color:var(--cream);cursor:pointer;transition:background .25s,transform .2s}
.primary-btn:hover,.mode-btn:hover,.submit-btn:hover{background:var(--choco);transform:translateY(-1px)}
.mode-btn.selected{background:var(--gold)}

/* --- Экран 1: приветствие --- */
#welcome{align-items:center;justify-content:center;text-align:center;padding:60px 24px;position:relative;overflow:hidden}
#welcome::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 50% at 80% 20%,rgba(184,147,90,.10) 0%,transparent 70%),radial-gradient(ellipse 50% 60% at 10% 80%,rgba(45,74,62,.08) 0%,transparent 70%);pointer-events:none}
.welcome-inner{max-width:600px;width:100%;position:relative;z-index:1}
.tag{display:inline-block;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--green);border:1px solid var(--gold);padding:6px 16px;border-radius:8px;margin-bottom:32px;font-weight:500}
.lede{font-size:16px;font-weight:300;line-height:1.7;color:var(--muted);max-width:480px;margin:0 auto 40px}
.meta-line{font-size:12px;letter-spacing:.08em;color:var(--muted);margin-top:20px}
.author{font-size:12px;color:var(--muted);margin-top:36px;opacity:.7}

/* --- Экран 2: инструкции + режим --- */
#intro{align-items:center;justify-content:center;padding:60px 24px;background:var(--cream2)}
#intro .welcome-inner{max-width:560px;text-align:left}
#intro h2{margin-bottom:20px;line-height:1.15}
#intro .lede{font-size:15px;line-height:1.75;color:var(--muted);margin:0 0 36px;max-width:none}

.scale-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:36px}
.scale-card{background:var(--cream);border:1px solid var(--border);border-radius:16px;padding:16px 20px;display:flex;align-items:center;gap:14px}
.scale-num{font-family:'Playfair Display',serif;font-size:32px;color:var(--gold);min-width:28px;line-height:1}
.scale-label{font-size:13px;font-weight:300;color:var(--brown);line-height:1.4}
@media(max-width:480px){.scale-grid{grid-template-columns:1fr}}

.mode-select-label{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:14px;font-weight:500}
.mode-select-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media(max-width:520px){.mode-select-options{grid-template-columns:1fr}}

/* --- Экран 3: тест (шапка) --- */
#test{padding:0;background:var(--cream)}
.test-header{background:var(--cream2);padding:20px 32px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10}
.test-brand{font-family:'Playfair Display',serif;font-style:italic;font-size:16px;color:var(--gold);flex-shrink:0}
.test-block{font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--gold);font-weight:500;text-align:right;flex-shrink:0;max-width:30%}
.q-progress-wrap{flex:1;max-width:200px;margin:0 24px}
.q-progress-bar{height:2px;background:var(--border);border-radius:1px;overflow:hidden}
.q-progress-fill{height:100%;background:var(--green);border-radius:1px;transition:width .4s ease;width:0}
.q-count{font-size:12px;font-weight:400;color:var(--muted);letter-spacing:.05em;text-align:right;margin-top:6px}

/* --- Экран 3: вопрос --- */
.q-main{flex:1;display:flex;align-items:center;justify-content:center;padding:48px 24px}
.question-card{max-width:620px;width:100%}
.q-num{font-family:'Playfair Display',serif;font-size:80px;color:var(--border);line-height:1;margin-bottom:-8px;user-select:none}
.q-text{font-family:'Playfair Display',serif;font-size:clamp(22px,3.5vw,32px);color:var(--choco);line-height:1.35;margin-bottom:10px}
.q-desc{font-size:14px;font-weight:300;color:var(--muted);line-height:1.65;margin-bottom:40px;max-width:500px}

.options-row{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:36px}
.option-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:20px 10px;background:var(--cream2);border:1px solid var(--border);border-radius:16px;cursor:pointer;transition:all .2s;font-family:inherit;text-align:center}
.option-btn:hover{border-color:var(--green);background:var(--cream)}
.option-btn.selected{border-color:var(--green);background:var(--green);color:#fff}
.option-score{font-family:'Playfair Display',serif;font-size:36px;line-height:1;color:var(--gold);transition:color .2s}
.option-btn.selected .option-score{color:rgba(255,255,255,.8)}
.option-text{font-size:11px;font-weight:400;letter-spacing:.03em;line-height:1.3;color:var(--muted);transition:color .2s;white-space:pre-line}
.option-btn.selected .option-text{color:rgba(255,255,255,.75)}
@media(max-width:480px){.options-row{grid-template-columns:repeat(2,1fr)}.test-header{padding:16px 20px}.q-progress-wrap{max-width:120px;margin:0 16px}.test-brand{font-size:13px}.test-block{font-size:10px;max-width:32%}}

.nav-row{display:flex;justify-content:space-between;align-items:center;max-width:620px;width:100%;margin:0 auto;padding:20px 24px 40px}
.ghost-btn{background:none;border:none;color:var(--muted);font-family:inherit;font-size:13px;cursor:pointer;padding:8px 4px;letter-spacing:.05em}
.ghost-btn:hover{color:var(--green)}
.ghost-btn:disabled{opacity:.3;cursor:not-allowed}

/* --- Результат --- */
#result{padding:60px 24px;align-items:center;justify-content:center}
.result-hero{text-align:center;padding:20px 0 28px;border-bottom:1px solid var(--border);margin-bottom:28px;max-width:620px;width:100%}
.result-sub{font-size:11px;color:var(--gold);letter-spacing:.2em;text-transform:uppercase;margin-bottom:16px;font-weight:500}
.result-desc{max-width:560px;margin:0 auto;font-size:15px;color:var(--muted);line-height:1.7}
.result-body{max-width:620px;width:100%}

.scores-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin:28px 0}
.score-card{background:#fff;border:1px solid var(--border);border-radius:16px;padding:22px 14px;text-align:center}
.score-card.dominant{border-color:var(--green);background:var(--cream2);border-width:2px}
.score-letter{font-family:'Playfair Display',serif;font-size:32px;color:var(--gold);margin-bottom:4px}
.score-num{font-size:28px;font-weight:500;color:var(--choco)}
.score-of{font-size:11px;color:var(--muted);letter-spacing:.08em}
.score-level{display:inline-block;margin-top:10px;padding:4px 12px;border-radius:100px;background:var(--cream2);color:var(--choco);font-size:10px;letter-spacing:.06em;text-transform:uppercase;font-weight:500}
.score-card.dominant .score-level{background:var(--green);color:var(--cream)}
@media(max-width:520px){.scores-grid{grid-template-columns:1fr}}

.insight{background:#fff;border:1px solid var(--border);border-radius:16px;padding:26px 28px;margin:22px 0}
.insight h3{color:var(--choco);font-weight:500}
.insight ul{padding-left:20px;margin-top:8px}
.insight ul li{margin-bottom:8px;font-size:14px;color:var(--brown)}
.insight p{color:var(--brown);font-size:14px;line-height:1.7}

.note{background:var(--cream2);border-left:3px solid var(--gold);border-radius:0 10px 10px 0;padding:16px 20px;font-size:13px;color:var(--brown);margin:20px 0}

.pdf-row{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0;justify-content:center}
.pdf-row button{flex:1;min-width:200px}

.disclaimer{font-size:12px;color:var(--muted);text-align:center;margin-top:36px;padding-top:22px;border-top:1px solid var(--border)}
