/* Презентари-ум v2 — прототип 26.10, только стенд. Телефон и планшет (до 1023 px) — как приложение: шаги «План → Дизайн», одна кнопка внизу под пальцем,
   правка слайда плана в листе снизу, окна главной, плана и дизайна — листы. ПК (1024+) — как прод; экран редактора не меняется. */

/* ПК: образец выбранного стиля над подборками, кнопка — под сеткой (порядок как в проде) */
.dock{display:contents}
.top .steps{display:none}
.designs .gh{order:-2}
.designs #gpv{order:-1}
.v2m{display:none}
/* плашка cookie: её высота (--ck, считает app.js) поднимает уведомления над ней */
.toast{bottom:calc(18px + var(--ck,0px))}
html.v2lock{overflow:hidden}

/* игра с Корхи под ожиданием плана и создания (v2-run.js) */
.krun{position:relative;height:150px;margin:12px 0 18px;border-radius:18px;overflow:hidden;cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none}
.krun canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.krun-chip{position:absolute;left:14px;top:12px;transform:none;padding:7px 14px;border-radius:999px;background:rgba(255,255,255,.84);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);font:600 13px/1.2 var(--ui);color:#2b2732;white-space:nowrap;transition:opacity .25s,transform .25s;pointer-events:none}
.krun-chip .kr-again{display:none}
.krun[data-st=over] .krun-chip .kr-go{display:none}.krun[data-st=over] .krun-chip .kr-again{display:inline}
.krun[data-st=play] .krun-chip{opacity:0;transform:translateY(-8px)}
.v2nav,.v2ex,.v2chips{display:none}
/* «+» между слайдами плана (Виталий 26.10: «почему нельзя добавить слайд между слайдами») */
.pins{display:flex;align-items:center;justify-content:center;height:28px;margin:-9px 0;position:relative;z-index:1;padding:0;border:0;background:none;cursor:pointer}
.pins i{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#fff;color:#6D28D9;font:500 20px/1 var(--ui);font-style:normal;box-shadow:0 1px 6px rgba(40,30,60,.16);opacity:.75;transition:opacity .15s,transform .15s,background .15s,color .15s}
.pins:hover i,.pins:focus-visible i{opacity:1;transform:scale(1.12);background:#6D28D9;color:#fff}
@property --v2a{syntax:'<angle>';inherits:false;initial-value:0deg}
@keyframes v2spin{to{--v2a:360deg}}
@keyframes v2r{from{opacity:0;transform:translateX(28px)}to{opacity:1;transform:none}}
@keyframes v2l{from{opacity:0;transform:translateX(-28px)}to{opacity:1;transform:none}}
@keyframes v2up{from{transform:translateY(100%)}to{transform:none}}
@keyframes v2fade{from{opacity:0}to{opacity:1}}
@keyframes v2rot{to{transform:rotate(360deg)}}

@media (max-width:1023px){
  .v2m{display:inline}.v2d{display:none}
  /* как в Картини-уме: белая шапка с тонкой линией, заголовки обычным шрифтом, без служебных строк */
  .top{background:#fff;box-shadow:0 1px 0 #ECE8F3;-webkit-backdrop-filter:none;backdrop-filter:none}
  main.plan h1,.designs .gt,main.my h1{font-family:var(--ui)!important;font-weight:700;letter-spacing:-.01em}
  .stats,#stats,#keep{display:none!important}

  /* главная: только поле, «Примеры» и панель разделов (Виталий 26.10: «слишком много текста… непонятно, что делать») */
  body.home6 #app>main.h6{padding-bottom:calc(96px + var(--ck,0px) + env(safe-area-inset-bottom))}
  .h6 .kick,.h6 .lead,.h6 .dog,.h6 .legal,.h6 #recent{display:none!important}
  .h6 .h{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;margin:0}
  .h6 .left{padding-top:16px;justify-content:flex-start}
  /* поле: рамка переливается, как у нейросетей */
  .h6 .comp{border:2px solid transparent;border-radius:22px;padding:14px 12px 10px 16px;background:linear-gradient(#F8F5FF,#F8F5FF) padding-box,conic-gradient(from var(--v2a),#8b5cf6,#ec4899,#f59e0b,#22d3ee,#6366f1,#8b5cf6) border-box;box-shadow:0 8px 28px rgba(139,92,246,.22);animation:v2spin 4s linear infinite}
  .h6 .cw::before{content:'';position:absolute;inset:-4px;z-index:1;border-radius:26px;pointer-events:none;background:conic-gradient(from var(--v2a),#8b5cf6,#ec4899,#f59e0b,#22d3ee,#6366f1,#8b5cf6);filter:blur(14px);opacity:.35;animation:v2spin 4s linear infinite}
  .h6 .comp:focus-within{box-shadow:0 8px 28px rgba(139,92,246,.32)}
  .h6 .comp textarea{font-size:17px;min-height:76px}
  .h6 .ib{width:44px;height:44px;background:#F3EEFF;color:#6D28D9}
  .h6 .bar{gap:8px}
  .h6 .comp{padding:14px}  /* поровну со всех сторон: круглая кнопка не жмётся к углу рамки */
  /* «Создать» — круглая стрелка, как в Картини-уме; пока составляется план — крутится */
  .h6 .go{position:relative;width:48px;height:48px;padding:0;border-radius:50%;font-size:0;display:block;background:linear-gradient(135deg,#6D28D9,#4F46E5);box-shadow:0 6px 16px rgba(79,70,229,.35)}
  .h6 .go::after{content:'';position:absolute;inset:0;margin:auto;width:22px;height:22px;background:#fff;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 5l7 7-7 7'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 5l7 7-7 7'/%3E%3C/svg%3E") center/contain no-repeat}
  .h6 .go:disabled::after{box-sizing:border-box;width:20px;height:20px;border:3px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;background:none;-webkit-mask:none;mask:none;animation:v2rot .8s linear infinite}
  .h6 .free{margin-top:12px}
  /* число слайдов — чип под полем; внутри поля остаются только фото, если их приложили */
  .h6 #cnt-l,.h6 #cnt,.h6 #ownn,.h6 #cnt-av,.h6 #art-l,.h6 #art{display:none!important}
  .h6 .opts{border-top:0!important;margin-top:0!important;padding-top:0!important}
  .v2chips{display:flex;gap:8px;margin-top:14px}
  .v2chip{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 12px 0 14px;border-radius:12px;border:1.5px solid #D6CFE3;background:#fff;color:var(--text);font:600 15px/1 var(--ui)}
  .v2chip svg{width:16px;height:16px;color:#6B6680}
  .v2chip:active{background:#F3EEFF;border-color:#6D28D9}
  .v2pick h3{margin:0;font-size:19px}
  .v2opts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .v2opts button{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-height:60px;padding:12px 14px;border-radius:14px;border:1.5px solid #E6E1EE;background:#fff;text-align:left}
  .v2opts button b{font:700 18px/1.2 var(--ui)}
  .v2opts button span{font-size:13px;color:var(--muted)}
  .v2opts button[aria-pressed=true]{border:2px solid #6D28D9;background:#F3EEFF}
  .v2opts button:disabled{opacity:.4}
  .v2own{display:flex;gap:8px}
  .v2own .f{flex:1;min-height:48px;font-size:16px}
  .v2own .btn{min-height:48px}
  .v2pick .note:empty{display:none}
  .h6 .opts .seg button{min-height:44px}
  /* «Примеры» плиткой: нажатие подставляет тему в поле */
  .v2ex{display:block;margin-top:26px;text-align:left}
  .v2ex h2{margin:0 0 12px;font:700 20px/1.2 var(--ui)}
  .v2grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .v2grid>button,.v2grid>.ri{display:flex;flex-direction:column;gap:0;padding:0;border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 0 0 1px #ECE8F3;text-align:left;text-decoration:none;color:var(--text)}
  .v2grid img,.v2grid .cv,.v2grid .ph{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:0;box-shadow:none;margin:0}
  .v2grid>button>span,.v2grid>.ri>span{display:block;padding:10px 12px 12px;font:600 15px/1.3 var(--ui)}
  .v2grid>button:active,.v2grid>.ri:active{transform:scale(.98)}
  /* нижняя панель разделов, как в Картини-уме: «Создать» крупной круглой кнопкой по центру */
  .v2nav{display:grid;grid-template-columns:1fr 1fr 1fr;position:fixed;left:0;right:0;bottom:var(--ck,0px);z-index:30;height:calc(64px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:rgba(255,255,255,.9);-webkit-backdrop-filter:saturate(1.5) blur(16px);backdrop-filter:saturate(1.5) blur(16px);box-shadow:0 -1px 0 #ECE8F3}
  .v2nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:#5E5873;font:500 12.5px/1.1 var(--ui);text-decoration:none;white-space:nowrap}
  .v2nav .pill{display:grid;place-items:center;width:56px;height:30px;border-radius:999px}
  .v2nav svg{width:24px;height:24px}
  .v2nav a.on{color:#5B21B6;font-weight:700}.v2nav a.on .pill{background:#EAE2FF}
  .v2nav a.fab{color:#5B21B6;font-weight:700}
  .v2nav a.fab .pill{width:60px;height:60px;margin-top:-26px;border-radius:50%;color:#fff;background:linear-gradient(135deg,#6D28D9,#4F46E5);box-shadow:0 6px 18px rgba(79,70,229,.35),0 0 0 4px #fff}
  .v2nav a.fab svg{width:28px;height:28px}
  /* «Мои презентации» */
  main.my{max-width:680px;margin:0 auto;padding:18px 16px calc(96px + var(--ck,0px) + env(safe-area-inset-bottom))}
  main.my h1{margin:0 0 14px;font-size:24px;line-height:1.15}
  main.my .ph{display:grid;place-items:center;background:#F3EEFF;color:#8b8798;font-size:13px}
  .my-empty{grid-column:1/-1;display:flex;flex-direction:column;align-items:center;gap:12px;padding:40px 0;color:var(--muted)}
  /* нажатие отзывается сразу: без серой вспышки и задержки, лёгкое сжатие */
  a,button,.btn{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
  .btn,.pr,.gi,.h6 .ri,.h6 .go{transition:transform .14s cubic-bezier(.2,.8,.2,1),background .15s,opacity .15s}
  .btn:active,.h6 .go:active{transform:scale(.96)}
  .pr:active,.gi:active,.h6 .ri:active{transform:scale(.985)}

  /* смена экрана: вперёд — справа, назад — слева (редактор не анимируется) */
  body[data-nav=fwd] #app>main{animation:v2r .3s cubic-bezier(.2,.8,.2,1)}
  body[data-nav=back] #app>main{animation:v2l .3s cubic-bezier(.2,.8,.2,1)}

  /* шапка: назад, шаги посередине, баланс или «Войти», поддержка; зоны нажатия от 40 px */
  .top .steps{display:flex;margin:0 auto;padding:0;border-radius:999px;background:rgba(22,20,26,.06)}
  .top .steps[hidden]{display:none}
  .top .steps button{height:44px;padding:0 16px;border-radius:999px;font:600 14px/44px var(--ui);color:var(--muted);transition:background .2s,color .2s,box-shadow .2s}
  .top .steps button[aria-current=step]{background:#fff;color:var(--text);box-shadow:0 1px 3px rgba(22,20,26,.12)}
  .top:has(.steps:not([hidden])) .logo,.top:has(.steps:not([hidden])) .sp{display:none}
  .top:has(.steps:not([hidden])) .brand{flex:0 0 auto}
  .top .sup{min-width:44px;min-height:44px}
  .top .bal,.top .in{min-height:44px}
  .designs .gh .btn.sm{min-height:44px}

  /* главная: подсказки «Например» на телефоне не нужны (Виталий 26.10) — примеры бегут строкой в поле */
  .h6 .ex{display:none}
  .h6 .rl{display:flex;gap:12px;overflow-x:auto;margin:0 -16px;padding:2px 16px 6px;scroll-snap-type:x mandatory;scroll-padding-inline:16px;scrollbar-width:none;max-width:none}
  .h6 .rl::-webkit-scrollbar{display:none}
  .h6 .ri{flex:0 0 44%;scroll-snap-align:start}

  /* план — шаг 1 */
  main.plan{padding:14px 16px calc(100px + var(--ck,0px) + env(safe-area-inset-bottom));gap:0}
  main.plan[data-step=plan]>.side{display:none}
  main.plan[data-step=design]>.pcol{display:none}
  main.plan[data-step=design]~.jump{display:none}
  main.plan.st[data-step=plan]>.pcol{animation:v2l .3s cubic-bezier(.2,.8,.2,1)}
  main.plan.st[data-step=design]>.side{animation:v2r .3s cubic-bezier(.2,.8,.2,1)}
  main.plan h1{font-size:clamp(26px,7vw,34px);line-height:1.08}
  main.plan .pcol>.muted{display:none}
  main.plan h1{margin-bottom:16px!important}

  /* план: каждый слайд — карточка с заголовком и всеми пунктами (Виталий: «где тут план… предлагаешь в каждый заходить?»), нажатие — правка */
  .pl-list.rows{gap:10px}
  .pr{position:relative;display:flex;align-items:flex-start;gap:12px;width:100%;padding:14px 14px 14px 12px;text-align:left;background:var(--panel);border-radius:16px;box-shadow:0 0 0 1px #ECE8F3}
  .pr .no{flex:0 0 28px;height:28px;border-radius:50%;background:var(--accent-soft);color:var(--accent);font:700 14px/28px var(--ui);text-align:center}
  .pr .tx{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px;padding-top:3px}
  .pr b{font-size:17px;line-height:1.3;font-weight:700;color:var(--text);overflow-wrap:anywhere}
  .pr ul{margin:0;padding:0 0 0 18px;display:flex;flex-direction:column;gap:4px}
  .pr li{font-size:15px;line-height:1.4;color:#3D3A47;overflow-wrap:anywhere}
  .pr li::marker{color:#A78BFA}
  .pr em{font-style:normal;font-size:15px;color:var(--muted)}
  .pr img{flex:0 0 40px;width:40px;height:40px;object-fit:cover;border-radius:8px}
  .pr .pen{flex:0 0 20px;width:20px;height:20px;margin-top:4px;color:#A99FC2}
  .pl-list.rows{gap:0}
  .pl-list.rows .pins{height:44px;margin:0}
  .pl-list.rows .pins i{opacity:1}
  /* правка слайда плана — экран редактора прода (.sed, .ed-top, .tiles) */
  .pse-body{flex:1;min-height:0;overflow:auto;padding:6px 16px 16px;display:flex;flex-direction:column;gap:8px}
  .pse .ed-top .btn.pri{min-height:44px;padding:0 18px}
  .pse .ed-nav .btn.ico{min-height:44px}
  .pse .lb{font:600 13px/1.2 var(--ui);color:var(--muted);margin-top:8px}
  .pse .pf{display:block;width:100%;border:0;outline:0;resize:none;overflow:hidden;background:rgba(22,20,26,.06);border-radius:20px;padding:14px 18px;font:400 17px/1.45 var(--ui);color:var(--text)}
  .pse .pf{flex-shrink:0} /* длинные пункты не сжимаются — прокручивается сам экран */
  .pse .pf.ttl{font-weight:700;font-size:19px;line-height:1.3}
  .pse .pf:focus{background:rgba(22,20,26,.08);box-shadow:inset 0 0 0 2px rgba(109,40,217,.35)}
  .pse .pf[aria-invalid=true]{box-shadow:inset 0 0 0 2px var(--danger)}
  .pse .err{margin:0;font-size:14px}.pse .err:empty{display:none}
  .pse-panel{flex:none;padding-bottom:calc(16px + var(--ck,0px) + env(safe-area-inset-bottom))}
  .pse .tile{min-height:64px}
  /* готовая презентация на телефоне: «+» между слайдами — кнопка вставки самого редактора прода */
  .stage .card .ins{display:flex;align-items:center;justify-content:center;position:absolute;left:50%;bottom:-28px;z-index:3;width:36px;height:36px;margin-left:-18px;padding:0;border:0;border-radius:50%;background:#fff;color:#6D28D9;font:500 22px/1 var(--ui);box-shadow:0 2px 10px rgba(40,30,60,.16)}
  .stage .card .ins::after{content:'';position:absolute;inset:-4px}
  .stage.working .card .ins{display:none}
  main.plan .row{flex-wrap:wrap;gap:8px}
  main.plan #add{flex:1 1 100%;min-height:50px;background:var(--panel);color:var(--accent);border-radius:14px;font-size:16px}
  main.plan #del{background:none;color:var(--danger);padding:0 6px;font-weight:500;min-height:44px}
  main.plan #saved{margin-left:auto}

  /* кнопка шага и нижняя панель стоят над плашкой cookie */
  .jump{min-height:54px;border-radius:16px;box-shadow:0 10px 30px rgba(109,40,217,.28);bottom:calc(14px + var(--ck,0px) + env(safe-area-inset-bottom))}

  /* лист правки слайда плана */
  .psh .box{gap:8px}
  .psh .ps-top{display:flex;align-items:center;gap:4px;margin:0 0 4px}
  .psh .ps-top h3{margin:0;font-size:18px;touch-action:none}
  .psh .ps-top .sp{flex:1}
  .psh .ps-top .btn.ico{width:44px;min-height:44px;background:rgba(22,20,26,.05)}
  .psh .ps-top .btn.ico:disabled{opacity:.35}
  .psh .ps-top [data-a=del]{color:var(--danger)}
  .psh .lb{font-size:13px;font-weight:600;color:var(--muted);margin-top:4px}
  .psh textarea.f{resize:none;font-size:16px;line-height:1.45}
  .psh textarea[aria-invalid=true]{box-shadow:inset 0 0 0 2px var(--danger)}
  .modal.psh .box textarea.ttl{font-weight:650;min-height:0}
  .modal.psh .box textarea.f:not(.ttl){min-height:96px}
  .psh .err{margin:0;min-height:0;font-size:14px}
  .psh .err:empty{display:none}

  /* дизайн — шаг 2 */
  .designs .gh{margin:0 0 6px}
  .designs .gt{font-size:clamp(24px,6.6vw,30px);line-height:1.1}
  .gchips{position:sticky;top:var(--top);z-index:6;margin:0 -16px;padding:8px 16px 10px;background:rgba(250,248,244,.94);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
  .gchips button{min-height:44px}
  .ggrid{gap:14px 12px}
  .gi span{font-size:14px}

  /* нижняя панель: только «Создать» и строка «N слайдов · стиль»; образец стиля на телефоне не показывается (Виталий 26.10: «этого быть не должно») */
  .dock{display:flex;flex-direction:column;gap:10px;position:sticky;bottom:0;z-index:12;margin:14px -16px 0;padding:12px 16px calc(12px + var(--ck,0px) + env(safe-area-inset-bottom));background:rgba(250,248,244,.92);backdrop-filter:blur(18px) saturate(1.3);-webkit-backdrop-filter:blur(18px) saturate(1.3);box-shadow:0 -1px 0 rgba(22,20,26,.06)}
  .dock #gpv{display:none}
  .dock .cta{position:static;margin:0;padding:0;background:none;box-shadow:none;border-radius:0;backdrop-filter:none;-webkit-backdrop-filter:none}
  .cta .note{text-align:center;font-size:13px}
  .designs>.cta{padding-bottom:calc(12px + var(--ck,0px) + env(safe-area-inset-bottom))}
  .cta .wide{white-space:normal;line-height:1.25;padding:8px 18px;min-height:54px} /* «Создать презентацию · 20 вдохновений» на 320 px переносится, а не вылезает */

  /* окна — листы снизу на всю ширину, ручка сверху, свайп вниз закрывает */
  .modal.sheet{align-items:end;padding:0;animation:v2fade .2s}
  .modal.sheet .box{max-width:none;max-height:calc(100dvh - 24px);overflow:auto;border-radius:22px 22px 0 0;padding:10px 18px calc(18px + var(--ck,0px) + env(safe-area-inset-bottom));animation:v2up .32s cubic-bezier(.2,.8,.2,1);transition:transform .2s;overscroll-behavior:contain}
  .modal.sheet .box>h3{touch-action:none}
  .modal.sheet .grab{display:block;flex:none;width:100%;height:22px;margin:-6px 0 0;touch-action:none;cursor:grab;position:relative}
  .modal.sheet .grab::after{content:'';position:absolute;left:50%;top:8px;width:38px;height:5px;margin-left:-19px;border-radius:3px;background:rgba(22,20,26,.18)}
}
@media (max-width:1023px) and (min-width:640px){
  main.plan{max-width:680px}
  .ggrid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .h6 .ri{flex-basis:28%}
}
@media (max-width:360px){
  .top .steps button{padding:0 12px;font-size:13px}
}
@media (prefers-reduced-motion:reduce){
  #app>main,main.plan>*,.modal.sheet,.modal.sheet .box,.h6 .comp,.h6 .cw::before{animation:none!important}
  .modal.sheet .box,.btn,.pr,.gi{transition:none!important}
}

/* ================= ПК «один экран» (1024+; 26.10, Виталий: «ну и ПК тоже выкладывай не только МОБ»; вид из прототипа proto/flow) =================
   тема и число слайдов над планом, строка Корхи, план карточками по две в ряд, дизайн справа — частью страницы, кнопка «Создать» прилипает к низу экрана */
.pq,.pst,.phint,.pall{display:none}
/* документ целиком — карточкой рядом с фото (все ширины) */
.pdoc{position:relative;display:inline-flex;align-items:center;gap:10px;max-width:100%;padding:9px 34px 9px 12px;border-radius:12px;background:#f4f1fa}
.pdoc svg{width:22px;height:22px;flex:none;color:#6d28d9}
.pdoc>span{display:flex;flex-direction:column;min-width:0}.pdoc b{font-size:13.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pdoc i{font-style:normal;font-size:12px;color:var(--muted)}
.pdoc button{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:22px;height:22px;border-radius:50%;border:0;background:#16141a;color:#fff;font-size:13px;line-height:1;cursor:pointer}
/* голос: идёт запись — кнопка подсвечена, повторное нажатие останавливает */
.ib.rec,[data-mic].rec,#mic.rec{background:#6d28d9!important;color:#fff!important;animation:v2mic 1.2s ease-in-out infinite}
@keyframes v2mic{50%{box-shadow:0 0 0 8px rgba(109,40,217,.15)}}
/* свой дизайн: палитра варианта, пока рисуется образец */
.dz .osw{position:absolute;right:10px;top:10px;z-index:3;display:flex;gap:4px}.dz .osw em{width:18px;height:18px;border-radius:50%;box-shadow:0 0 0 1.5px rgba(255,255,255,.9),0 1px 3px rgba(0,0,0,.15)}
@keyframes v2in{from{opacity:0;transform:translateY(14px) scale(.97);filter:blur(6px)}to{opacity:1;transform:none;filter:none}}
@keyframes v2sh{to{background-position:-300% 0}}
@keyframes v2sweep{from{background-position:120% 0}to{background-position:-130% 0}}
@media (min-width:1024px){
  main.plan{max-width:1480px;grid-template-columns:minmax(0,1fr) 380px;column-gap:44px;padding:22px 40px 80px}
  main.plan>.side{position:static;max-height:none;overflow:visible;padding:0;margin:0;align-self:stretch;display:flex;flex-direction:column}
  main.plan>.side>.designs{flex:1}
  .designs>.cta,.designs .dock>.cta{margin-top:auto}
  main.pcplan>.side{animation:v2r .7s cubic-bezier(.2,.7,.2,1) both .15s}
  main.plan .pcol>h1,main.plan .pcol>p.muted:not(.phint),main.plan #add{display:none}
  main.plan .gt{font-size:28px}
  /* тема сверху */
  .pq{display:block;background:#fff;border-radius:18px;padding:10px 12px 10px 18px;box-shadow:0 0 0 1px #ece7f3,0 8px 24px rgba(40,30,70,.06);transition:box-shadow .25s}
  .pq:focus-within{box-shadow:0 0 0 1.5px #b9a3f3,0 8px 24px rgba(109,40,217,.12)}
  .pq textarea{display:block;width:100%;border:0;outline:0;resize:none;background:none;font:400 16px/1.45 var(--ui);color:var(--text);min-height:26px;max-height:180px;padding:8px 0 6px}
  .pq textarea[readonly]{color:var(--muted)}
  .qbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px 10px;margin-top:2px}
  .qnote{margin:8px 0 2px;font-size:13px;color:var(--muted)}
  .qbar .seg{display:flex;gap:2px;padding:3px;border-radius:12px;background:#f4f1fa}
  .qbar .seg button{height:32px;min-width:46px;padding:0 12px;border:0;border-radius:9px;background:none;color:#5d5870;font:600 14px var(--ui);cursor:pointer;transition:background .2s,color .2s}
  .qbar .seg button.on{background:#fff;color:var(--text);box-shadow:0 1px 3px rgba(30,20,60,.12)}
  .qbar .seg button:disabled{opacity:.4;cursor:default}
  #qnn{width:72px;height:38px;border:0;border-radius:10px;background:#f4f1fa;padding:0 10px;font:600 14px/1 var(--ui);outline:0}#qnn:focus{box-shadow:0 0 0 2px var(--accent)}
  .qbar .sp{flex:1}
  .qbar .ib{width:38px;height:38px;border:0;border-radius:50%;display:grid;place-items:center;background:none;color:#6b6677;cursor:pointer;transition:background .15s,color .15s}.qbar .ib svg{width:20px;height:20px}.qbar .ib:hover{background:#f3f0fa;color:#16141a}.qbar .ib.busy{animation:h6p 1s ease-in-out infinite}
  .qatt{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:4px 0 8px}.qatt[hidden]{display:none}.qatt .pc{position:relative}.qatt .pc img{width:56px;height:56px;object-fit:cover;border-radius:10px;display:block}.qatt .pc button{position:absolute;right:-6px;top:-6px;width:22px;height:22px;border:0;border-radius:50%;background:#16141a;color:#fff;font-size:14px;line-height:1;display:grid;place-items:center;cursor:pointer}
  .qbar .go{height:40px;padding:0 20px;border:0;border-radius:999px;background:var(--accent);color:#fff;font:600 14px var(--ui);cursor:pointer;animation:v2pop .35s cubic-bezier(.34,1.4,.5,1)}
  .qbar .go:hover{filter:brightness(1.08)}
  @keyframes v2pop{from{opacity:0;transform:scale(.9)}to{opacity:1;transform:none}}
  /* строка Корхи */
  .pst{display:flex;align-items:center;gap:12px;min-height:44px;margin:22px 0 16px;font-size:15px;color:var(--muted)}
  .pst b{color:var(--text);font-weight:600}
  .pst k-mascot{width:44px;height:44px;flex:none;margin:0}
  .pst .kwait{margin:0;flex:1}
  .pst .pwait{flex:1;min-width:0;display:block}.pst .pwait .kwait{margin:0}
  main.pcplan #wait{margin:22px 0 4px}
  .phint{display:block;margin:0 0 16px}
  /* план карточками */
  .pl-list.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:stretch}
  .pl-list.cards>.pl{position:relative;display:flex;flex-direction:column;gap:6px;min-height:190px;padding:12px 20px 18px;border-radius:14px;background:#fff;box-shadow:0 1px 0 rgba(30,20,60,.04),0 14px 34px rgba(40,30,70,.08);transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s cubic-bezier(.2,.7,.2,1),opacity .3s,filter .3s}
  .pl-list.cards>.pl:hover{transform:translateY(-2px);box-shadow:0 1px 0 rgba(30,20,60,.04),0 20px 44px rgba(40,30,70,.12)}
  .pl-list.cards.anim>.pl,.pl-list.cards.anim>.pladd{animation:v2in .6s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(var(--i,0) * 70ms)}
  .pl-list.cards.out>.pl,.pl-list.cards.out>.pladd{opacity:.35;filter:blur(2px)}
  .cards>.pl>*{position:relative;z-index:1}
  .cards>.pl>.pt{position:absolute;inset:0;z-index:0;border-radius:14px;background:center/cover;filter:blur(26px) saturate(1.25);clip-path:inset(0 round 14px);opacity:0;transition:opacity .7s cubic-bezier(.2,.7,.2,1)}
  .cards>.pl>.pt.on{opacity:1}
  .cards>.pl::after{content:'';position:absolute;inset:0;z-index:0;border-radius:14px;background:linear-gradient(160deg,rgba(255,255,255,.58),rgba(255,255,255,.74));opacity:0;transition:opacity .7s cubic-bezier(.2,.7,.2,1) calc(var(--i,0) * 60ms);pointer-events:none}
  .cards>.pl.tinted::after{opacity:1}
  .cards>.pl .no{display:flex;align-items:center;height:30px;padding:0;white-space:nowrap;font:600 11px/1 var(--ui);letter-spacing:.12em;text-transform:uppercase;color:var(--faint);text-align:left}
  .cards>.pl textarea.f{width:100%;min-height:0;padding:2px 4px;margin:0 -4px;border:0;border-radius:6px;background:none;resize:none;overflow:hidden;outline:0}
  .cards>.pl textarea.f.ttl{font:600 18px/1.25 var(--ui);color:var(--text)}
  .cards>.pl textarea.f[data-k=points]{font-size:14px;line-height:1.5;color:#4f4a62}
  .cards>.pl textarea.f:focus{background:rgba(109,40,217,.06)}
  .cards>.pl .tools{position:absolute;right:10px;top:10px;z-index:3;display:flex;flex-direction:row;gap:4px;opacity:0;transform:translateY(-4px);transition:opacity .2s,transform .2s}
  .cards>.pl:hover .tools,.cards>.pl:focus-within .tools{opacity:1;transform:none}
  .cards>.pl .tools .btn{min-height:30px;height:30px;padding:0 8px;background:rgba(255,255,255,.85);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--text);box-shadow:0 2px 8px rgba(30,20,60,.10);font-size:12.5px;gap:6px}
  .cards>.pl .tools .btn:hover:not(:disabled){background:var(--text);color:#fff}
  .cards>.pl .tools .btn:disabled{opacity:.35}
  .cards>.pl .tools .btn svg{width:14px;height:14px}
  .cards>.pl .tools .redo{padding:0 10px}
  .cards>.pl .plpics{margin-top:auto}
  .cards>.pl>.pins{position:absolute;left:-23px;top:50%;width:28px;height:28px;margin:0;transform:translateY(-50%);z-index:4}
  .cards>.pl.gen::before{content:'';position:absolute;inset:0;z-index:4;border-radius:14px;background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.85) 50%,transparent 70%) 0 0/250% 100%;animation:v2sweep 1.3s cubic-bezier(.2,.7,.2,1) infinite}
  .cards>.pl.gen textarea{opacity:.4}
  .cards>.pl.sk{gap:10px;padding-top:20px}
  .cards>.pl.sk i{display:block;height:12px;border-radius:6px;background:linear-gradient(90deg,#f1edf6 25%,#f9f7fc 50%,#f1edf6 75%) 0 0/300% 100%;animation:v2sh 1.5s linear infinite}
  .cards>.pl.sk>i.pt{position:absolute;inset:0;width:auto;height:auto;border-radius:14px;background:center/cover;animation:none}.cards>.pl.sk>i:not(.pt){position:relative;z-index:1}
  .cards>.pl.sk i:nth-child(1){width:22%;height:9px}.cards>.pl.sk i:nth-child(2){width:78%;height:16px}.cards>.pl.sk i:nth-child(3){width:64%}.cards>.pl.sk i:nth-child(4){width:70%}
  .cards>.pl.fresh{background:#f1ecfb}
  .cards>.pl .pgen{margin:4px 0 0;font-size:14px;line-height:1.45;color:#4f4a62}
  .pladd{min-height:190px;border:0;border-radius:14px;background:rgba(109,40,217,.05);color:var(--accent);font:600 15px var(--ui);display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;transition:background .2s}
  .pladd:hover{background:rgba(109,40,217,.09)}.pladd b{font-size:22px;font-weight:400;line-height:1}
  .pladd:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
  /* вопрос на карточке */
  .cards>.pl>.ask{position:absolute;inset:0;z-index:6;display:flex;flex-direction:column;gap:8px;padding:14px 16px;border-radius:14px;background:rgba(255,255,255,.95);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);animation:v2fade .25s}
  .ask b{font-size:15px}
  .ask textarea{flex:1;min-height:60px;border:0;outline:0;resize:none;border-radius:10px;background:#f6f3fb;padding:10px 12px;font:400 14px/1.4 var(--ui);color:var(--text)}
  .ask-b{display:flex;align-items:center;flex-wrap:wrap;gap:6px 8px}.ask-b .sp{flex:1}
  .ask .lnk{border:0;background:none;color:var(--muted);font:600 13.5px var(--ui);padding:6px 4px;cursor:pointer;text-decoration:none}.ask .lnk:hover{color:var(--text)}
  /* «Переделать все» — строка под Корхи */
  .pall{display:flex;gap:8px;align-items:center;margin:-4px 0 16px;padding:6px 6px 6px 14px;border-radius:14px;background:#fff;box-shadow:0 0 0 1px #ece7f3}
  .pall:focus-within{box-shadow:0 0 0 2px var(--accent)}
  .pall input{flex:1;min-width:0;border:0;outline:0;background:none;font:400 14.5px/1.4 var(--ui);color:var(--text)}
  .pall .go{height:34px;padding:0 14px;border:0;border-radius:10px;background:#f1ecfb;color:var(--accent);font:600 13.5px var(--ui);white-space:nowrap;cursor:pointer;transition:background .2s,color .2s}
  .pall .go:hover{background:var(--accent);color:#fff}
  .pall[inert]{opacity:.55}
  /* создание на месте: панель дизайна ушла, карточки — листы 3:2 по три в ряд, на каждом сцена Корхи; готовый слайд проявляется кругом */
  main.plan.building{grid-template-columns:minmax(0,1fr)}
  main.plan.building>.side,main.plan.building .pall,main.plan.building .pladd{display:none}
  .bprog{height:4px;margin:10px 0 0;border-radius:2px;background:#ece7f3;overflow:hidden}.bprog>i{display:block;height:100%;width:0;border-radius:2px;background:var(--accent);transition:width .8s cubic-bezier(.2,.7,.2,1)}
  main.plan.building .pq{opacity:.6}main.plan.building .qbar .ib{display:none}
  main.plan.building .pl-list.cards.handoff{grid-template-columns:minmax(0,1fr);max-width:900px;margin:0 auto}
  main.plan.building .pl-list.cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
  main.plan.building .cards>.pl{aspect-ratio:3/2;min-height:0;padding:0;overflow:hidden;transform:none}
  main.plan.building .cards>.pl>:not(.bsc){display:none}
  main.plan.building .cards>.pl::after{display:none}
  .bsc{position:absolute;inset:0;z-index:2;border-radius:14px;overflow:hidden;animation:v2in .6s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(var(--i,0) * 80ms)}
  .bsc>.sv.dzw{position:absolute;inset:0;aspect-ratio:auto;border-radius:0}
  .bsc>.bsv{position:absolute;inset:0;aspect-ratio:auto;border-radius:0;z-index:2;clip-path:circle(0% at 50% 55%);transition:clip-path 1s cubic-bezier(.2,.7,.2,1)}
  .cards>.pl.ok .bsv{clip-path:circle(80% at 50% 55%)}
  .cards>.pl.ok{cursor:pointer}.cards>.pl.ok:hover{transform:translateY(-3px)}.cards>.pl.ok:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
  .bsc .bfail{position:absolute;left:12px;right:12px;bottom:12px;z-index:3;margin:0;padding:8px 12px;border-radius:12px;background:rgba(255,255,255,.92);color:#b42318;font:600 13px/1.3 var(--ui)}
  /* дизайн справа: по 12, «Показать ещё» */
  .ggrid .gmore{grid-column:1/-1;height:40px;margin-top:4px;border:0;border-radius:999px;background:#f1ecfb;color:#4c1d95;font:600 14px var(--ui);cursor:pointer}
  .ggrid .gmore:hover{background:#e7defa}
}
@media (min-width:1024px) and (max-width:1279px){.cards>.pl .tools{gap:2px;right:8px;top:8px}.cards>.pl .tools .btn{width:28px;min-width:28px;height:28px;min-height:28px;padding:0}.cards>.pl .tools .redo span{display:none}} /* узкая колонка плана: «Переделать» — значком с подсказкой, не наезжает на «Слайд N» */
@media (min-width:1024px) and (prefers-reduced-motion:reduce){
  .pl-list.cards.anim>.pl,.pl-list.cards.anim>.pladd,main.pcplan>.side,.cards>.pl.gen::before,.cards>.pl.sk i,.qbar .go,.bsc{animation:none!important}
  .bsc>.bsv{transition:none!important;clip-path:none!important}
  .cards>.pl,.cards>.pl>.pt,.cards>.pl::after{transition:none!important}
}

/* название выбранного стиля поверх образца (прототип: без пояснительной фразы) и вуаль перехода в редактор */
.gprev{position:relative}.gprev .gnm{position:absolute;left:10px;bottom:10px;max-width:calc(100% - 20px);padding:5px 10px;border-radius:999px;background:rgba(22,20,26,.72);color:#fff;font:600 13px/1.2 var(--ui);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;backdrop-filter:blur(6px)}
.veil{position:fixed;inset:0;z-index:90;background:var(--bg,#fff);pointer-events:none;opacity:0}
