/* WebSEO · Суфлёр — стили в цветах сайта (переменные из site.css) */
.wsp{--wsp-fg:#ffffff;--wsp-stage:#000000;--wsp-size:48px;--wsp-width:85%;--wsp-linepos:35%}
.wsp-hero-btns{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.wsp-badge{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:var(--green-l);border:1px solid #2A4A3A;border-radius:999px;padding:10px 16px}
.wsp-sec{padding:48px 0 24px}
.wsp-wrap{display:flex;flex-direction:column;gap:24px}
.wsp-grid{display:flex;flex-wrap:wrap;gap:24px;align-items:stretch}
.wsp-card{background:var(--white);border:1px solid var(--line);border-radius:24px;padding:24px;display:flex;flex-direction:column;gap:12px;min-width:0}
.wsp-card__top{display:flex;justify-content:space-between;align-items:center;gap:8px}
.wsp-tpl{flex:1 1 300px}
.wsp-edit{flex:2 1 460px}
.wsp-set{flex:1 1 340px;gap:20px}
.wsp-stagewrap{flex:999 1 560px;min-width:0;display:flex;flex-direction:column;gap:14px}
.wsp-h2{margin:0;font-family:var(--f-title);font-size:20px;line-height:1.3}
.wsp-muted{color:var(--muted);font-size:14px}
.wsp-note{margin:0;font-size:13px;line-height:1.5;color:var(--muted)}
.wsp-label{font-family:var(--f-caps);font-size:13px}

/* кнопки */
.wsp-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 18px;border-radius:999px;border:1px solid var(--line2);background:var(--white);color:var(--ink);font-family:var(--f-caps);font-size:14px;line-height:1.2;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s}
.wsp-btn:hover{border-color:var(--ink)}
.wsp-btn--sm{min-height:38px;padding:8px 14px;font-size:13px}
.wsp-btn--primary{background:var(--orange);border-color:var(--orange);color:var(--ink)}
.wsp-btn--primary:hover{background:#ffb534;border-color:#ffb534}
.wsp-btn--dark{background:var(--ink);border-color:var(--ink);color:var(--linen)}
.wsp-btn--dark:hover{background:#163a2b;color:var(--linen)}
.wsp-btn--ghost{background:rgba(255,255,255,.1);border-color:transparent;color:#fff}
.wsp-btn--ghost:hover{background:rgba(255,255,255,.18);border-color:transparent}
.wsp-btn--play{min-width:140px;min-height:48px;font-size:16px}
.wsp-icbtn{width:48px;height:48px;flex:none;border-radius:50%;border:1px solid var(--line2);background:var(--white);color:var(--ink);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
.wsp-icbtn:hover{border-color:var(--ink)}

/* шаблоны */
.wsp-tpl__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;max-height:380px;overflow-y:auto}
.wsp-tpl__item{display:flex;align-items:center;gap:6px;padding:6px 6px 6px 14px;border-radius:14px;border:2px solid var(--line);background:var(--paper)}
.wsp-tpl__item.is-active{border-color:var(--green);background:var(--green-bg)}
.wsp-tpl__load{flex:1 1 auto;min-width:0;text-align:left;background:none;border:0;color:inherit;font:inherit;cursor:pointer;padding:6px 0;display:flex;flex-direction:column;gap:2px}
.wsp-tpl__name{font-family:var(--f-caps);font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wsp-tpl__meta{font-size:12px;color:var(--muted)}
.wsp-tpl__del{flex:none;width:44px;height:44px;border-radius:50%;border:0;background:none;color:var(--muted);cursor:pointer;display:flex;align-items:center;justify-content:center}
.wsp-tpl__del:hover{color:#A3361F;background:#F7E3DE}
.wsp-tpl__empty{margin:0;font-size:14px;color:var(--muted);text-align:center;padding:24px 8px;border:1px dashed var(--line2);border-radius:14px}
.wsp-tpl .wsp-note{margin-top:auto}

/* редактор */
.wsp-input,.wsp-textarea{width:100%;border-radius:12px;border:1px solid var(--line2);background:var(--paper);color:var(--ink);font-family:var(--f-body);font-size:16px}
.wsp-input{height:48px;padding:0 16px}
.wsp-textarea{min-height:220px;padding:14px 16px;line-height:1.6;resize:vertical}
.wsp-edit__foot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px}
.wsp-edit__btns{display:flex;flex-wrap:wrap;gap:8px}
.wsp-msg{margin:0;min-height:20px;font-size:14px;color:var(--green-d)}
.wsp-msg.is-warn{color:var(--orange-d)}

/* сцена */
.wsp-stage{position:relative;height:540px;background:var(--wsp-stage);border-radius:24px;overflow:hidden;color:var(--wsp-fg)}
.wsp-scroller{position:absolute;left:0;right:0;top:0;display:flex;justify-content:center;will-change:transform}
.wsp-text{width:var(--wsp-width);font-family:var(--f-body);font-size:var(--wsp-size);line-height:1.45;text-align:center;white-space:pre-wrap;overflow-wrap:anywhere}
.wsp.is-mirror .wsp-text{transform:scaleX(-1)}
.wsp-fade{position:absolute;left:0;right:0;height:16%;pointer-events:none}
.wsp-fade--top{top:0;background:linear-gradient(var(--wsp-stage),transparent)}
.wsp-fade--bottom{bottom:0;background:linear-gradient(transparent,var(--wsp-stage))}
.wsp-line{position:absolute;left:0;right:0;top:var(--wsp-linepos);height:2px;background:var(--orange);opacity:.85;pointer-events:none}
.wsp-line i{position:absolute;left:14px;top:-11px;border-top:12px solid transparent;border-bottom:12px solid transparent;border-left:15px solid var(--orange)}
.wsp:not(.has-line) .wsp-line{display:none}
.wsp-count{position:absolute;inset:0;background:rgba(0,0,0,.72);display:flex;align-items:center;justify-content:center;z-index:4}
.wsp-count span{width:200px;height:200px;border-radius:50%;border:4px solid var(--orange);display:flex;align-items:center;justify-content:center;font-family:var(--f-display);font-size:100px;color:#fff}
.wsp-offline{position:absolute;left:50%;top:12px;transform:translateX(-50%);margin:0;font-size:13px;color:var(--ink);background:var(--orange-bg);padding:6px 12px;border-radius:999px;z-index:3}
.wsp-bar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;background:var(--white);border:1px solid var(--line);border-radius:999px;padding:8px}
.wsp-progress{flex:1 1 140px;height:6px;background:var(--line);border-radius:3px;overflow:hidden}
.wsp-progress i{display:block;height:100%;width:0;background:var(--green)}

/* регуляторы «−  число  +» */
.wsp-ctl{display:flex;flex-direction:column;gap:10px}
.wsp-ctl__row{display:flex;justify-content:space-between;align-items:center;gap:10px}
.wsp-ctl__label{font-family:var(--f-caps);font-size:14px}
.wsp-ctl__note{display:flex;justify-content:space-between;font-size:12px;color:var(--muted)}
.wsp-step{display:flex;align-items:center;gap:6px}
.wsp-step__btn{width:44px;height:44px;border-radius:50%;border:1px solid var(--line2);background:var(--white);color:var(--ink);font-size:22px;line-height:1;cursor:pointer;touch-action:manipulation;user-select:none;-webkit-user-select:none;display:flex;align-items:center;justify-content:center}
.wsp-step__btn:hover{border-color:var(--ink)}
.wsp-step__btn:active{background:var(--green-bg);border-color:var(--green)}
.wsp-step__num{width:76px;height:44px;text-align:center;border-radius:12px;border:1px solid var(--line2);background:var(--paper);color:var(--green-d);font-family:var(--f-display);font-size:18px;-moz-appearance:textfield}
.wsp-step__num::-webkit-inner-spin-button,.wsp-step__num::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.wsp-range{width:100%;margin:0;accent-color:var(--green);height:28px}

/* цвета и переключатели */
.wsp-colors{display:flex;flex-direction:column;gap:10px}
.wsp-themes{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.wsp-theme{height:44px;border-radius:12px;border:2px solid var(--line);font-family:Arial,sans-serif;font-weight:700;font-size:15px;cursor:pointer}
.wsp-theme.is-on{border-color:var(--green);box-shadow:0 0 0 2px var(--green-bg)}
.wsp-own{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.wsp-own label{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);cursor:pointer}
.wsp-own input{flex:none;width:44px;height:36px;border:1px solid var(--line2);border-radius:10px;background:var(--paper);padding:2px;cursor:pointer}
.wsp-toggles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.wsp-toggle{display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;border-radius:14px;border:2px solid var(--line);background:var(--paper);color:var(--muted);font-family:var(--f-caps);font-size:13px;cursor:pointer;padding:6px 10px;text-align:center;line-height:1.25}
.wsp-toggle:hover{border-color:var(--line2);color:var(--ink)}
.wsp-toggle[aria-pressed="true"]{border-color:var(--green);background:var(--green-bg);color:var(--ink)}
.wsp-toggle--remote{color:var(--ink)}
.wsp-toggle--remote svg{color:var(--orange-d)}
.wsp-keys{font-size:13px;line-height:1.6;color:var(--muted);border-top:1px solid var(--line);padding-top:14px}
.wsp-keys strong{font-family:var(--f-caps);font-weight:400;color:var(--ink)}
.wsp-keys p{margin:4px 0 0}

/* полноэкранный режим (настоящий и запасной — для iPhone) */
.wsp-fs-top,.wsp-fs-bar{display:none}
.wsp-stagewrap.is-fs{position:fixed;inset:0;z-index:9999;background:var(--wsp-stage);gap:0}
.wsp-stagewrap.is-fs .wsp-stage{height:100%;height:100dvh;border-radius:0}
.wsp-stagewrap.is-fs .wsp-bar{display:none}
.wsp-stagewrap.is-fs .wsp-fs-top{display:flex;position:absolute;top:16px;left:16px;right:16px;justify-content:space-between;align-items:center;gap:12px;z-index:5;transition:opacity .3s}
.wsp-stagewrap.is-fs .wsp-fs-bar{display:flex;position:absolute;bottom:18px;left:50%;transform:translateX(-50%);width:min(1180px,calc(100% - 32px));align-items:center;gap:16px;background:rgba(11,31,23,.94);border:1px solid #2A4A3A;border-radius:22px;padding:12px 16px;z-index:5;transition:opacity .3s;color:var(--linen)}
.wsp-fs-hint{font-size:13px;color:var(--muted-d2)}
.wsp-fs-bar .wsp-icbtn{background:transparent;border-color:#3C5A4B;color:var(--linen)}
.wsp-fs-ctls{flex:1 1 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;min-width:0}
.wsp-fs-ctls .wsp-ctl{gap:4px}
.wsp-fs-ctls .wsp-ctl__label{font-size:13px;color:var(--muted-d)}
.wsp-fs-ctls .wsp-step__btn{width:36px;height:36px;font-size:18px;background:transparent;border-color:#3C5A4B;color:var(--linen)}
.wsp-fs-ctls .wsp-step__btn:hover{border-color:var(--linen)}
.wsp-fs-ctls .wsp-step__num{width:62px;height:36px;font-size:16px;background:var(--ink2);border-color:#2F4D3E;color:var(--orange)}
.wsp-stagewrap.is-fs.is-idle .wsp-fs-top,.wsp-stagewrap.is-fs.is-idle .wsp-fs-bar{opacity:0;pointer-events:none}
.wsp-stagewrap.is-fs.is-idle{cursor:none}
@media (max-width:900px){
  .wsp-stagewrap.is-fs .wsp-fs-bar{flex-wrap:wrap;gap:10px;border-radius:18px}
  .wsp-fs-ctls{grid-template-columns:1fr;gap:6px;flex-basis:100%}
  .wsp-fs-ctls .wsp-range{display:none}
}

/* окно пульта */
.wsp-modal{position:fixed;inset:0;z-index:10000;background:rgba(11,31,23,.7);display:flex;align-items:center;justify-content:center;padding:16px}
.wsp-modal__box{width:min(420px,100%);background:var(--white);border-radius:24px;padding:28px;display:flex;flex-direction:column;gap:12px;text-align:center}
.wsp-modal__box p{margin:0}
.wsp-qr{align-self:center;background:#fff;padding:10px;border:1px solid var(--line);border-radius:14px;line-height:0;min-width:222px;min-height:222px}
.wsp-qr svg{width:200px;height:200px;display:block}
.wsp-code{font-family:var(--f-display);font-size:36px;letter-spacing:6px;color:var(--ink)}
.wsp-link{font-size:13px;color:var(--muted);word-break:break-all}
.wsp-rstatus{font-family:var(--f-caps);font-size:14px}
.wsp-rstatus.is-ok{color:var(--green-d)}
.wsp-rstatus.is-err{color:#A3361F}
.wsp-modal__btns{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}

@media (max-width:640px){
  .wsp-sec{padding-top:24px}
  .wsp-card{padding:18px;border-radius:20px}
  .wsp-stage{height:420px;border-radius:20px}
  .wsp-bar{border-radius:20px}
  .wsp-hide-sm{display:none}
  .wsp-themes{gap:6px}
  .wsp-own,.wsp-toggles{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){.wsp-fs-top,.wsp-fs-bar{transition:none}}

/* ───────── Пульт на телефоне ───────── */
.wsr{max-width:460px;margin:0 auto;padding:28px 16px 48px;display:flex;flex-direction:column;gap:16px}
.wsr-h1{margin:0;font-family:var(--f-display);font-size:30px;line-height:1.2}
.wsr-join,.wsr-pad{display:flex;flex-direction:column;gap:14px}
.wsr-code{height:68px;font-family:var(--f-display);font-size:34px;letter-spacing:10px;text-align:center;background:var(--white);color:var(--ink);border:1px solid var(--line2);border-radius:16px;width:100%}
.wsr-big{min-height:56px;font-size:15px}
.wsr-err{margin:0;color:#A3361F;min-height:20px}
.wsr-status{margin:0;font-family:var(--f-caps);font-size:14px;color:var(--green-d)}
.wsr-status.is-err{color:#A3361F}
.wsr-now{display:flex;flex-direction:column;gap:8px;background:var(--white);border:1px solid var(--line);border-radius:18px;padding:16px}
.wsr-now strong{font-family:var(--f-caps);font-weight:400;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wsr-now .wsp-progress{flex:none;height:6px}
.wsr-play{min-height:120px;font-size:26px;border-radius:26px}
.wsr-row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.wsr-box{background:var(--white);border:1px solid var(--line);border-radius:18px;padding:16px;display:flex;flex-direction:column;gap:14px}
.wsr-line{display:flex;justify-content:space-between;align-items:center;gap:10px;font-family:var(--f-caps);font-size:14px}
.wsr-step{display:flex;align-items:center;gap:8px}
.wsr-step b{width:58px;text-align:center;font-family:var(--f-display);font-weight:400;font-size:22px;color:var(--green-d)}
.wsr-step .wsp-step__btn{width:56px;height:56px;font-size:26px}

/* ───────── Вход пользователей сайта и синхронизация ───────── */
.wsp-acc{border-radius:14px;background:var(--paper);border:1px solid var(--line);padding:10px 12px}
.wsp-acc__guest,.wsp-acc__member{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.wsp-acc__guest .wsp-note{flex:1 1 180px}
.wsp-acc[data-mode="guest"] .wsp-acc__member,.wsp-acc[data-mode="member"] .wsp-acc__guest{display:none}
.wsp-acc__who{display:inline-flex;align-items:center;gap:6px;font-family:var(--f-caps);font-size:14px;min-width:0}
.wsp-acc__who b{font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}
.wsp-acc__who svg{color:var(--green-d);flex:none}
.wsp-sync{font-size:12px;color:var(--muted);flex:1 1 auto}
.wsp-sync[data-state="ok"]{color:var(--green-d)}
.wsp-sync[data-state="ok"]::before{content:"✓ "}
.wsp-sync[data-state="offline"]{color:var(--orange-d)}
.wsp-acc__out{border:0;background:none;color:var(--muted);font:inherit;font-size:13px;text-decoration:underline;cursor:pointer;padding:6px 2px;min-height:32px}
.wsp-acc__out:hover{color:var(--ink)}
.wsp .wsp-note--member,.wsp .wsp-note--guest{display:none}
.wsp-tpl:has(.wsp-acc[data-mode="member"]) .wsp-note--member{display:block}
.wsp-login{text-align:left}
.wsp-login .wsp-modal__btns{justify-content:flex-end}
.wsp-login__err{min-height:20px;color:#A3361F;font-size:14px}
