/* Лендинг «Что мне завайбкодить» — дизайн-система ЛАБС (см. brand/readme.md) */
@font-face{font-family:'Manrope';font-style:normal;font-weight:500 800;font-display:swap;src:url(fonts/manrope-cyrillic.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Manrope';font-style:normal;font-weight:500 800;font-display:swap;src:url(fonts/manrope-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Golos Text';font-style:normal;font-weight:400 700;font-display:swap;src:url(fonts/golos-cyrillic.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Golos Text';font-style:normal;font-weight:400 700;font-display:swap;src:url(fonts/golos-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{
  --orange-50:#FFF6EE;--orange-300:#FFB47A;--orange-400:#FF9A4D;--orange-500:#FF7A1A;--orange-600:#E8590C;
  --yellow-50:#FFFBE6;--yellow-300:#FFE58A;
  --ink-900:#0F1424;--ink-800:#1B2033;--ink-700:#2E3447;
  --gray-600:#5B6270;--gray-500:#7A8190;--gray-400:#A2A8B4;--gray-300:#CDD1D8;--gray-200:#E6E8EC;--gray-100:#F1F2F4;--gray-50:#F8F9FA;--white:#FFFFFF;
  --red-500:#E5484D;
  --font-display:'Manrope',system-ui,-apple-system,'Segoe UI',sans-serif;
  --font-body:'Golos Text',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-pill:999px;
  --shadow-card:0 1px 2px rgba(15,20,36,.04),0 4px 16px rgba(15,20,36,.04);
  --shadow-focus:0 0 0 3px rgba(255,122,26,.30);
  --ease:cubic-bezier(.2,0,0,1);--fast:120ms;--base:200ms;
  --hair:1px solid var(--gray-200);
  color-scheme:light;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;background:var(--gray-50)}
body{margin:0;min-height:100dvh;color:var(--ink-900);font-family:var(--font-body);font-size:16px;line-height:1.5;padding-inline:20px;padding-block:0 0;background:radial-gradient(1200px 600px at 80% 0%,var(--white) 0%,var(--gray-50) 100%) no-repeat var(--gray-50);-webkit-font-smoothing:antialiased}
a{color:var(--gray-600);text-decoration:underline;text-underline-offset:2px;transition:color var(--fast) var(--ease)}
a:hover{color:var(--ink-900)}
button{font:inherit;color:inherit;cursor:pointer}
:focus-visible{outline:none;box-shadow:var(--shadow-focus)}
[hidden]{display:none!important}
.shell{max-width:720px;margin:0 auto}
.shell.wide{max-width:800px}
h1,h2,h3{font-family:var(--font-display);letter-spacing:-0.02em;text-wrap:balance;margin:0}
h1{font-weight:800;font-size:clamp(40px,8vw,64px);line-height:1.02;letter-spacing:-0.035em}
h2,h3{font-weight:700}
h1 em,h2 em{font-style:normal}

/* шапка */
.top{display:flex;justify-content:space-between;align-items:center;gap:12px;height:72px}
.brand{display:inline-flex;align-items:center;text-decoration:none;border-radius:var(--radius-sm)}
.brand img{height:26px;width:auto;display:block}
.eyebrow,.sec-h,.kicker,.samples h3,.progress{font:500 13px/1.3 var(--font-body);letter-spacing:.04em;text-transform:uppercase;color:var(--gray-500)}
.lede{font-size:clamp(17px,2.2vw,20px);line-height:1.45;color:var(--gray-600);max-width:44ch;margin:20px 0 0;text-wrap:pretty}

/* кнопки */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;padding:0 20px;border:1px solid var(--gray-300);background:transparent;color:var(--ink-900);border-radius:var(--radius-md);font:600 15px/1 var(--font-body);text-decoration:none;white-space:nowrap;transition:background var(--fast) var(--ease),border-color var(--fast) var(--ease),color var(--fast) var(--ease),transform var(--fast) var(--ease)}
.btn:hover{background:var(--white);border-color:var(--gray-400)}
.btn:active{transform:scale(.98)}
.btn svg{width:18px;height:18px;flex:none}
.btn.primary{background:var(--orange-500);border-color:transparent;color:var(--white)}
.btn.primary:hover{background:var(--orange-600)}
.btn.big{height:52px;padding:0 26px;font-size:17px}
.btn.ghost{border-color:transparent;color:var(--gray-600)}
.btn.ghost:hover{background:var(--gray-100);color:var(--ink-900)}
.btn.small{height:36px;padding:0 14px;font-size:14px;font-weight:500}
.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}
.link{border:0;background:transparent;color:var(--gray-600);padding:0;text-decoration:underline;text-underline-offset:3px;font-size:inherit;border-radius:4px;transition:color var(--fast) var(--ease)}
.link:hover{color:var(--ink-900)}

/* экран входа */
.screen{padding-block:8px 24px}
.hero{padding-block:clamp(32px,6vw,64px) 32px}
.hero .cta{margin-top:32px;display:flex;flex-wrap:wrap;gap:16px;align-items:center}
.hero .note{font-size:14px;color:var(--gray-500)}
.samples{margin-top:clamp(48px,7vw,72px)}
.samples h3{margin-bottom:16px}
.sgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:var(--hair)}
.sample{padding:20px 20px 20px 0;display:flex;flex-direction:column;gap:8px;text-align:left;min-width:0;border-bottom:var(--hair)}
.sample+.sample{padding-left:20px;border-left:var(--hair)}
@media (max-width:760px){.sgrid{grid-template-columns:1fr}.sample+.sample{padding-left:0;border-left:0}.sample{padding-right:0}}
.sample .who{font-weight:500;font-size:14px;line-height:1.35;color:var(--gray-600)}
.sample .arrow{display:none}
.sample .s-idea{font-family:var(--font-display);font-weight:700;font-size:18px;line-height:1.25;letter-spacing:-0.015em}
.sample .s-case{font-size:13.5px;color:var(--gray-600);margin-top:4px}
.sample .s-case b{color:var(--ink-900);font-weight:500}
.sample .more{font-size:14px;line-height:1.5;border-top:var(--hair);padding-top:10px;margin-top:4px}
.sample .more q{display:block;margin-top:8px;padding-left:12px;border-left:2px solid var(--gray-200);color:var(--gray-600)}
.sample .more q::before{content:'«'}.sample .more q::after{content:'»'}
.sample .toggle{align-self:flex-start;font-size:13.5px;margin-top:2px}

/* вопросы */
.progress{display:flex;align-items:center;gap:14px;margin-top:8px}
.progress .bar{flex:1;height:2px;background:var(--gray-200);border-radius:1px;overflow:hidden}
.progress .bar i{display:block;height:100%;background:var(--orange-500);transition:width var(--base) var(--ease)}
.q h2{font-size:clamp(28px,5vw,40px);line-height:1.1;letter-spacing:-0.025em;margin-top:24px}
.q .hint{color:var(--gray-600);margin:10px 0 0;font-size:15px}
.field{margin-top:24px;position:relative}
textarea{display:block;width:100%;min-height:150px;resize:vertical;font:inherit;font-size:17px;line-height:1.5;padding:16px 18px 36px;border:1px solid var(--gray-200);background:var(--white);color:var(--ink-900);border-radius:var(--radius-md);transition:border-color var(--fast) var(--ease),box-shadow var(--fast) var(--ease)}
textarea:focus{border-color:var(--orange-500);outline:none;box-shadow:var(--shadow-focus)}
textarea::placeholder{color:var(--gray-500)}
.count{position:absolute;right:14px;bottom:12px;font-size:12px;color:var(--gray-500);font-variant-numeric:tabular-nums;pointer-events:none}
.field.invalid textarea{border-color:var(--red-500)}
.err{color:var(--red-500);font-size:14.5px;margin:10px 0 0;min-height:0;display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center}
.err:empty{display:none}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.chip{border:1px solid var(--gray-200);background:var(--white);border-radius:var(--radius-pill);height:36px;padding:0 14px;font:500 14px/1 var(--font-body);color:var(--ink-900);transition:background var(--fast) var(--ease),border-color var(--fast) var(--ease),color var(--fast) var(--ease),transform var(--fast) var(--ease)}
.chip:hover{background:var(--gray-100)}
.chip:active{transform:scale(.98)}
.chip[aria-pressed="true"]{background:var(--orange-500);border-color:var(--orange-500);color:var(--white)}

.voice{display:flex;align-items:center;gap:16px;margin-top:24px;padding-top:20px;border-top:var(--hair)}
.mic{flex:none;width:56px;height:56px;border-radius:var(--radius-md);border:0;background:var(--orange-500);color:var(--white);display:grid;place-items:center;transition:background var(--fast) var(--ease),transform var(--fast) var(--ease)}
.mic:hover{background:var(--orange-600)}
.mic:active{transform:scale(.98)}
.mic svg{width:24px;height:24px}
.mic[aria-pressed="true"]{background:var(--red-500)}
.mic:disabled{background:var(--gray-100);color:var(--gray-500);cursor:progress;transform:none}
.voice .txt{min-width:0}
.voice .lbl{font-weight:500}
.voice .sub{color:var(--gray-600);font-size:14px;margin-top:2px}
.voice .timer{font-variant-numeric:tabular-nums;color:var(--orange-600);font-weight:500}
.voice-off{margin:20px 0 0;padding:12px 16px;background:var(--yellow-50);border:1px solid var(--yellow-300);border-radius:var(--radius-md);color:var(--ink-900);font-size:14px}
.actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:center;margin-top:28px}
.actions .right{display:flex;gap:12px;flex:1;justify-content:flex-end}
@media (max-width:480px){.actions{flex-wrap:nowrap}.actions .right .btn{flex:1}}

/* ожидание */
.wait{min-height:60dvh;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:18px;padding-block:40px}
.wait .dots{display:flex;gap:8px}
.wait .dots i{width:8px;height:8px;border-radius:50%;background:var(--orange-500);animation:fade 1.2s var(--ease) infinite}
.wait .dots i:nth-child(2){animation-delay:.2s}.wait .dots i:nth-child(3){animation-delay:.4s}
@keyframes fade{0%,100%{opacity:.3}50%{opacity:1}}
.wait h2{font-size:clamp(28px,5vw,40px);letter-spacing:-0.025em}
.wait p{color:var(--gray-600);margin:0;max-width:46ch}
@media (prefers-reduced-motion:reduce){.wait .dots i{animation:none}}

/* результат */
.res section{margin-top:48px}
.youwrote{font-size:14px;color:var(--gray-600);margin-top:12px}
.youwrote q{font-style:italic}
.opening{font-family:var(--font-display);font-weight:700;font-size:clamp(24px,4vw,32px);line-height:1.2;letter-spacing:-0.02em;margin:16px 0 0;text-wrap:pretty}
.res h2.title{font-size:clamp(28px,5vw,40px);line-height:1.1;letter-spacing:-0.025em;margin-top:12px}
.sec-h{margin:0 0 16px}
.idea{padding:28px 0 24px;border-top:var(--hair)}
.idea.hero{background:var(--white);border:var(--hair);border-radius:var(--radius-lg);padding:28px 28px 24px;box-shadow:var(--shadow-card)}
@media (max-width:560px){.idea.hero{padding:22px 20px 20px}}
.idea.hero+.idea{border-top:0;margin-top:8px}
.idea .kicker{color:var(--orange-600)}
.idea.compact .kicker{color:var(--gray-500)}
.idea h3{font-size:clamp(24px,4vw,32px);line-height:1.15;letter-spacing:-0.025em;margin-top:10px}
.idea.compact h3{font-size:22px;line-height:1.2}
.idea .what{margin:12px 0 0;font-size:16px;color:var(--gray-600)}
.idea.hero .what{color:var(--ink-900)}
.ba{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;margin-top:20px;border-top:var(--hair)}
@media (max-width:560px){.ba{grid-template-columns:1fr}.ba .box+.box{border-top:var(--hair)}}
.ba .box{padding:14px 0 0}
@media (min-width:561px){.ba .box+.box{border-left:var(--hair);padding-left:24px}}
.ba .lbl{font:500 12px/1.3 var(--font-body);letter-spacing:.04em;text-transform:uppercase;color:var(--gray-500);margin-bottom:6px}
.ba p{margin:0;font-size:15px;line-height:1.45;color:var(--gray-600)}
.ba .box.after p{color:var(--ink-900);font-weight:500}
.meta{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;margin-top:18px;font-size:14px;color:var(--gray-600)}
.lvl{font:500 13px/1 var(--font-body);padding:7px 10px;border-radius:var(--radius-sm);background:var(--gray-100);color:var(--gray-600);white-space:nowrap}
.step{margin-top:22px;border-top:var(--hair);padding-top:18px}
.step .lbl{font-weight:600}
.step .hint{font-size:14px;color:var(--gray-600);margin:4px 0 12px}
.prompt{font:inherit;font-size:15px;line-height:1.55;background:var(--gray-100);border-radius:var(--radius-md);padding:14px 16px;margin:0;white-space:pre-wrap;word-wrap:break-word}
.step .row{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px;align-items:center}
.copied{font-size:13.5px;color:var(--gray-600)}
details.step summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:8px;font-weight:600;border-radius:var(--radius-sm)}
details.step summary::-webkit-details-marker{display:none}
details.step summary svg{width:18px;height:18px;margin-left:auto;color:var(--gray-500);flex:none;transition:transform var(--base) var(--ease)}
details.step[open] summary svg{transform:rotate(180deg)}
details.step .prompt{margin-top:14px}

.cases-note{margin:0 0 16px;font-size:16px;color:var(--gray-600)}
.cgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
@media (max-width:760px){.cgrid{grid-template-columns:1fr}}

/* карточка кейса: метка · было · сделала · результат · цитата · стадия */
.ccard{background:var(--white);border:var(--hair);border-radius:var(--radius-lg);padding:16px 18px;font-size:14.5px;line-height:1.45;min-width:0}
.icases{margin-top:20px;border-top:var(--hair);padding-top:16px;display:grid;gap:10px}
.icases .ccard{background:var(--gray-50)}
.idea.hero .icases .ccard{background:var(--gray-50)}
.c-who{font-weight:500;font-size:13.5px;color:var(--ink-900);line-height:1.4;overflow-wrap:anywhere}
.c-body{position:relative;max-height:116px;overflow:hidden}
.c-body.open{max-height:none}
.c-body.clamped::after{content:'';position:absolute;left:0;right:0;bottom:0;height:36px;background:linear-gradient(to bottom,transparent,var(--white));pointer-events:none}
.icases .c-body.clamped::after{background:linear-gradient(to bottom,transparent,var(--gray-50))}
.c-more{font-size:13.5px;margin-top:6px}
.c-list{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:6px}
.c-list li{position:relative;padding-left:14px;overflow-wrap:anywhere}
.c-list li::before{content:'';position:absolute;left:0;top:.55em;width:5px;height:5px;border-radius:50%;background:var(--gray-300)}
.c-list .k{font:500 12px/1.3 var(--font-body);letter-spacing:.04em;text-transform:uppercase;color:var(--gray-500);margin-right:6px}
.c-was{color:var(--gray-600)}
.c-did .k{color:var(--ink-900)}
.c-res{font-weight:500}
.c-res::before{background:var(--ink-900)}
.c-res b{font-weight:600}
.c-qt{font-size:14px;line-height:1.45;padding-left:12px;border-left:2px solid var(--gray-200);margin:10px 0 0;color:var(--gray-600)}
.c-qt::before{content:'«'}.c-qt::after{content:'»'}
.c-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.tag{font:500 12px/1 var(--font-body);padding:5px 8px;border-radius:var(--radius-sm);background:var(--gray-100);color:var(--gray-600)}

/* кубик «ещё 3 идеи» и раунды */
#more-sec{margin-top:32px}
.round{margin-top:40px}
.dice{margin-top:24px;display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.die{display:inline-flex;line-height:1}
.dice.rolling .die svg{animation:dice-spin 1.6s linear infinite}
.dice.rolling .btn:disabled{opacity:1;cursor:progress}
@keyframes dice-spin{to{transform:rotate(360deg)}}
.dice-wait{margin:0;font-size:16px;color:var(--gray-600)}
@media (prefers-reduced-motion:reduce){.dice.rolling .die svg{animation:none}}
#dice-done{margin-top:24px}

/* финал: вопрос и «поделиться» */
.closing{font-family:var(--font-display);font-weight:700;font-size:clamp(24px,4vw,32px);line-height:1.2;letter-spacing:-0.02em;margin:0}
.res .final{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}

/* предзапись — тёмная ink-полоса на всю ширину */
.preorder{margin-inline:calc(50% - 50vw);padding:clamp(48px,7vw,80px) 20px;background:var(--ink-900);color:var(--white)}
.preorder .inner{max-width:800px;margin:0 auto}
.preorder .sec-h{color:var(--gray-400)}
.preorder h2{font-size:clamp(28px,4.5vw,40px);line-height:1.1;letter-spacing:-0.025em;max-width:22ch}
.preorder ul{list-style:none;padding:0;margin:28px 0 0;border-top:1px solid rgba(255,255,255,.14)}
.preorder li{padding:16px 0;border-bottom:1px solid rgba(255,255,255,.14);font-size:16px;color:var(--gray-300)}
.preorder .btn{margin-top:28px;background:var(--orange-500);border-color:transparent;color:var(--white)}
.preorder .btn:hover{background:var(--orange-400)}
.foot{margin:0;padding-block:24px 40px;color:var(--gray-500);font-size:13px;max-width:70ch}
#s-intro .foot,.shell>.foot{border-top:var(--hair);margin-top:56px}

/* 404 */
.nf{padding-block:80px 40px}
.nf h1{font-size:clamp(44px,10vw,96px)}
.nf p{color:var(--gray-600);font-size:18px;margin:16px 0 28px}
