:root{
  --bg0:#07080b;
  --bg1:#0b0d12;
  --panel:rgba(255,255,255,.08);
  --panel2:rgba(255,255,255,.05);
  --line:rgba(255,140,60,.18);
  --text:rgba(233,236,241,.92);
  --muted:rgba(233,236,241,.64);
  --orange:#ff5a00;
  --orange2:#ff8b1f;
  --danger:#ff6767;
  --ok:#74f0b2;
  --appMax:520px;
  --scrollbar-size:10px;
  --scrollbar-track:rgba(255,255,255,.05);
  --scrollbar-thumb:rgba(255,133,31,.58);
  --scrollbar-thumb-hover:rgba(255,155,50,.78);
  --scrollbar-thumb-active:rgba(255,106,0,.92);
}

/* Отдельная викторианская кнопка игры «Заговор» */
.dashboard-nav-item.dashboard-nav-conspiracy{
  isolation:isolate;
  min-height:calc(64px * var(--dashboard-ui-scale));
  margin:calc(3px * var(--dashboard-ui-scale)) calc(6px * var(--dashboard-ui-scale)) calc(3px * var(--dashboard-ui-scale)) 0;
  border:1px solid rgba(188,143,77,.72);
  border-radius:calc(4px * var(--dashboard-ui-scale)) calc(13px * var(--dashboard-ui-scale)) calc(4px * var(--dashboard-ui-scale)) calc(13px * var(--dashboard-ui-scale));
  padding-right:calc(32px * var(--dashboard-ui-scale));
  color:#eadcc6;
  background:
    linear-gradient(105deg,rgba(137,82,38,.24),transparent 42%),
    repeating-linear-gradient(90deg,#ffffff05 0 1px,transparent 1px 5px),
    linear-gradient(180deg,#231914 0%,#120f0d 56%,#0b0a09 100%);
  box-shadow:inset 0 0 0 1px rgba(39,24,13,.95),inset 0 0 0 3px rgba(188,143,77,.16),0 8px 20px rgba(0,0,0,.3);
  text-shadow:0 1px 1px #000;
  transition:color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease;
}
.dashboard-nav-item.dashboard-nav-conspiracy::before{
  top:calc(8px * var(--dashboard-ui-scale));
  bottom:calc(8px * var(--dashboard-ui-scale));
  width:calc(2px * var(--dashboard-ui-scale));
  background:linear-gradient(180deg,transparent,#d2a45d 22% 78%,transparent);
  box-shadow:0 0 9px rgba(210,164,93,.32);
}
.dashboard-nav-item.dashboard-nav-conspiracy::after{
  content:"◆";
  position:absolute;
  right:calc(11px * var(--dashboard-ui-scale));
  top:50%;
  color:#9f7844;
  font-size:calc(8px * var(--dashboard-ui-scale));
  text-shadow:0 0 8px rgba(210,164,93,.35);
  transform:translateY(-50%) rotate(45deg);
}
.dashboard-nav-item.dashboard-nav-conspiracy:hover{
  color:#fff3dc;
  border-color:#d5a65f;
  background:
    linear-gradient(105deg,rgba(171,103,45,.34),transparent 46%),
    repeating-linear-gradient(90deg,#ffffff06 0 1px,transparent 1px 5px),
    linear-gradient(180deg,#2d2018 0%,#18120e 58%,#0d0b09 100%);
  box-shadow:inset 0 0 0 1px #3d2816,inset 0 0 0 3px rgba(213,166,95,.22),0 10px 24px rgba(0,0,0,.38),0 0 16px rgba(180,116,51,.12);
  transform:translateY(-1px);
}
.dashboard-nav-item.dashboard-nav-conspiracy:active{transform:translateY(0)}
.dashboard-nav-icon.dashboard-nav-conspiracy-icon{
  position:relative;
  border:1px solid #a77a3f;
  border-radius:50% 50% 46% 46%;
  color:#e3bb77;
  background:radial-gradient(circle at 36% 28%,#4b3220,#17110d 66%);
  box-shadow:inset 0 0 0 2px #0c0907,inset 0 0 0 3px rgba(198,147,76,.28),0 3px 10px #0008;
  font:700 calc(18px * var(--dashboard-ui-scale))/1 Georgia,"Times New Roman",serif;
  transform:rotate(-3deg);
}
.dashboard-nav-conspiracy-label{
  display:grid;
  gap:calc(3px * var(--dashboard-ui-scale));
  color:inherit;
  font:600 calc(17px * var(--dashboard-ui-scale))/1 Georgia,"Times New Roman",serif;
  letter-spacing:.035em;
}
.dashboard-nav-conspiracy-label small{
  color:#9e876a;
  font:700 calc(8px * var(--dashboard-ui-scale))/1 Inter,system-ui,sans-serif;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.mobile-nav-item.mobile-nav-conspiracy{
  border:1px solid rgba(181,132,67,.48);
  color:#d9b87f;
  background:linear-gradient(180deg,#2a1c14cc,#100d0bcc);
  box-shadow:inset 0 0 0 1px #0008;
}
.mobile-nav-item.mobile-nav-conspiracy span{
  display:grid;
  width:24px;
  height:24px;
  place-items:center;
  border:1px solid #9f733b;
  border-radius:50%;
  color:#e4bc77;
  background:#17100c;
  font:700 14px/1 Georgia,"Times New Roman",serif;
}
.mobile-nav-item.mobile-nav-conspiracy b{font-family:Georgia,"Times New Roman",serif;letter-spacing:.03em}

*{ box-sizing:border-box; }
*:focus{ outline:0; }
*{ -webkit-tap-highlight-color:rgba(0,0,0,0); }

.visually-hidden{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0, 0, 0, 0);
  white-space:nowrap;
  border:0;
}

html,body{ min-height:100%; }
body{
  margin:0;
  color:var(--text);
  background:
    radial-gradient(1000px 800px at 70% 20%, rgba(255,81,0,.10), transparent 60%),
    radial-gradient(900px 900px at 20% 80%, rgba(255,83,31,.08), transparent 60%),
    linear-gradient(180deg, var(--bg1), var(--bg0));
  font-family:ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, "Noto Sans", "Helvetica Neue", sans-serif;
}

#bg{
  position:fixed;
  inset:0;
  width:100vw;
  height:100vh;
  display:block;
  z-index:0;
}

a{ color:inherit; }
button,input{ font:inherit; }

/* Единый стиль полос прокрутки на всех страницах. */
html{
  scrollbar-width:thin;
  scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track);
}

*{
  scrollbar-width:thin;
  scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track);
}

*::-webkit-scrollbar{
  width:var(--scrollbar-size);
  height:var(--scrollbar-size);
}

*::-webkit-scrollbar-track{
  background:var(--scrollbar-track);
  border-radius:999px;
}

*::-webkit-scrollbar-thumb{
  border:2px solid transparent;
  border-radius:999px;
  background:
    linear-gradient(180deg, rgba(255,155,50,.82), rgba(255,90,0,.62))
    padding-box;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16);
}

*::-webkit-scrollbar-thumb:hover{
  background:
    linear-gradient(180deg, rgba(255,170,70,.92), rgba(255,106,0,.78))
    padding-box;
}

*::-webkit-scrollbar-thumb:active{
  background:
    linear-gradient(180deg, var(--scrollbar-thumb-active), rgba(255,72,0,.88))
    padding-box;
}

*::-webkit-scrollbar-corner{
  background:transparent;
}

.screen-login{
  position:relative;
  z-index:1;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  min-height:100vh;
  padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);
}

.login-wrap{
  width:min(420px, 100%);
  padding:clamp(18px, 4.6vw, 24px);
  padding-top:clamp(26px, 7vh, 54px);
  text-align:center;
}

.brand{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:10px;
  margin-bottom:18px;
}

.brand-mark{
  width:86px;
  height:86px;
  display:grid;
  place-items:center;
  border-radius:22px;
  color:#fff;
  font-size:42px;
  font-weight:900;
  background:linear-gradient(145deg, rgba(255,90,0,.95), rgba(255,139,31,.72));
  box-shadow:0 16px 38px rgba(255,106,0,.22), inset 0 1px 0 rgba(255,255,255,.22);
}

.brand-title{
  margin:0;
  font-weight:800;
  letter-spacing:.10em;
  font-size:clamp(26px, 6.6vw, 34px);
  line-height:1.05;
}

.brand-logo-image{
  gap:clamp(8px, 2.4vw, 12px);
}

.brand-logo-mark{
  width:clamp(72px, 20vw, 104px);
  height:auto;
  display:block;
  filter:drop-shadow(0 16px 34px rgba(255,106,0,.18));
}

.brand-logo-text{
  width:clamp(145px, 40vw, 170px);
  height:auto;
  display:block;
  filter:drop-shadow(0 10px 24px rgba(0,0,0,.34));
}

.t-main{
  color:rgba(233,236,241,.92);
  text-shadow:0 8px 22px rgba(0,0,0,.45);
}

.t-accent{
  color:var(--orange);
  text-shadow:0 10px 26px rgba(255,106,0,.25), 0 0 18px rgba(255,106,0,.14);
}

.glass-card,
.content-panel,
.modal{
  border-radius:18px;
  background:linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.06));
  border:1px solid var(--line);
  box-shadow:0 18px 60px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.10);
  backdrop-filter:blur(18px) saturate(125%);
  -webkit-backdrop-filter:blur(18px) saturate(125%);
}

.auth-card{
  width:min(420px, 92vw);
  margin:10px auto 0;
  padding:16px;
}

.login-form{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.register-step{
  display:grid;
  gap:12px;
}

.register-step.is-hidden{
  display:none;
}

.register-step .field{
  margin:0;
}

.auth-email-status{
  display:none;
  margin:-3px 2px 0;
  color:rgba(233,236,241,.68);
  font-size:13px;
  line-height:1.4;
}

.auth-email-status:not(:empty){
  display:block;
}

.auth-email-status.is-error{
  color:#ffaaaa;
}

.auth-email-status.is-checking{
  color:rgba(255,190,125,.88);
}

.auth-password-status{
  display:none;
  margin:-3px 2px 0;
  font-size:13px;
  line-height:1.4;
}

.auth-password-status:not(:empty){
  display:block;
}

.auth-password-status.is-match{
  color:rgba(145,225,170,.96);
}

.auth-password-status.is-error{
  color:#ffaaaa;
}

.register-back{
  width:max-content;
  max-width:100%;
  padding:3px 0;
  border:0;
  color:rgba(255,170,95,.88);
  background:transparent;
  font:inherit;
  font-size:13px;
  cursor:pointer;
}

.register-back:hover{
  color:#fff;
}

.auth-terms-note{
  margin:0;
  color:rgba(233,236,241,.54);
  font-size:11px;
  line-height:1.45;
  text-align:center;
}

.auth-terms-note a{
  color:rgba(255,170,95,.86);
  text-decoration:none;
}

.auth-terms-note a:hover{
  text-decoration:underline;
}

.oauth-signin{
  display:grid;
  gap:9px;
  width:100%;
}

.oauth-divider{
  display:flex;
  align-items:center;
  gap:10px;
  color:rgba(233,236,241,.48);
  font-size:11px;
  text-align:center;
}

.oauth-divider::before,
.oauth-divider::after{
  content:"";
  flex:1;
  height:1px;
  background:rgba(255,255,255,.10);
}

.oauth-provider-button{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  min-height:44px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:6px;
  color:rgba(255,255,255,.92);
  background:rgba(255,255,255,.055);
  font-size:14px;
  font-weight:750;
  text-decoration:none;
  transition:border-color .16s ease, background .16s ease;
}

.oauth-provider-button:hover{
  border-color:rgba(255,140,60,.38);
  background:rgba(255,120,35,.10);
}

.oauth-provider-mark{
  display:grid;
  place-items:center;
  width:24px;
  height:24px;
  border-radius:50%;
  color:#fff;
  background:#fc3f1d;
  font-size:15px;
  font-weight:800;
}

.oauth-vkid-list{
  min-height:44px;
  overflow:hidden;
}

.oauth-status{
  min-height:0;
  color:rgba(145,225,170,.92);
  font-size:11px;
  text-align:center;
}

.oauth-status:empty{
  display:none;
}

.oauth-status.is-error{
  color:#ffaaaa;
}

.oauth-legal-note{
  margin:0;
  color:rgba(233,236,241,.46);
  font-size:10px;
  line-height:1.35;
  text-align:center;
}

.oauth-legal-note a{
  color:rgba(255,170,95,.82);
}

.field{
  position:relative;
  display:flex;
  align-items:center;
  gap:10px;
  border-radius:12px;
  padding:12px 14px;
  background:rgba(10,12,16,.28);
  border:1px solid rgba(255,255,255,.14);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}

.field .icon-left,
.field .icon-right{
  color:rgba(233,236,241,.70);
  display:grid;
  place-items:center;
  flex:0 0 auto;
}

.field .icon-right{
  margin-left:auto;
  opacity:.75;
}

.field input,
input{
  width:100%;
  border:0;
  outline:0;
  background:transparent !important;
  color:#fff;
  box-shadow:none;
  -webkit-appearance:none;
  appearance:none;
}

.field input{
  color:rgba(233,236,241,.92);
  font-size:16px;
  letter-spacing:.02em;
}

.field input::placeholder{ color:rgba(233,236,241,.55); }

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active{
  -webkit-text-fill-color:#fff !important;
  -webkit-box-shadow:0 0 0 1000px rgba(41,31,30) inset !important;
  box-shadow:0 0 0 1000px rgba(43,31,30) inset !important;
  transition:background-color 9999s ease-in-out 0s;
}

.btn-primary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  border:0;
  border-radius:12px;
  padding:13px 16px;
  letter-spacing:.10em;
  text-transform:uppercase;
  color:rgba(255,255,255,.95);
  text-decoration:none;
  background:linear-gradient(90deg, #ff5a00, #ff7a12);
  box-shadow:0 16px 30px rgba(255,106,0,.20), 0 2px 0 rgba(255,255,255,.08) inset;
  cursor:pointer;
}

.btn-primary:active{
  transform:translateY(1px);
  filter:brightness(.98);
}

.icon-btn{
  appearance:none;
  -webkit-appearance:none;
  border:0;
  background:transparent;
  color:rgba(233,236,241,.65);
  padding:0;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
}

.icon-btn.is-on{ color:rgba(255,106,0,.95); }

.rule{
  height:1px;
  background:rgba(255,255,255,.10);
  margin:4px 0 0;
}

.hint{
  display:flex;
  justify-content:center;
  gap:8px;
  font-size:14px;
  color:rgba(233,236,241,.72);
  padding-bottom:2px;
}

.auth-legal-links{
  width:min(420px, 92vw);
  margin:14px auto 0;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:10px 14px;
  color:rgba(233,236,241,.58);
  font-size:13px;
  font-weight:700;
}

.auth-legal-links a,
.legal-links a{
  color:rgba(255,139,31,.92);
  text-decoration:none;
}

.site-footer{
  margin:18px auto 0;
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:18px;
  padding:18px 20px;
  border:1px solid rgba(255,140,60,.14);
  border-radius:16px;
  background:rgba(10,12,16,.22);
  color:rgba(233,236,241,.70);
}

.login-wrap .site-footer{
  width:min(1120px, calc(100vw - 64px));
  margin-left:50%;
  transform:translateX(-50%);
  grid-template-columns:repeat(4, minmax(0, 1fr));
  text-align:left;
}

.site-footer h2{
  margin:0 0 10px;
  color:rgba(255,139,31,.86);
  font-size:11px;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.site-footer a,
.site-footer p{
  display:block;
  margin:7px 0 0;
  color:rgba(233,236,241,.82);
  font-size:14px;
  line-height:1.35;
  text-decoration:none;
}

.link-accent{
  color:rgba(255,106,0,.95);
  text-decoration:none;
  font-weight:700;
}

.link-muted{
  text-align:left;
  margin-top:2px;
  font-size:14px;
  color:rgba(255,106,0,.80);
  text-decoration:none;
  padding:4px 2px;
}

.auth-title{
  font-weight:700;
  color:rgba(255,255,255,.92);
  letter-spacing:.4px;
  text-align:left;
}

.auth-subtitle{
  margin-top:-6px;
  font-size:13px;
  color:rgba(233,236,241,.62);
  line-height:1.3;
  text-align:left;
}

.flash{
  width:100%;
  margin:0 auto 12px;
  padding:10px 12px;
  border-radius:12px;
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  font-size:13px;
  line-height:1.35;
}

.flash-error{
  background:rgba(255,60,60,.12);
  border:1px solid rgba(255,90,90,.25);
  color:rgba(255,210,210,.95);
}

.flash-ok{
  background:rgba(60,255,160,.10);
  border:1px solid rgba(60,255,160,.22);
  color:rgba(210,255,235,.95);
}

.is-hidden{ display:none !important; }

.app-body{
  min-height:100vh;
  overflow:auto;
}

.workspace{
  position:relative;
  z-index:1;
  width:min(1120px, calc(100% - 32px));
  margin:0 auto;
  padding:10px 0 40px;
}

.editor-body{
  overflow:auto;
}

.editor-body .workspace{
  --editor-scale:1;
  transform:scale(var(--editor-scale));
  transform-origin:top center;
}

.workspace-narrow{
  width:min(640px, calc(100% - 32px));
}

.topbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-bottom:10px;
}

.topbar h1{
  margin:2px 0 0;
  font-size:clamp(28px, 3vw, 35px);
  line-height:1.05;
  letter-spacing:0;
}

.topbar-actions{
  display:flex;
  align-items:center;
  gap:16px;
  flex:0 0 auto;
}

.topbar-stats{
  display:flex;
  align-items:center;
  gap:10px;
  margin-left:auto;
  flex:0 0 auto;
}

.tariff-expiry-notice{
  min-height:40px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  padding:0 14px;
  color:rgba(255,235,235,.95);
  text-decoration:none;
  font:inherit;
  font-size:12px;
  line-height:1;
  cursor:pointer;
  background:rgba(255,60,60,.10);
  border:1px solid rgba(255,95,95,.60);
  box-shadow:0 0 18px rgba(255,60,60,.12);
  white-space:nowrap;
}

.tariff-expiry-notice:hover{
  background:rgba(255,80,80,.16);
  border-color:rgba(255,115,115,.82);
}

.played-counter,
.landing-stats{
  min-height:40px;
  display:inline-flex;
  align-items:center;
  gap:9px;
  border:1px solid rgba(255,140,60,.32);
  border-radius:12px;
  padding:0 12px;
  color:rgba(233,236,241,.88);
  background:rgba(255,255,255,.055);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
  white-space:nowrap;
}

.played-counter span,
.landing-stats span{
  color:rgba(233,236,241,.64);
  font-size:12px;
  line-height:1;
}

.played-counter b,
.landing-stats b{
  color:#fff;
  font-size:18px;
  line-height:1;
}

.played-counter{
  margin-left:auto;
}

.landing-library-stats{
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:4px;
  padding-top:6px;
  padding-bottom:6px;
}

.landing-library-stats span{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:7px;
  width:100%;
}

.landing-library-stats span b{
  font-size:14px;
}

.topbar-stats .played-counter{
  margin-left:0;
}

.played-counter-total{
  margin-left:auto;
}

.topbar-stats .played-counter-total{
  margin-left:0;
}

.btn-help{
  width:48px;
  min-width:48px;
  min-height:48px;
  padding:0;
  font-size:22px;
  line-height:1;
}

.btn-settings{
  width:48px;
  min-width:48px;
  min-height:48px;
  padding:0;
  font-size:20px;
  line-height:1;
}

.eyebrow{
  color:var(--orange2);
  font-size:12px;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.btn-ghost{
  min-height:40px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  padding:0 10px;
  text-decoration:none;
  font-size:12px;
  line-height:1;
  color:rgba(255,255,255,.88);
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.12);
}

.cookie-consent{
  position:fixed;
  z-index:70;
  right:20px;
  bottom:20px;
  display:grid;
  grid-template-columns:auto 1fr;
  gap:6px 12px;
  width:min(360px, calc(100% - 40px));
  padding:16px 40px 16px 16px;
  border:1px solid rgba(255,140,60,.18);
  border-radius:16px;
  background:linear-gradient(180deg, rgba(20,22,28,.96), rgba(12,13,18,.96));
  box-shadow:0 18px 44px rgba(0,0,0,.4);
  backdrop-filter:blur(10px);
  opacity:0;
  transform:translateY(24px);
  pointer-events:none;
  transition:opacity .5s ease, transform .5s ease;
}

.cookie-consent.is-visible{
  opacity:1;
  transform:translateY(0);
  pointer-events:auto;
}

.cookie-consent.is-hidden{
  display:none;
}

.cookie-consent-icon{
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border-radius:50%;
  background:rgba(255,140,60,.14);
  color:#ff9a4d;
}

.cookie-consent-body{
  min-width:0;
}

.cookie-consent-body strong{
  display:block;
  margin-bottom:4px;
  color:rgba(233,236,241,.95);
  font-size:14px;
}

.cookie-consent-body p{
  margin:0 0 12px;
  color:rgba(233,236,241,.66);
  font-size:12.5px;
  line-height:1.45;
}

.cookie-consent-body a{
  color:#ff9a4d;
  text-decoration:underline;
}

.cookie-consent-close{
  position:absolute;
  top:10px;
  right:12px;
  border:0;
  background:none;
  color:rgba(233,236,241,.5);
  font-size:18px;
  line-height:1;
  cursor:pointer;
}

.cookie-consent-accept{
  grid-column:2;
  min-height:36px;
  padding:9px 18px;
  font-size:11px;
}

@media (max-width:640px){
  .cookie-consent{
    right:10px;
    bottom:10px;
    left:10px;
    width:auto;
  }
}

.btn-create-icon{
  width:40px;
  min-width:40px;
  min-height:40px;
  padding:0;
  font-size:22px;
  font-weight:950;
  line-height:1;
  letter-spacing:0;
  text-transform:none;
}

.btn-play-field{
  min-height:40px;
  padding:0 12px;
  font-size:12px;
  line-height:1;
  letter-spacing:0;
  text-transform:none;
}

.btn-library{
  min-height:40px;
  padding:0 12px;
  font-size:12px;
}

.content-panel{
  padding:10px;
}

.quiz-meta-row{
  display:grid;
  grid-template-columns:minmax(0, 1.2fr) minmax(160px, .45fr) minmax(170px, .45fr);
  gap:14px;
  align-items:end;
  margin: 0px 0 20px;
}

.quiz-meta-row .editor-label{
  margin:0;
}

.library-publish-field{
  width:max-content;
  max-width:100%;
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin:0;
  color:rgba(255,255,255,.86);
  font-size:13px;
  cursor:pointer;
  white-space:nowrap;
}

.library-publish-field input{
  width:20px;
  height:20px;
  accent-color:var(--orange);
}

.quiz-public-slot{
  flex:0 0 250px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:10px;
  min-height:36px;
}

.quiz-public-form{
  margin:0;
}

.quiz-library-status{
  width:25px;
  height:25px;
  display:inline-grid;
  place-items:center;
  border:1px solid rgba(255,140,60,.58);
  border-radius:9px;
  color:#fff3df;
  background:rgba(255,90,0,.24);
  box-shadow:0 8px 18px rgba(255,90,0,.12);
  font-size:15px;
  font-weight:950;
  line-height:1;
}

.quiz-list{
  display:grid;
  gap:8px;
}

.quiz-context-menu{
  position:fixed;
  z-index:1400;
  min-width:188px;
  padding:6px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:12px;
  background:rgba(10,12,16,.96);
  box-shadow:0 18px 48px rgba(0,0,0,.42);
}

.quiz-context-menu.is-hidden{
  display:none;
}

.quiz-context-menu-item{
  width:100%;
  min-height:36px;
  display:flex;
  align-items:center;
  padding:0 12px;
  border:0;
  border-radius:8px;
  color:#e9ecf1;
  background:transparent;
  text-align:left;
  font:inherit;
  font-size:13px;
  cursor:pointer;
}

.quiz-context-menu-item[hidden]{
  display:none !important;
}

.quiz-context-menu-item:hover,
.quiz-context-menu-item:focus-visible{
  outline:none;
  background:rgba(255,255,255,.06);
}

.quiz-context-menu-item.is-danger{
  color:#ff9b8f;
}

.quiz-context-menu-item.is-danger:hover,
.quiz-context-menu-item.is-danger:focus-visible{
  background:rgba(255,60,40,.12);
}

.icon-upload-progress-backdrop{
  z-index:1600;
  isolation:isolate;
  background:rgba(0,0,0,.72);
}

.icon-upload-progress-modal{
  width:min(420px, 100%);
  padding:22px 24px 20px;
  border:1px solid rgba(255,140,60,.28);
  border-radius:16px;
  background:linear-gradient(180deg, rgba(24,28,36,.98), rgba(12,14,18,.98));
  box-shadow:0 18px 48px rgba(0,0,0,.45);
  text-align:center;
}

.icon-upload-progress-modal h2{
  margin:0 0 10px;
  font-size:18px;
  font-weight:700;
}

.icon-upload-progress-stage{
  margin:0 0 14px;
  color:rgba(233,236,241,.88);
  font-size:14px;
}

.icon-upload-progress-track{
  width:100%;
  height:10px;
  overflow:hidden;
  border-radius:999px;
  background:rgba(255,255,255,.08);
}

.icon-upload-progress-bar{
  width:0;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg, #ff8a2a, #ffb347);
  transition:width .18s ease;
}

.icon-upload-progress-percent{
  margin:10px 0 0;
  font-size:22px;
  font-weight:700;
  color:#ffb347;
}

.icon-upload-progress-hint{
  margin:12px 0 0;
  color:rgba(233,236,241,.58);
  font-size:12px;
  line-height:1.45;
}

.editor-save-progress-backdrop{
  z-index:1600;
  isolation:isolate;
  background:rgba(0,0,0,.72);
}

.editor-save-progress-modal{
  width:min(420px, 100%);
  padding:22px 24px 20px;
  border:1px solid rgba(255,140,60,.28);
  border-radius:16px;
  background:linear-gradient(180deg, rgba(24,28,36,.98), rgba(12,14,18,.98));
  box-shadow:0 18px 48px rgba(0,0,0,.45);
  text-align:center;
}

.editor-save-progress-modal h2{
  margin:0 0 10px;
  font-size:18px;
  font-weight:700;
}

.editor-save-progress-stage{
  margin:0 0 14px;
  color:rgba(233,236,241,.88);
  font-size:14px;
}

.editor-save-progress-track{
  width:100%;
  height:10px;
  overflow:hidden;
  border-radius:999px;
  background:rgba(255,255,255,.08);
}

.editor-save-progress-bar{
  width:0;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg, #ff8a2a, #ffb347);
  transition:width .18s ease;
}

.editor-save-progress-percent{
  margin:10px 0 0;
  font-size:22px;
  font-weight:700;
  color:#ffb347;
}

.editor-save-progress-hint{
  margin:12px 0 0;
  color:rgba(233,236,241,.58);
  font-size:12px;
  line-height:1.45;
}

body.is-icon-upload-busy,
body.is-editor-save-busy{
  overflow:hidden;
}

body.is-icon-upload-busy .layout-resize-grip,
body.is-icon-crop-open .layout-resize-grip{
  display:none !important;
}

body.is-icon-upload-busy .quiz-context-menu,
body.is-icon-upload-busy .folder-context-menu,
body.is-icon-crop-open .quiz-context-menu,
body.is-icon-crop-open .folder-context-menu{
  display:none !important;
  pointer-events:none;
  user-select:none;
}

body.is-icon-upload-busy .dashboard-shell,
body.is-icon-upload-busy .dashboard-workspace{
  pointer-events:none;
  user-select:none;
}

.icon-crop-backdrop{
  z-index:1550;
  isolation:isolate;
  background:rgba(0,0,0,.78);
}

.icon-crop-modal{
  width:min(560px, 100%);
  padding:20px 22px 18px;
  border:1px solid rgba(255,140,60,.28);
  border-radius:16px;
  background:linear-gradient(180deg, rgba(24,28,36,.98), rgba(12,14,18,.98));
  box-shadow:0 18px 48px rgba(0,0,0,.45);
}

.icon-crop-modal h2{
  margin:0 0 8px;
  font-size:18px;
  font-weight:700;
}

.icon-crop-hint{
  margin:0 0 14px;
  color:rgba(233,236,241,.68);
  font-size:13px;
  line-height:1.45;
}

.icon-crop-stage{
  position:relative;
  width:100%;
  max-height:min(52vh, 420px);
  overflow:hidden;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.1);
  background:rgba(0,0,0,.35);
  touch-action:none;
  user-select:none;
}

.icon-crop-image{
  display:block;
  width:100%;
  max-height:min(52vh, 420px);
  object-fit:contain;
  pointer-events:none;
}

.icon-crop-box{
  position:absolute;
  box-sizing:border-box;
  border:2px solid #ffb347;
  box-shadow:0 0 0 9999px rgba(0,0,0,.48);
  cursor:move;
}

.icon-crop-handle{
  position:absolute;
  width:12px;
  height:12px;
  border:2px solid #fff;
  border-radius:50%;
  background:#ff8a2a;
  box-shadow:0 0 0 1px rgba(0,0,0,.35);
}

.icon-crop-handle[data-crop-handle="nw"]{
  top:-7px;
  left:-7px;
  cursor:nwse-resize;
}

.icon-crop-handle[data-crop-handle="ne"]{
  top:-7px;
  right:-7px;
  cursor:nesw-resize;
}

.icon-crop-handle[data-crop-handle="sw"]{
  bottom:-7px;
  left:-7px;
  cursor:nesw-resize;
}

.icon-crop-handle[data-crop-handle="se"]{
  right:-7px;
  bottom:-7px;
  cursor:nwse-resize;
}

.icon-crop-actions{
  display:flex;
  justify-content:flex-end;
  gap:10px;
  margin-top:16px;
}

body.is-icon-crop-open{
  overflow:hidden;
}

body.is-icon-crop-open .dashboard-shell,
body.is-icon-crop-open .dashboard-workspace,
body.is-icon-crop-open .quiz-context-menu,
body.is-icon-crop-open .folder-context-menu{
  pointer-events:none;
  user-select:none;
}

.quiz-row{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:12px;
  padding:5px 14px;
  color:var(--text);
  background:rgba(10,12,16,.30);
  text-align:left;
}

.quiz-row.is-launch-blocked,
.quiz-tile-card.is-launch-blocked{
  opacity:.44;
  filter:saturate(.7) brightness(.78);
  border-color:rgba(255,255,255,.07);
  background:rgba(6,8,12,.42);
}

.quiz-row.is-launch-blocked:hover,
.quiz-tile-card.is-launch-blocked:hover{
  opacity:.5;
  border-color:rgba(255,255,255,.09);
}

.quiz-tile-card.is-launch-blocked .quiz-tile-cover{
  border-color:rgba(255,255,255,.10);
}

.quiz-launch{
  flex:1 1 auto;
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  border:0;
  padding:0;
  color:inherit;
  background:transparent;
  cursor:pointer;
  text-align:left;
}

.quiz-launch:disabled{
  cursor:default;
}

.quiz-row-link{
  flex:1 1 auto;
  min-width:0;
  display:flex;
  align-items:center;
  gap:14px;
  color:inherit;
  text-decoration:none;
}

.quiz-row-link.is-static{
  cursor:default;
}

.quiz-row-library-star{
  flex:0 0 auto;
  width:25px;
  height:25px;
  display:inline-grid;
  place-items:center;
  border:1px solid rgba(255,140,60,.58);
  border-radius:9px;
  color:#fff3df;
  background:rgba(255,90,0,.24);
  box-shadow:0 8px 18px rgba(255,90,0,.12);
  font-size:15px;
  font-weight:950;
  line-height:1;
  pointer-events:none;
}

.quiz-title-wrap{
  min-width:0;
  display:flex;
  align-items:center;
  gap:10px;
  overflow:hidden;
}

.quiz-title-wrap > span:not(.quiz-title-stack),
.quiz-title-stack > span{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:14px;
}

.quiz-title-stack{
  min-width:0;
  display:grid;
  gap:2px;
}

.quiz-title-stack small{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:rgba(233,236,241,.56);
  font-size:11px;
  line-height:1.1;
}

.quiz-age{
  flex:0 0 auto;
  min-width:40px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(255,140,60,.42);
  border-radius:8px;
  padding:4px 7px;
  color:#ffd9bd;
  background:rgba(255,90,0,.16);
  font-size:13px;
  line-height:1;
}

.quiz-question-count{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(255,255,255,.13);
  border-radius:8px;
  padding:4px 7px;
  color:rgba(233,236,241,.76);
  background:rgba(255,255,255,.06);
  font-size:12px;
  line-height:1;
  white-space:nowrap;
}

.quiz-launch small{
  flex:0 0 auto;
  color:var(--orange2);
  font-weight:700;
}

.quiz-actions{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  gap:7px;
}

.quiz-actions form{
  margin:0;
}

.btn-row-action{
  min-height:32px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:9px;
  padding:0 11px;
  border:1px solid rgba(255,255,255,.12);
  color:rgba(255,255,255,.86);
  background:rgba(255,255,255,.06);
  text-decoration:none;
  font-size:12px;
  cursor:pointer;
}

.btn-primary.is-disabled,
.btn-primary:disabled,
.btn-row-action.is-disabled,
.btn-row-action:disabled,
.btn-ghost:disabled{
  opacity:.45;
  cursor:not-allowed;
  pointer-events:none;
}

.btn-row-action.danger{
  color:rgba(255,210,210,.95);
  border-color:rgba(255,90,90,.22);
  background:rgba(255,60,60,.10);
}

.empty-state{
  border:1px dashed rgba(255,255,255,.16);
  border-radius:12px;
  padding:10px;
  background:rgba(10,12,16,.22);
}

.empty-state h2{
  margin:0 0 8px;
  font-size:20px;
}

.empty-state p{
  margin:0;
  color:var(--muted);
  line-height:1.45;
}

.tariff-status{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  border:1px solid rgba(255,140,60,.20);
  border-radius:12px;
  padding:10px 14px;
  margin-bottom:12px;
  background:rgba(10,12,16,.30);
}

.tariff-status span,
.tariff-status small{
  display:block;
  color:var(--muted);
  font-size:12px;
}

.tariff-status b{
  display:block;
  margin-top:2px;
  font-size:18px;
}

.tariff-status-large{
  margin-bottom:18px;
}

.tariff-public-cta{
  margin:22px 0 10px;
  padding:18px;
  border:1px solid rgba(255,140,60,.20);
  border-radius:14px;
  background:rgba(255,255,255,.04);
  display:grid;
  gap:12px;
}

.tariff-public-cta p{
  margin:0;
  color:rgba(233,236,241,.72);
  font-size:15px;
  line-height:1.45;
}

.tariff-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  align-items:stretch;
  gap:14px;
}

.tariff-card{
  display:flex;
  flex-direction:column;
}

.tariff-card,
.admin-tariff-card{
  border:1px solid rgba(255,140,60,.18);
  border-radius:14px;
  padding:16px;
  background:linear-gradient(135deg, rgba(255,255,255,.06), rgba(255,90,0,.05));
}

.tariff-card.is-current{
  border-color:rgba(80,255,170,.45);
  background:rgba(30,190,110,.10);
}

.tariff-card h2,
.admin-panel h2,
.admin-tariff-card h3{
  margin:0 0 12px;
}

.tariff-price{
  margin-bottom:12px;
  color:#fff;
  font-size:34px;
}


.tariff-discount-line{
  margin:0 0 2px;
  color:var(--orange);
  font-weight:800;
}

.tariff-old-price{
  margin:-2px 0 12px;
  color:var(--muted);
  text-decoration:line-through;
  text-decoration-thickness:2px;
}

.tariff-card ul{
  display:grid;
  gap:8px;
  margin:0 0 16px;
  padding-left:20px;
  color:var(--muted);
}

.tariff-card form{
  margin:auto 0 0;
}

.tariff-consent{
  display:flex;
  align-items:flex-start;
  gap:8px;
  margin:0 0 12px;
  color:rgba(233,236,241,.78);
  font-size:13px;
  line-height:1.35;
}

.tariff-consent input{
  width:16px;
  height:16px;
  margin:1px 0 0;
  border:1px solid rgba(255,122,24,.85);
  border-radius:4px;
  background:rgba(0,0,0,.25);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.06);
  appearance:none;
  -webkit-appearance:none;
  flex:0 0 auto;
}

.tariff-consent input:checked{
  background:linear-gradient(135deg, #ff7a18, #ff5a0a);
  border-color:#ff8b2b;
  box-shadow:0 0 16px rgba(255,92,10,.30);
}

.tariff-consent input:checked::after{
  content:"";
  display:block;
  width:8px;
  height:4px;
  margin:4px 0 0 3px;
  border-left:2px solid #fff;
  border-bottom:2px solid #fff;
  transform:rotate(-45deg);
}

.tariff-consent input:focus-visible{
  outline:2px solid rgba(255,122,24,.45);
  outline-offset:2px;
}

.tariff-consent a{
  color:var(--orange);
  text-decoration:none;
}

.tariff-consent a:hover{
  text-decoration:underline;
}

.auth-consent{
  width:100%;
  margin:0 0 12px;
}

.auth-consent span{
  text-align:left;
}

.tariff-card > .btn-ghost{
  margin-top:auto;
  align-self:flex-start;
}

.legal-panel{
  line-height:1.55;
}

.legal-panel h2{
  margin:22px 0 8px;
  font-size:20px;
}

.legal-panel p{
  margin:0 0 12px;
  color:rgba(233,236,241,.80);
}

.legal-lead{
  font-size:17px;
}

.legal-muted{
  color:var(--muted);
}

.legal-list{
  display:grid;
  gap:12px;
  margin:0 0 18px;
  padding-left:22px;
  color:rgba(233,236,241,.84);

}

.legal-note{
  border:1px solid rgba(255,140,60,.30);
  border-radius:12px;
  padding:12px 14px;
  margin-bottom:14px;
  color:#ffd9bd;
  background:rgba(255,90,0,.12);
  font-weight:900;
}

.legal-table{
  display:grid;
  gap:10px;
  margin:0;
}

.legal-table div{
  display:grid;
  grid-template-columns:170px minmax(0, 1fr);
  gap:12px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:12px;
  padding:12px 14px;
  background:rgba(10,12,16,.30);
}

.legal-table dt{
  color:var(--muted);
}

.legal-table dd{
  margin:0;
}

.legal-links{
  display:flex;
  flex-wrap:wrap;
  gap:10px 16px;
  margin-top:18px;
  font-weight:900;
}

.admin-panel h2{
  margin-top:10px;
}

.admin-section-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin:10px 0 12px;
}

.admin-section-head h2{
  margin:0;
}

.admin-head-controls{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:14px;
  flex-wrap:wrap;
}

.admin-list-limit,
.admin-list-filter{
  display:flex;
  align-items:center;
  gap:8px;
  color:var(--muted);
  font-size:12px;
}

.admin-list-limit-btn,
.admin-list-filter-btn{
  min-width:38px;
  min-height:30px;
  border:1px solid rgba(255,133,31,.42);
  border-radius:10px;
  background:rgba(255,255,255,.05);
  color:var(--text);
  cursor:pointer;
}

.admin-list-limit-btn:hover,
.admin-list-limit-btn.is-active,
.admin-list-filter-btn:hover,
.admin-list-filter-btn.is-active{
  border-color:rgba(255,133,31,.82);
  background:linear-gradient(135deg, rgba(255,133,31,.36), rgba(255,102,0,.18));
}

.admin-list-filter-btn{
  min-width:auto;
  padding:0 12px;
}

.admin-accounts-list{
  overflow-y:auto;
  overscroll-behavior:contain;
  padding-right:4px;
}

.admin-accounts-list[data-admin-account-limit="6"]{
  max-height:451px;
}

.admin-accounts-list[data-admin-account-limit="9"]{
  max-height:677px;
}

.admin-accounts-list[data-admin-account-limit="15"]{
  max-height:1128px;
}

.admin-search{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  gap:10px;
  margin-bottom:14px;
}

.admin-accounts-refresh-btn{
  flex:0 0 auto;
  width:32px;
  height:32px;
  min-width:32px;
  min-height:32px;
  padding:0;
  border:1px solid rgba(255,133,31,.42);
  border-radius:50%;
  background:rgba(255,255,255,.05);
  color:var(--text);
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
}

.admin-accounts-refresh-btn:hover:not(:disabled){
  border-color:rgba(255,133,31,.82);
  background:linear-gradient(135deg, rgba(255,133,31,.36), rgba(255,102,0,.18));
}

.admin-accounts-refresh-btn:disabled{
  opacity:.65;
  cursor:default;
}

.admin-accounts-refresh-btn.is-loading svg{
  animation:admin-accounts-refresh-spin .8s linear infinite;
}

@keyframes admin-accounts-refresh-spin{
  to{ transform:rotate(360deg); }
}

.admin-list,
.admin-tariffs{
  display:grid;
  gap:12px;
}

.admin-row{
  display:grid;
  grid-template-columns:minmax(260px, 1fr) minmax(96px, 118px) minmax(108px, 126px) minmax(112px, 128px) minmax(176px, 190px) repeat(3, auto);
  gap:10px;
  align-items:center;
  border:1px solid rgba(255,255,255,.12);
  border-radius:12px;
  padding:5px;
  background:rgba(10,12,16,.30);
}

.admin-row-compact{
  gap:8px;
  padding:6px 8px;
  align-items:center;
}

.admin-user-cell{
  display:grid;
  gap:4px;
  min-width:0;
}

.admin-user-head{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:5px 8px;
  min-width:0;
}

.admin-user-email{
  flex:0 1 auto;
  max-width:100%;
}

.admin-user-head strong{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:13px;
}

.admin-user-badge{
  flex:0 0 auto;
  min-height:18px;
  padding:0 7px;
  border-radius:999px;
  border:1px solid rgba(255,140,60,.34);
  background:rgba(255,90,0,.12);
  color:#ffc58a;
  font-size:10px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.admin-user-meta{
  display:flex;
  flex-wrap:wrap;
  gap:4px 5px;
  align-items:center;
}

.admin-user-chip{
  display:inline-flex;
  align-items:center;
  min-height:18px;
  padding:0 7px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.04);
  color:var(--muted);
  font-size:10px;
  font-weight:600;
  line-height:1.2;
  white-space:nowrap;
}

.admin-user-chip-ok{
  color:#9ef0c8;
  border-color:rgba(116,240,178,.28);
  background:rgba(116,240,178,.08);
}

.admin-user-chip-warn{
  color:#ffd89a;
  border-color:rgba(255,180,80,.32);
  background:rgba(255,140,40,.10);
}

.admin-user-chip-danger{
  color:#ffb0b0;
  border-color:rgba(255,103,103,.35);
  background:rgba(255,80,80,.10);
}

.admin-user-chip-accent{
  color:#ffc58a;
  border-color:rgba(255,140,60,.30);
  background:rgba(255,90,0,.10);
}

.admin-user-chip-online{
  color:#9ef0c8;
  border-color:rgba(116,240,178,.32);
  background:rgba(116,240,178,.12);
}

.admin-user-chip-offline{
  color:#b6bfd2;
  border-color:rgba(170,180,200,.22);
  background:rgba(120,130,150,.12);
}

.admin-user-stats-row{
  display:flex;
  flex-wrap:wrap;
  gap:3px 10px;
  color:rgba(233,236,241,.58);
  font-size:10px;
  line-height:1.2;
}

.admin-user-stats-row b{
  color:rgba(233,236,241,.92);
  font-weight:800;
}

.admin-user-cell strong,
.admin-user-cell small{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.admin-user-cell small{
  color:var(--muted);
  font-size:12px;
}

.admin-user-cell .admin-user-stats{
  color:rgba(255,255,255,.78);
  font-size:11px;
}

.admin-field-discount .editor-input{
  padding-left:10px;
  padding-right:10px;
}

.admin-field{
  display:grid;
  gap:4px;
  margin:0;
  color:var(--muted);
  font-size:11px;
}

.admin-field .editor-input{
  min-height:30px;
}

.btn-row-danger-soft{
  border-color:rgba(255,95,95,.55);
  background:rgba(110,30,35,.45);
}

.admin-payments{
  overflow:auto;
  border:1px solid rgba(255,255,255,.12);
  border-radius:12px;
  background:rgba(10,12,16,.30);
}

.admin-payments table{
  width:100%;
  border-collapse:collapse;
  min-width:820px;
}

.admin-payments th,
.admin-payments td{
  padding:10px 12px;
  border-bottom:1px solid rgba(255,255,255,.09);
  text-align:left;
  vertical-align:top;
  color:rgba(233,236,241,.84);
  font-size:13px;
}

.admin-payments th{
  color:var(--orange);
  text-transform:uppercase;
  letter-spacing:2px;
  font-size:11px;
}

.admin-payments small{
  display:block;
  margin-top:3px;
  color:var(--muted);
  font-size:11px;
}

.payment-status{
  display:inline-flex;
  align-items:center;
  min-height:26px;
  padding:0 9px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:9px;
  background:rgba(255,255,255,.06);
}

.payment-status-succeeded{
  border-color:rgba(42,213,130,.55);
  background:rgba(24,120,72,.24);
  color:#d9ffe8;
}

.payment-status-pending,
.payment-status-waiting_for_capture{
  border-color:rgba(255,122,24,.55);
  background:rgba(255,122,24,.16);
}

.payment-status-canceled,
.payment-status-failed_to_create{
  border-color:rgba(255,95,95,.55);
  background:rgba(110,30,35,.30);
}

.admin-tariffs{
  grid-template-columns:repeat(2, minmax(0, 1fr));
}

.admin-tariff-card{
  display:grid;
  gap:10px;
}

.admin-tariff-card label{
  display:flex;
  align-items:center;
  gap:9px;
  color:rgba(255,255,255,.86);
}

.admin-discount-once input[type="checkbox"],
.admin-tariff-card input[type="checkbox"]{
  width:18px;
  height:18px;
  margin:0;
  border:1px solid rgba(255,122,24,.85);
  border-radius:5px;
  background:rgba(0,0,0,.25);
  appearance:none;
  -webkit-appearance:none;
  flex:0 0 auto;
}

.admin-discount-once input[type="checkbox"]:checked,
.admin-tariff-card input[type="checkbox"]:checked{
  background:linear-gradient(135deg, #ff7a18, #ff5a0a);
  border-color:#ff8b2b;
  box-shadow:0 0 16px rgba(255,92,10,.30);
}

.admin-discount-once input[type="checkbox"]:checked::after,
.admin-tariff-card input[type="checkbox"]:checked::after{
  content:"";
  display:block;
  width:9px;
  height:5px;
  margin:4px 0 0 3px;
  border-left:2px solid #fff;
  border-bottom:2px solid #fff;
  transform:rotate(-45deg);
}

.admin-discount-once input[type="checkbox"]:focus-visible,
.admin-tariff-card input[type="checkbox"]:focus-visible{
  outline:2px solid rgba(255,122,24,.45);
  outline-offset:2px;
}

.admin-panel-top{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
  flex:0 0 auto;
  margin-bottom:8px;
}

.admin-panel-top .admin-tabs{
  flex:1 1 auto;
  min-width:0;
  margin:0;
}

.admin-panel-stats-tabs{
  display:flex;
  align-items:center;
  gap:6px;
  flex:0 0 auto;
  margin:0;
}

.admin-stat-pill{
  min-height:30px;
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:0 10px;
  border:1px solid rgba(255,140,60,.24);
  border-radius:999px;
  background:rgba(10,12,16,.34);
  white-space:nowrap;
}

.admin-stat-pill-label{
  color:var(--muted);
  font-size:10px;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.admin-stat-pill b{
  color:#fff;
  font-size:14px;
  line-height:1;
}

.admin-tariffs-layout{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.admin-discount-compact{
  display:grid;
  gap:8px;
  padding:10px 12px;
}

.admin-discount-head{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}

.admin-discount-head h3{
  margin:0;
  font-size:14px;
  flex:1 1 auto;
  min-width:140px;
}

.admin-discount-save{
  margin-left:auto;
}

.admin-discount-grid{
  display:grid;
  grid-template-columns:minmax(88px, 110px) minmax(0, 1fr) auto;
  gap:8px 10px;
  align-items:end;
}

.admin-field-compact{
  gap:3px;
  margin:0;
}

.admin-field-compact > span{
  font-size:10px;
  line-height:1.1;
}

.admin-field-compact .editor-input{
  min-height:30px;
  padding:4px 8px;
  font-size:12px;
}

.admin-field-grow{
  min-width:0;
}

.admin-check-inline{
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin:0;
  color:rgba(255,255,255,.86);
  font-size:12px;
  line-height:1.2;
  white-space:nowrap;
}

.admin-check-compact{
  font-size:11px;
  gap:6px;
}

.admin-help-compact{
  margin:0;
  color:var(--muted);
  font-size:11px;
  line-height:1.35;
}

.admin-tariffs-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:10px;
  align-content:start;
}

.admin-tariff-card-compact{
  display:grid;
  gap:8px;
  padding:10px 12px;
  align-content:start;
}

.admin-tariff-card-new{
  border-style:dashed;
}

.admin-tariff-card-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:8px;
}

.admin-tariff-card-title{
  display:grid;
  gap:2px;
  min-width:0;
}

.admin-tariff-card-title h3{
  margin:0;
  font-size:15px;
  line-height:1.15;
}

.admin-tariff-code{
  color:var(--muted);
  font-size:10px;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.admin-tariff-main-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:8px;
}

.admin-tariff-main-grid-create{
  grid-template-columns:repeat(2, minmax(0, 1fr));
}

.admin-tariff-section{
  display:grid;
  gap:6px;
}

.admin-tariff-section-label{
  color:var(--orange2);
  font-size:10px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.admin-tariff-limits-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:6px 8px;
}

.admin-tariff-perms-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:4px 8px;
}

.admin-tariff-card-actions{
  display:flex;
  justify-content:flex-end;
  padding-top:2px;
}

.admin-tariff-card-actions .btn-row-action{
  min-height:30px;
  padding:0 12px;
  font-size:11px;
}

.modal-backdrop{
  position:fixed;
  inset:0;
  z-index:5;
  display:grid;
  place-items:center;
  padding:18px;
  background:rgba(0,0,0,.58);
}

.legal-modal-backdrop{
  /* Окно юридического документа должно открываться поверх окна регистрации и мобильного меню. */
  z-index:90;
}

.modal{
  position:relative;
  width:min(560px, 100%);
  padding:10px;
}

.rules-modal{
  width:min(760px, 100%);
}

.legal-modal{
  width:min(840px, calc(100vw - 24px));
  max-height:calc(100vh - 24px);
  padding:14px 16px;
}

.legal-modal .modal-close{
  top:10px;
  right:10px;
}

.legal-modal-scroll{
  max-height:calc(100vh - 112px);
  overflow:auto;
  padding:0 8px 4px 0;
}

.legal-modal-scroll .legal-links{
  display:none;
}

.legal-modal-scroll .content-panel,
.legal-modal-scroll.legal-panel{
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

.dashboard-view.is-hidden{
  display:none;
}

.library-panel{
  display:flex;
  flex-direction:column;
  gap:4px;
  min-height:0;
}

.billing-panel{
  display:flex;
  flex-direction:column;
  gap:4px;
  min-height:0;
  overflow:hidden;
}

.help-panel{
  display:flex;
  flex-direction:column;
  gap:4px;
  min-height:0;
  overflow:hidden;
}

.help-panel-compact{
  display:flex;
  flex-direction:column;
  min-height:0;
  height:100%;
  overflow:hidden;
}

.help-workspace{
  display:grid;
  grid-template-columns:minmax(220px, 280px) minmax(0, 1fr);
  gap:12px;
  min-height:0;
  height:100%;
  overflow:hidden;
}

.help-sidebar{
  display:flex;
  flex-direction:column;
  gap:10px;
  min-height:0;
  overflow:hidden;
}

.help-sidebar-lead{
  margin:0;
}

.help-nav{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  overscroll-behavior:contain;
  display:flex;
  flex-direction:column;
  gap:8px;
  padding-right:2px;
}

.help-nav-group{
  display:flex;
  flex-direction:column;
  gap:4px;
}

.help-nav-chapter,
.help-nav-section{
  width:100%;
  border:1px solid rgba(255,255,255,.10);
  border-radius:10px;
  background:rgba(8,10,14,.30);
  color:var(--text);
  text-align:left;
  cursor:pointer;
  transition:border-color .15s ease, background .15s ease, color .15s ease;
}

.help-nav-chapter{
  padding:8px 10px;
  font-size:13px;
  font-weight:600;
  line-height:1.35;
}

.help-nav-section{
  padding:7px 10px 7px 14px;
  font-size:12px;
  line-height:1.35;
  color:rgba(233,236,241,.82);
}

.help-nav-sections{
  display:flex;
  flex-direction:column;
  gap:4px;
  padding-left:8px;
}

.help-nav-chapter:hover,
.help-nav-section:hover,
.help-nav-chapter:focus-visible,
.help-nav-section:focus-visible{
  border-color:rgba(255,140,60,.28);
  background:rgba(255,255,255,.05);
}

.help-nav-chapter.is-active,
.help-nav-section.is-active{
  border-color:rgba(255,140,60,.42);
  background:rgba(255,90,0,.12);
  color:var(--text);
}

.help-main{
  display:flex;
  flex-direction:column;
  min-height:0;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.10);
  border-radius:12px;
  background:rgba(8,10,14,.24);
}

.help-main-scroll{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  overscroll-behavior:contain;
  padding:12px 12px 16px;
  scroll-padding-top:6px;
}

.help-main-scroll .help-section{
  scroll-margin-top:6px;
}

.help-chapter-panel{
  display:block;
}

.help-chapter-panel[hidden]{
  display:none !important;
}

.help-chapter-heading{
  margin:0 0 10px;
  font-size:16px;
  line-height:1.3;
}

.help-chapter-text{
  margin:0 0 12px;
  color:var(--muted);
  font-size:13px;
  line-height:1.45;
}

.help-panel-scroll{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  overscroll-behavior:contain;
  padding:0 4px 16px 0;
}

.rules-content-inline{
  max-height:none;
  overflow:visible;
  padding:2px 4px 16px 0;
}

.help-panel-scroll .rules-content{
  max-height:none;
  overflow:visible;
}

.help-lead{
  margin:0 0 14px;
  padding:10px 12px;
  border:1px solid rgba(255,140,60,.20);
  border-radius:10px;
  background:rgba(10,12,16,.28);
  color:rgba(233,236,241,.84);
  font-size:13px;
  line-height:1.45;
}

.help-chapter{
  margin:18px 0 10px;
  padding:0 4px;
  color:var(--text);
  font-size:16px;
  font-weight:700;
  line-height:1.3;
}

.help-chapter:first-of-type{
  margin-top:0;
}

.help-section.is-search-hit{
  border-color:rgba(255,140,60,.42);
  box-shadow:0 0 0 1px rgba(255,140,60,.16);
}

.help-section{
  margin:0 0 12px;
  padding:10px 12px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:10px;
  background:rgba(10,12,16,.22);
}

.help-section h3{
  margin:0 0 8px;
  color:var(--text);
  font-size:15px;
}

.help-section p{
  margin:0 0 10px;
  color:var(--muted);
  font-size:13px;
  line-height:1.45;
}

.help-section p:last-child{
  margin-bottom:0;
}

.help-section ol,
.help-list{
  margin:0 0 10px;
  padding-left:20px;
  color:var(--text);
}

.help-section li,
.help-list li{
  margin:5px 0;
  line-height:1.45;
  font-size:13px;
}

.help-list:last-child,
.help-section ol:last-child{
  margin-bottom:0;
}

.help-section-important{
  border-color:rgba(255,140,60,.28);
  background:rgba(255,90,0,.08);
}

.billing-panel-compact{
  display:flex;
  flex-direction:column;
  gap:10px;
  min-height:0;
  height:100%;
}

.admin-panel-compact{
  display:flex;
  flex-direction:column;
  gap:10px;
  min-height:0;
  height:100%;
  overflow:hidden;
}

.billing-current-bar{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px 12px;
  min-height:38px;
  padding:8px 12px;
  border:1px solid rgba(255,140,60,.22);
  border-radius:10px;
  background:rgba(10,12,16,.28);
}

.billing-current-label{
  color:var(--muted);
  font-size:12px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.billing-current-bar b{
  font-size:17px;
}

.billing-current-meta{
  color:var(--muted);
  font-size:13px;
}

.tariff-grid-compact{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:12px;
  align-items:stretch;
  flex:1 1 auto;
  min-height:0;
  overflow:auto;
  overscroll-behavior:contain;
  padding-right:2px;
}

.tariff-card-compact{
  display:flex;
  flex-direction:column;
  min-height:0;
  border:1px solid rgba(255,140,60,.18);
  border-radius:12px;
  padding:12px 12px 14px;
  background:linear-gradient(160deg, rgba(255,255,255,.05), rgba(255,90,0,.04));
}

.tariff-card-compact.is-current{
  border-color:rgba(80,255,170,.42);
  background:rgba(30,190,110,.08);
  box-shadow:inset 0 0 0 1px rgba(80,255,170,.12);
}

.tariff-card-compact-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:8px;
  margin-bottom:8px;
}

.tariff-card-compact-head h3{
  margin:0;
  font-size:16px;
  line-height:1.15;
}

.tariff-badge{
  flex:0 0 auto;
  border-radius:999px;
  padding:3px 8px;
  color:#b8ffe0;
  background:rgba(40,170,100,.22);
  font-size:11px;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
  white-space:nowrap;
}

.tariff-card-compact-price-row{
  margin-bottom:4px;
}

.tariff-card-compact-price{
  color:#fff;
  font-size:26px;
  line-height:1;
}

.tariff-card-compact-discount-line{
  margin:0 0 2px;
  color:var(--orange);
  font-size:12px;
  font-weight:800;
}

.tariff-card-compact-old{
  margin:0 0 8px;
  color:var(--muted);
  font-size:12px;
  text-decoration:line-through;
}

.tariff-card-compact-days{
  margin:0 0 10px;
  color:var(--muted);
  font-size:12px;
  line-height:1.3;
}

.tariff-card-compact-features{
  display:grid;
  gap:6px;
  margin:0 0 12px;
  padding-left:18px;
  list-style:disc;
  color:rgba(233,236,241,.86);
  font-size:12px;
  line-height:1.35;
}

.tariff-card-compact-features li{
  padding-left:2px;
}

.tariff-card-compact-features li::marker{
  color:rgba(255,140,60,.85);
}

.tariff-card-compact-foot{
  margin-top:auto;
}

.tariff-card-compact-foot form{
  display:grid;
  gap:8px;
}

.tariff-card-compact-note{
  color:var(--muted);
  font-size:12px;
  line-height:1.35;
}

.tariff-consent-compact{
  margin:0;
  font-size:12px;
  line-height:1.35;
}

.tariff-consent-compact input{
  width:15px;
  height:15px;
  margin-top:1px;
}

.tariff-card-compact-btn{
  width:100%;
  min-height:38px;
  padding-top:0;
  padding-bottom:0;
  font-size:13px;
}

.billing-panel-head,
.admin-panel-head,
.library-panel-head{
  flex:0 0 auto;
}

.admin-panel-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}

.billing-panel-title,
.admin-panel-title,
.library-panel-title{
  margin:4px 0 0;
  font-size:22px;
  line-height:1.1;
}

.admin-panel-stats{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  margin-left:auto;
}

.admin-panel-scroll,
.admin-panel-body{
  flex:1 1 auto;
  min-height:0;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  padding-right:2px;
}

.admin-panel-scroll{
  overflow:auto;
  overscroll-behavior:contain;
}

.dashboard-board .admin-panel-view .admin-panel{
  padding:12px;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

.billing-panel-scroll{
  flex:1 1 auto;
  min-height:0;
  overflow:auto;
  overscroll-behavior:contain;
  padding-right:2px;
}

.library-panel.is-list-open .library-step[data-library-step="list"]{
  min-height:0;
  flex:1 1 auto;
  display:flex;
  flex-direction:column;
  overflow:hidden;
}

.library-step.is-hidden{
  display:none;
}

.library-panel-head,
.library-modal-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
}

.library-modal-head{
  padding-right:65px;
}

.library-count{
  flex:0 0 auto;
  margin-top:10px;
  color:#ff9b3d;
  font-size:12px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  white-space:nowrap;
}

.library-step-note{
  margin:0 0 14px;
  color:var(--muted);
}

.library-audience-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:12px;
}

.library-audience-card{
  min-height:118px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:8px;
  border:1px solid rgba(255,140,60,.36);
  border-radius:14px;
  padding:18px;
  color:var(--text);
  background:linear-gradient(135deg, rgba(255,90,0,.18), rgba(255,255,255,.04));
  text-align:left;
  cursor:pointer;
}

.library-audience-card:hover{
  border-color:rgba(255,140,60,.72);
  box-shadow:0 14px 30px rgba(255,90,0,.16);
}

.library-audience-card strong{
  font-size:22px;
  line-height:1.05;
}

.library-audience-card span{
  color:var(--muted);
  line-height:1.35;
}

.library-search-head{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:12px;
}

.library-search-head h3{
  margin:0;
  font-size:18px;
}

.library-search-head small{
  display:block;
  margin-top:3px;
  color:var(--muted);
}

.library-back{
  width:42px;
  height:42px;
  flex:0 0 auto;
  border:1px solid rgba(255,140,60,.45);
  border-radius:12px;
  color:#fff3df;
  background:rgba(255,90,0,.18);
  font-size:22px;
  cursor:pointer;
}

.library-search-input{
  width:100%;
  min-height:46px;
  margin-bottom:12px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:12px;
  padding:0 14px;
  color:var(--text);
  background:rgba(8,10,14,.72);
  outline:none;
}

.library-search-input:focus{
  border-color:rgba(255,140,60,.65);
  box-shadow:0 0 0 3px rgba(255,90,0,.14);
}

.library-status{
  margin:0 0 12px;
  border:1px solid rgba(55,210,140,.42);
  border-radius:10px;
  padding:10px 12px;
  color:#d9ffe9;
  background:rgba(20,90,54,.24);
}

.library-status.is-error{
  border-color:rgba(255,90,90,.55);
  color:#ffe0e0;
  background:rgba(110,30,34,.28);
}

.library-status.is-hidden{
  display:none;
}

.library-browser{
  min-height:0;
}

.library-browser-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  flex:0 0 auto;
}

.library-browser-toolbar{
  display:flex;
  flex-direction:column;
  gap:10px;
  flex:0 0 auto;
}

.library-toolbar-controls{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
}

.library-filter-chips{
  display:inline-flex;
  align-items:stretch;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.12);
  border-radius:var(--projects-toolbar-btn-radius, 9px);
  background:rgba(8,10,14,.34);
}

.library-filter-chip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:var(--projects-toolbar-btn-height, 30px);
  padding:0 12px;
  border:0;
  color:rgba(233,236,241,.68);
  background:transparent;
  font:inherit;
  font-size:12px;
  font-weight:600;
  line-height:1;
  cursor:pointer;
  transition:background .15s ease, color .15s ease;
}

.library-filter-chip + .library-filter-chip{
  border-left:1px solid rgba(255,255,255,.10);
}

.library-filter-chip.is-active{
  color:#ffb36d;
  background:rgba(255,100,0,.14);
}

.library-sort-field{
  display:inline-flex;
  align-items:center;
}

.library-sort-select{
  min-height:var(--projects-toolbar-btn-height, 30px);
  padding:0 28px 0 10px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:var(--projects-toolbar-btn-radius, 9px);
  color:rgba(233,236,241,.84);
  background:rgba(8,10,14,.34);
  font:inherit;
  font-size:12px;
  line-height:1;
  cursor:pointer;
}

.library-sort-select:focus{
  outline:none;
  border-color:rgba(255,140,60,.42);
  box-shadow:0 0 0 3px rgba(255,90,0,.14);
}

.library-view-toggle{
  margin-left:auto;
}

.library-browser-body{
  display:flex;
  gap:12px;
  min-height:0;
  flex:1 1 auto;
}

.library-catalog{
  flex:1 1 auto;
  min-width:0;
  min-height:0;
  overflow:auto;
  overscroll-behavior:contain;
  align-content:start;
}

.library-catalog.is-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(148px, 1fr));
  gap:12px;
}

.library-catalog.is-list{
  display:grid;
  gap:8px;
}

.library-card{
  position:relative;
  display:flex;
  flex-direction:column;
  min-width:0;
  border:1px solid rgba(255,255,255,.10);
  border-radius:12px;
  background:rgba(8,10,14,.34);
  transition:border-color .15s ease, background .15s ease, box-shadow .15s ease;
}

.library-card:hover,
.library-card.is-detail-active{
  border-color:rgba(255,140,60,.24);
  background:rgba(255,255,255,.055);
}

.library-catalog.is-grid .library-card.library-card-project{
  border-color:rgba(255,210,90,.72);
  box-shadow:0 0 0 1px rgba(255,210,90,.28) inset;
}

.library-catalog.is-grid .library-card.library-card-project:hover,
.library-catalog.is-grid .library-card.library-card-project.is-detail-active{
  border-color:rgba(255,225,130,.95);
  box-shadow:0 0 0 1px rgba(255,225,130,.45) inset, 0 10px 26px rgba(255,190,70,.22);
}

.library-empty-all,
.library-filter-empty{
  grid-column:1 / -1;
}

.library-filter-empty.is-hidden{
  display:none;
}

.library-card.is-hidden-by-filter{
  display:none;
}

.library-card-main{
  display:flex;
  flex-direction:column;
  width:100%;
  min-width:0;
  padding:8px;
  border:0;
  color:inherit;
  background:transparent;
  text-align:left;
  cursor:pointer;
}

.library-card-cover{
  position:relative;
  height:88px;
  overflow:hidden;
  border-radius:10px;
  border:1px solid rgba(255,140,60,.20);
  background:rgba(8,10,14,.34);
}

.library-card-cover-image{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.library-card-age{
  position:absolute;
  right:6px;
  top:6px;
  left:auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(255,140,60,.42);
  border-radius:8px;
  padding:3px 6px;
  color:#ffd9bd;
  background:rgba(255,90,0,.70);
  font-size:11px;
  font-weight:700;
  line-height:1;
}

.library-card-count{
  position:absolute;
  left:6px;
  bottom:6px;
  right:auto;
  top:auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  max-width:calc(100% - 12px);
  border:1px solid rgba(255,255,255,.13);
  border-radius:8px;
  padding:3px 6px;
  color:rgba(233,236,241,.84);
  background:rgba(8,10,14,.72);
  font-size:10px;
  font-weight:700;
  line-height:1;
  white-space:nowrap;
}

.library-card-kind{
  position:absolute;
  left:8px;
  bottom:6px;
  font-size:16px;
  line-height:1;
  text-shadow:0 1px 4px rgba(0,0,0,.72);
}

.library-card-body{
  min-width:0;
  padding:8px 2px 2px;
}

.library-card-title{
  color:#fff;
  font-size:13px;
  font-weight:600;
  line-height:1.25;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.library-card-meta{
  margin-top:4px;
  color:rgba(233,236,241,.56);
  font-size:11px;
  line-height:1.3;
}

.library-card-add{
  position:absolute;
  top:8px;
  left:8px;
  right:auto;
  z-index:3;
  width:30px;
  height:30px;
  display:inline-grid;
  place-items:center;
  border:1px solid rgba(255,140,60,.48);
  border-radius:10px;
  color:#fff3df;
  background:rgba(255,90,0,.70);
  box-shadow:0 8px 18px rgba(255,90,0,.16);
  font-size:20px;
  font-weight:700;
  line-height:1;
  cursor:pointer;
  transition:transform .15s ease, background .15s ease, opacity .15s ease;
}

.library-card-add:hover:not(:disabled){
  transform:scale(1.04);
  background:rgba(255,100,0,.38);
}

.library-card-add:disabled{
  opacity:.42;
  cursor:default;
}

.library-card-buy{
  width:auto;
  min-width:30px;
  padding:0 8px;
  font-size:14px;
}

.library-card-price{
  position:absolute;
  right:8px;
  bottom:8px;
  z-index:2;
  padding:2px 7px;
  border-radius:999px;
  background:rgba(12,18,28,.78);
  color:#ffd9a8;
  font-size:11px;
  font-weight:700;
}

.library-detail-price-badge{
  display:inline-flex;
  align-items:center;
  padding:2px 8px;
  border-radius:999px;
  background:rgba(255,140,60,.18);
  color:#ffd9a8;
  font-size:12px;
  font-weight:700;
}

.library-detail-add.is-buy-action{
  background:linear-gradient(135deg,#ff7a18,#ff4d00);
}

.admin-store-games-table{
  width:100%;
  border-collapse:collapse;
  margin:12px 0 16px;
}

.admin-store-games-table th,
.admin-store-games-table td{
  padding:10px 12px;
  border-bottom:1px solid rgba(255,255,255,.08);
  text-align:left;
  vertical-align:middle;
}

.admin-store-price-input{
  max-width:120px;
}

.admin-store-paid-toggle{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:24px;
  min-height:24px;
}

.admin-store-games-form input[type="checkbox"]{
  width:18px;
  height:18px;
  margin:0;
  border:1px solid rgba(255,122,24,.85);
  border-radius:5px;
  background:rgba(0,0,0,.25);
  appearance:none;
  -webkit-appearance:none;
  flex:0 0 auto;
  cursor:pointer;
}

.admin-store-games-form input[type="checkbox"]:checked{
  background:linear-gradient(135deg, #ff7a18, #ff5a0a);
  border-color:#ff8b2b;
  box-shadow:0 0 16px rgba(255,92,10,.30);
}

.admin-store-games-form input[type="checkbox"]:checked::after{
  content:"";
  display:block;
  width:9px;
  height:5px;
  margin:4px 0 0 3px;
  border-left:2px solid #fff;
  border-bottom:2px solid #fff;
  transform:rotate(-45deg);
}

.admin-store-games-form input[type="checkbox"]:focus-visible{
  outline:2px solid rgba(255,122,24,.45);
  outline-offset:2px;
}

.admin-store-games-form input[type="hidden"]{
  display:none;
}

.admin-store-games-form .btn-row-action{
  margin-top:4px;
}

.admin-store-paid-badge{
  display:inline-flex;
  margin-left:8px;
  padding:2px 8px;
  border-radius:999px;
  background:rgba(255,140,60,.18);
  color:#ffd9a8;
  font-size:11px;
  font-weight:700;
  vertical-align:middle;
}

.admin-store-row-is-paid td{
  background:rgba(255,140,60,.04);
}

.library-head-actions{
  display:flex;
  align-items:center;
  gap:10px;
}

.library-cart-btn{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:40px;
  height:40px;
  border:1px solid rgba(255,140,60,.35);
  border-radius:12px;
  background:rgba(255,90,0,.12);
  color:#ffd9a8;
  cursor:pointer;
  transition:background .15s ease, transform .15s ease;
}

.library-cart-btn:hover{
  background:rgba(255,90,0,.22);
  transform:translateY(-1px);
}

.library-cart-icon{
  font-size:18px;
  line-height:1;
}

.library-cart-count{
  position:absolute;
  top:-6px;
  right:-6px;
  min-width:18px;
  height:18px;
  padding:0 5px;
  border-radius:999px;
  background:linear-gradient(135deg,#ff7a18,#ff4d00);
  color:#fff;
  font-size:11px;
  font-weight:700;
  line-height:18px;
  text-align:center;
  box-shadow:0 4px 10px rgba(255,90,0,.35);
}

.library-cart-count.is-hidden{
  display:none;
}

.library-panel.is-cart-open .library-detail-panel{
  display:none !important;
}

.library-cart-panel{
  display:flex;
  flex-direction:column;
  gap:12px;
  min-height:320px;
}

.library-cart-panel.is-hidden{
  display:none;
}

.library-cart-head{
  display:flex;
  align-items:center;
  gap:12px;
}

.library-cart-back{
  border:0;
  background:transparent;
  color:rgba(255,217,168,.88);
  cursor:pointer;
  font-size:14px;
}

.library-cart-title{
  margin:0;
  font-size:20px;
}

.library-cart-list{
  display:flex;
  flex-direction:column;
  gap:8px;
}

.library-cart-list.is-hidden{
  display:none;
}

.library-cart-item{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  gap:12px;
  align-items:center;
  padding:12px 14px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:12px;
  background:rgba(255,255,255,.03);
}

.library-cart-item-type{
  color:rgba(255,217,168,.72);
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.06em;
}

.library-cart-item-title{
  margin-top:2px;
  font-size:15px;
  font-weight:600;
}

.library-cart-item-price{
  font-size:15px;
  font-weight:700;
  color:#ffd9a8;
  white-space:nowrap;
}

.library-cart-item-remove{
  width:30px;
  height:30px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:8px;
  background:transparent;
  color:rgba(255,255,255,.72);
  cursor:pointer;
  font-size:18px;
  line-height:1;
}

.library-cart-empty{
  padding:24px 12px;
  text-align:center;
  color:rgba(233,236,241,.72);
}

.library-cart-empty.is-hidden{
  display:none;
}

.library-cart-footer{
  margin-top:auto;
  padding-top:12px;
  border-top:1px solid rgba(255,255,255,.08);
  display:flex;
  flex-direction:column;
  gap:12px;
}

.library-cart-total-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  font-size:16px;
}

.library-cart-pay{
  width:100%;
}

.library-card-add.is-in-cart{
  background:rgba(72,187,120,.28);
  border-color:rgba(72,187,120,.55);
}

.library-catalog.is-list .library-card{
  flex-direction:row;
  align-items:stretch;
}

.library-catalog.is-list .library-card-main{
  flex-direction:row;
  align-items:center;
  gap:12px;
  padding:7px 48px 7px 10px;
}

.library-catalog.is-list .library-card-cover{
  flex:0 0 auto;
  width:72px;
  height:44px;
}

.library-catalog.is-list .library-card-body{
  flex:1 1 auto;
  min-width:0;
  padding:0;
}

.library-catalog.is-list .library-card-meta{
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.library-catalog.is-list .library-card-add{
  top:50%;
  left:auto;
  right:10px;
  transform:translateY(-50%);
}

.library-catalog.is-list .library-card-add:hover:not(:disabled){
  transform:translateY(-50%) scale(1.04);
}

.library-catalog.is-list .library-card-count{
  font-size:9px;
  padding:2px 5px;
}

.library-detail-panel{
  position:relative;
  flex:0 0 320px;
  width:320px;
  min-height:0;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border:1px solid rgba(255,140,60,.22);
  border-radius:14px;
  background:rgba(8,10,14,.72);
  box-shadow:0 18px 48px rgba(0,0,0,.28);
}

.library-detail-panel.is-hidden{
  display:none;
}

.library-detail-close{
  position:absolute;
  top:10px;
  right:10px;
  z-index:3;
  width:32px;
  height:32px;
  display:inline-grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.14);
  border-radius:10px;
  color:rgba(233,236,241,.84);
  background:rgba(10,12,16,.72);
  font-size:22px;
  line-height:1;
  cursor:pointer;
}

.library-detail-body{
  flex:1 1 auto;
  min-height:0;
  overflow:auto;
  overscroll-behavior:contain;
}

.library-detail-cover{
  flex:0 0 auto;
  padding:12px 12px 0;
}

.library-detail-cover-image{
  width:100%;
  height:auto;
  aspect-ratio:5 / 3;
  object-fit:cover;
  display:block;
  border-radius:12px;
  border:1px solid rgba(255,140,60,.22);
}

.library-detail-content{
  padding:12px;
}

.library-detail-footer{
  flex:0 0 auto;
  padding:12px;
  border-top:1px solid rgba(255,255,255,.08);
  background:rgba(8,10,14,.92);
}

.library-detail-add{
  width:100%;
  min-height:48px;
  margin:0;
  border:0;
  border-radius:12px;
  color:#fff;
  background:linear-gradient(90deg, #ff5a00, #ff7a12);
  box-shadow:0 16px 30px rgba(255,106,0,.20), 0 2px 0 rgba(255,255,255,.08) inset;
  font-size:13px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  cursor:pointer;
}

.library-detail-add:disabled{
  opacity:.45;
  cursor:not-allowed;
}

.library-detail-badges{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-bottom:10px;
}

.library-detail-title{
  margin:0 0 8px;
  color:#fff;
  font-size:18px;
  line-height:1.2;
}

.library-detail-meta{
  margin:0 0 12px;
  color:rgba(233,236,241,.62);
  font-size:12px;
  line-height:1.4;
}

.library-detail-description{
  margin:0 0 12px;
  color:rgba(233,236,241,.76);
  font-size:13px;
  line-height:1.45;
}

.library-detail-description.is-hidden,
.library-detail-rounds.is-hidden{
  display:none;
}

.library-detail-rounds{
  display:grid;
  gap:6px;
  margin:0 0 14px;
}

.library-detail-round{
  padding:8px 10px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:10px;
  color:rgba(233,236,241,.84);
  background:rgba(10,12,16,.34);
  font-size:12px;
  line-height:1.35;
}

.library-detail-questions{
  display:grid;
  gap:8px;
  margin:0 0 14px;
}

.library-detail-questions.is-hidden{
  display:none;
}

.library-detail-questions-title{
  color:rgba(233,236,241,.72);
  font-size:12px;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.library-detail-question{
  padding:8px 10px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:10px;
  background:rgba(10,12,16,.34);
}

.library-detail-question-label{
  color:rgba(233,236,241,.88);
  font-size:12px;
  line-height:1.35;
}

.library-detail-question-images{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:8px;
}

.library-detail-question-thumb{
  width:56px;
  height:56px;
  object-fit:cover;
  border-radius:8px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(8,10,14,.5);
}


.library-browser.is-detail-open .library-catalog{
  padding-right:2px;
}

.settings-modal{
  width:min(620px, 100%);
}

.settings-modal-note,
.settings-panel-note{
  margin:0 0 14px;
  color:rgba(233,236,241,.62);
  font-size:13px;
  line-height:1.45;
}

.settings-panel{
  display:flex;
  flex-direction:column;
  min-height:0;
  padding:4px 2px 8px;
}

.settings-panel-compact{
  width:100%;
  max-width:640px;
}

.settings-panel-head h2{
  margin:4px 0 8px;
  font-size:15px;
  line-height:1.1;
}

.profile-panel-view{
  display:flex;
  flex-direction:column;
  min-height:0;
  padding:4px 2px 8px;
}

.profile-panel-compact{
  display:flex;
  flex-direction:column;
  gap:12px;
  width:100%;
  max-width:560px;
  min-height:100%;
  flex:1 1 auto;
}

.profile-panel-footer{
  display:grid;
  gap:12px;
  margin-top:auto;
  padding-top:12px;
}

.profile-panel-card{
  display:flex;
  align-items:center;
  gap:12px;
  padding:14px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:14px;
  background:rgba(255,255,255,.045);
}

.profile-avatar-picker{
  width:58px;
  height:58px;
  display:grid;
  place-items:center;
  overflow:hidden;
  border:1px solid rgba(255,140,60,.45);
  border-radius:16px;
  background:linear-gradient(135deg, #ff7a18, #b94700);
  color:#fff;
  cursor:pointer;
}

.profile-avatar-picker img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.profile-avatar-picker input{
  display:none;
}

.profile-panel-main{
  display:grid;
  gap:4px;
  min-width:0;
  flex:1 1 auto;
}

.profile-panel-main b,
.profile-panel-main span,
.profile-panel-main small{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.profile-panel-stats{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  width:100%;
}

.profile-panel-stats small{
  flex:0 1 auto;
  min-width:0;
}

.profile-panel-stats small:last-child{
  text-align:right;
}

.profile-panel-main span{
  color:rgba(233,236,241,.68);
  font-size:13px;
}

.profile-email-missing{
  color:#ffb066!important;
}

.profile-email-form{
  display:grid;
  gap:10px;
  padding:14px;
  border:1px solid rgba(255,140,60,.24);
  border-radius:12px;
  background:rgba(255,140,60,.07);
}

.profile-email-form label{
  display:grid;
  gap:8px;
  color:rgba(233,236,241,.78);
  font-size:13px;
}

.profile-email-form input{
  width:100%;
  min-height:44px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(0,0,0,.24);
  color:#fff;
  padding:0 13px;
  font:inherit;
}

.profile-panel-main small{
  color:rgba(233,236,241,.52);
  font-size:12px;
}

.profile-panel-list{
  display:grid;
  border:1px solid rgba(255,255,255,.10);
  border-radius:14px;
  background:rgba(8,10,14,.28);
  overflow:hidden;
}

.profile-panel-list a,
.profile-panel-list button{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  width:100%;
  min-height:52px;
  padding:12px 14px;
  border:0;
  border-bottom:1px solid rgba(255,255,255,.08);
  color:#e9ecf1;
  background:transparent;
  text-align:left;
  text-decoration:none;
  cursor:pointer;
  font:inherit;
}

.profile-panel-list a:last-child,
.profile-panel-list button:last-child,
.profile-panel-list .profile-panel-list-static:last-child{
  border-bottom:0;
}

.profile-panel-list-static{
  display:block;
  min-height:44px;
  padding:11px 14px;
  border-bottom:1px solid rgba(255,255,255,.08);
  color:rgba(233,236,241,.58);
  font-size:13px;
  line-height:1.35;
}

.profile-panel-list-link{
  color:#e9ecf1;
  text-decoration:none;
}

.profile-panel-list-link:hover{
  color:#ffb36d;
}

.profile-panel-list b{
  color:#ffb36d;
  font-size:13px;
  font-weight:600;
}

.profile-panel-logout{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  border:1px solid rgba(255,80,60,.35);
  border-radius:13px;
  color:#ff8f7a;
  background:rgba(255,60,40,.08);
  text-decoration:none;
  font-size:14px;
}

.profile-delete-form{
  margin:0;
}

.profile-panel-delete{
  width:100%;
  min-height:44px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:13px;
  color:rgba(233,236,241,.58);
  background:transparent;
  font:inherit;
  font-size:13px;
  cursor:pointer;
}

.profile-panel-delete:hover{
  border-color:rgba(255,80,60,.35);
  color:#ff9b8f;
  background:rgba(255,60,40,.06);
}

.profile-panel-delete:disabled{
  opacity:.45;
  cursor:not-allowed;
}

.profile-panel-delete:disabled:hover{
  border-color:rgba(255,255,255,.12);
  color:rgba(233,236,241,.58);
  background:transparent;
}

.profile-panel-delete-note{
  margin:6px 0 0;
  color:rgba(233,236,241,.48);
  font-size:12px;
  line-height:1.35;
}

.dashboard-profile-btn{
  width:100%;
  border:1px solid rgba(255,255,255,.10);
  border-radius:14px;
  padding:12px;
  background:rgba(255,255,255,.045);
  color:inherit;
  text-align:left;
  cursor:pointer;
  font:inherit;
}

.dashboard-profile-btn:hover{
  border-color:rgba(255,140,60,.28);
  background:rgba(255,100,0,.08);
}

.modal h2{
  margin:4px 0 8px;
  font-size:15px;
  line-height:1.1;
}

.modal p{
  margin:0 0 16px;
  color:var(--muted);
}

.rules-content{
  max-height:min(68vh, 620px);
  overflow:auto;
  padding-right:8px;
}

.rules-content h3{
  margin:18px 0 8px;
  color:var(--text);
  font-size:18px;
}

.rules-content ol{
  margin:0 0 14px;
  padding-left:22px;
  color:var(--text);
}

.rules-content li{
  margin:7px 0;
  line-height:1.4;
}

.rules-content b{
  color:#fff;
}

.help-panel .rules-content.rules-content-inline,
.help-panel-scroll .rules-content{
  max-height:none;
  overflow:visible;
  padding-right:4px;
  padding-bottom:16px;
}

.library-list{
  display:grid;
  gap:10px;
  padding-right:0;
}

.dashboard-board .library-list{
  min-height:0;
  overflow:auto;
  overscroll-behavior:contain;
}

.library-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:12px;
  padding:14px;
  background:rgba(10,12,16,.30);
}

.library-row.is-hidden-by-filter,
.library-filter-empty.is-hidden{
  display:none;
}

.library-row form{
  margin:0;
  flex:0 0 auto;
}

.settings-list{
  display:grid;
  gap:12px;
  margin-top:18px;
}

.settings-toggle{
  display:flex;
  align-items:center;
  gap:14px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:12px;
  padding:14px;
  color:var(--text);
  background:rgba(10,12,16,.30);
  cursor:pointer;
}

.settings-toggle em{
  margin-left:auto;
  flex:0 0 auto;
  min-width:94px;
  border:1px solid rgba(255,103,103,.26);
  border-radius:9px;
  padding:7px 9px;
  color:#ffd5d5;
  background:rgba(255,103,103,.12);
  font-size:13px;
  font-style:normal;
  font-weight:900;
  line-height:1;
  text-align:center;
}

.settings-toggle em.is-enabled{
  border-color:rgba(80,255,170,.38);
  color:#d9ffe9;
  background:rgba(30,190,110,.18);
}

.settings-toggle input{
  width:22px;
  height:22px;
  flex:0 0 auto;
  accent-color:var(--orange);
}

.settings-toggle span{
  display:grid;
  gap:4px;
}

.settings-toggle b{
  font-size:16px;
}

.settings-toggle small{
  color:var(--muted);
  line-height:1.35;
}

.modal-close{
  position:absolute;
  top:12px;
  right:12px;
  width:34px;
  height:34px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:10px;
  color:var(--text);
  background:rgba(255,255,255,.06);
  cursor:pointer;
}

.control-grid,
.modal-actions{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:12px;
}

.launch-intro-modal{
  width:min(760px, 100%);
}

.launch-no-quizzes-modal{
  width:min(760px, 100%);
}

.launch-intro-layout{
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(200px, 240px);
  gap:18px;
  align-items:stretch;
  min-height:260px;
}

.launch-intro-copy p,
.launch-intro-copy ol{
  color:rgba(233,236,241,.78);
  font-size:14px;
  line-height:1.5;
}

.launch-intro-steps{
  margin:12px 0 0;
  padding-left:18px;
}

.launch-intro-steps li + li{
  margin-top:6px;
}

.launch-intro-qr{
  display:flex;
  min-height:0;
}

.launch-intro-qr-box{
  flex:1 1 auto;
  width:100%;
  min-height:240px;
  display:flex;
  align-items:stretch;
  justify-content:stretch;
  border:1px solid rgba(255,255,255,.12);
  border-radius:14px;
  background:#fff;
  overflow:hidden;
}

.launch-intro-qr-box svg{
  width:100%;
  height:100%;
  display:block;
}

.launch-intro-qr-box.is-empty::before{
  content:'QR недоступен';
  color:#666;
  font-size:12px;
  text-align:center;
  padding:12px;
  margin:auto;
}

@media (max-width: 720px){
  .launch-intro-layout{
    grid-template-columns:1fr;
  }

  .launch-intro-qr{
    order:-1;
  }
}

.control-option{
  min-height:124px;
  border:1px solid rgba(255,140,60,.20);
  border-radius:12px;
  padding:16px;
  text-align:left;
  color:var(--text);
  background:rgba(10,12,16,.30);
  cursor:pointer;
}

.control-option strong{
  display:block;
  margin-bottom:8px;
  font-size:17px;
}

.control-option span{
  color:var(--muted);
  line-height:1.35;
}

.editor-panel{
  padding:10px;
}

.editor-label{
  display:grid;
  gap:8px;
  margin-bottom:10px;
  color:var(--muted);
}

.editor-input,
.editor-textarea{
  width:100%;
  border:1px solid rgba(255,255,255,.13);
  border-radius:12px;
  padding:5px 13px;
  color:var(--text);
  background:rgba(8,10,14,.48);
}

.editor-textarea{
  resize:vertical;
  min-height:96px;
}

.editor-input:focus,
.editor-textarea:focus{
  border-color:rgba(255,140,60,.62);
  box-shadow:0 0 0 3px rgba(255,90,0,.14);
}

.editor-toolbar{
  display:flex;
  justify-content:flex-end;
  gap:14px;
  margin:14px 0 18px;
}

#quizEditor:not(.has-no-questions) > .editor-toolbar{
  display:none;
}

.editor-toolbar-bottom{
  margin:18px 0 0;
}

#quizEditor.has-no-questions .editor-toolbar-bottom{
  display:none;
}

.question-workspace{
  display:grid;
  grid-template-columns:48px minmax(0, 1fr);
  gap:0px;
  align-items:start;
}

#quizEditor.has-no-questions .question-workspace{
  display:none;
}

.question-tabs{
  position:sticky;
  top:12px;
  display:grid;
  gap:8px;
  justify-items:center;
}

.question-tabs.is-hidden{
  display:none;
}

.question-tab{
  width:40px;
  height:21px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,140,60,.32);
  border-radius:10px;
  color:var(--text);
  background:rgba(255,255,255,.06);
  font-size:12px;
  font-weight:900;
  cursor:pointer;
}

.question-tab.is-active{
  border-color:rgba(255,140,60,.88);
  color:#fff;
  background:linear-gradient(180deg, rgba(255,120,20,.92), rgba(150,55,12,.72));
  box-shadow:0 10px 24px rgba(255,90,0,.20);
}

.question-tab-add{
  height:21px;
  border-color:rgba(255,140,60,.78);
  color:#fff;
  background:linear-gradient(180deg, rgba(255,105,10,.94), rgba(185,70,12,.82));
  font-size:18px;
  line-height:0;
}

.question-tab-add:hover{
  transform:translateY(-1px);
  box-shadow:0 10px 24px rgba(255,90,0,.22);
}

.question-list{
  display:grid;
  gap:16px;
}

.question-card:not(.is-active){
  display:none;
}

.question-card{
  border:1px solid rgba(255,140,60,.18);
  border-radius:16px;
  padding:10px;
  background:linear-gradient(135deg, rgba(255,255,255,.06), rgba(255,90,0,.05));
}

.question-collapsed-head{
  display:none;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}

.question-collapsed-head strong{
  font-size:20px;
}

.question-collapsed-actions{
  display:flex;
  align-items:center;
  gap:12px;
}

.question-card.is-collapsed{
  padding:12px 14px;
}

.question-card.is-collapsed > :not(.question-collapsed-head){
  display:none;
}

.question-card.is-collapsed .question-collapsed-head{
  display:flex;
}

.question-workspace .question-collapsed-head,
.question-workspace .question-collapse-footer{
  display:none;
}

.question-preview{
  display:grid;
  gap:12px;
  width:100%;
  max-width:100%;
  box-sizing:border-box;
  aspect-ratio:16 / 9;
  margin:4px 0 14px;
  border:1px solid rgba(255,140,60,.22);
  border-radius:16px;
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(700px 420px at 80% 10%, rgba(255,90,0,.12), transparent 62%),
    linear-gradient(180deg, rgba(8,10,14,.72), rgba(5,6,9,.78));
}

.question-preview > *{
  position:relative;
  z-index:2;
}

.question-preview.game-layout-horizontal{
  grid-template-rows:2fr 1fr;
}

.question-preview.game-layout-vertical{
  grid-template-columns:2fr 1fr;
}

.question-preview.game-layout-question_only{
  grid-template-columns:1fr;
}

.question-preview-main{
  position:relative;
  container-type:inline-size;
  min-width:0;
  min-height:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:18px 20px;
  overflow:hidden;
}

.question-preview .question-preview-main > .eyebrow{
  z-index:1;
  color:rgba(255,180,110,.22);
  opacity:.34;
  font-size:10px;
  text-shadow:none;
}

.question-preview-main:has(.preview-media-slot:not(.is-empty)){
  justify-content:flex-start;
}

.question-preview.game-layout-horizontal .question-preview-main{
  align-items:center;
  text-align:center;
}

.question-preview.game-layout-horizontal .preview-question-input{
  text-align:center;
}

.question-preview.game-layout-question_only .question-preview-main{
  align-items:center;
  justify-content:center;
  text-align:center;
}

.question-preview.game-layout-question_only .question-preview-main:has(.preview-media-slot:not(.is-empty)){
  justify-content:center;
}

.preview-question-input{
  position:relative;
  z-index:6;
  width:100%;
  min-height:0;
  margin:6px 0 0;
  border:0;
  padding:0;
  resize:none;
  overflow:hidden;
  color:var(--text);
  background:transparent;
  font-size:clamp(25px, 3.4vw, 44px);
  font-size:clamp(22px, 4.2cqw, 90px);
  font-weight:900;
  line-height:1.08;
  outline:none;
}

.question-preview.game-layout-question_only .preview-question-input{
  text-align:center;
}

.question-preview.game-layout-question_only .preview-media-frame{
  justify-self:center;
}

.preview-question-input::placeholder{
  color:var(--text);
  opacity:.72;
}

.preview-media-slot{
  position:absolute;
  inset:0;
  z-index:2;
  width:100%;
  min-height:0;
  height:100%;
  margin:0;
  overflow:visible;
  border-radius:0;
  background:transparent;
}

.preview-media-slot.is-empty{
  display:none;
}

.preview-media-grid{
  position:absolute;
  inset:0;
  display:block;
  height:100%;
}

.preview-media-slot:not(.is-gallery) .preview-media-grid{
  grid-template-columns:1fr;
}

.preview-media-frame{
  position:absolute;
  width:100%;
  height:46%;
  min-height:0;
  max-height:100%;
  overflow:visible;
  border-radius:12px;
  touch-action:none;
}

.preview-media-frame.is-resizable-media{
  min-width:20%;
}

.preview-media-frame video{
  width:100%;
  height:100%;
  display:block;
  object-fit:contain;
}

.preview-media-clip{
  position:absolute;
  inset:0;
  z-index:1;
  overflow:hidden;
  border-radius:inherit;
}

.preview-media-clip img,
.preview-media-clip video{
  width:100%;
  height:100%;
  display:block;
}

.preview-media-audio,
.media-audio-preview{
  min-height:120px;
  display:grid;
  place-items:center;
  gap:10px;
  color:var(--text);
  background:linear-gradient(135deg, rgba(255,90,0,.18), rgba(255,255,255,.06));
}

.preview-media-frame.preview-media-audio{
  min-height:0;
  display:grid;
  place-items:center;
  overflow:visible;
  background:linear-gradient(135deg, rgba(255,90,0,.18), rgba(255,255,255,.06));
}

.preview-media-frame.preview-media-audio .media-audio-visual{
  width:min(420px, calc(100% - 28px));
}
.preview-media-play{
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  bottom:12px;
  z-index:10;
  display:grid;
  place-items:center;
  width:38px;
  height:34px;
  padding:0;
  border:1px solid rgba(255,136,45,.65);
  border-radius:12px;
  background:rgba(30,21,16,.9);
  color:#ffd0a2;
  font:700 16px/1 Arial,sans-serif;
  cursor:pointer;
  touch-action:manipulation;
}
.preview-media-play:hover{background:#a64d13;}
.preview-media-play:focus-visible{outline:2px solid #ff8c3c;outline-offset:2px;}
.preview-media-play-error{
  position:absolute;
  left:12px;
  bottom:52px;
  z-index:10;
  max-width:calc(100% - 24px);
  padding:5px 8px;
  border-radius:8px;
  background:rgba(25,16,12,.9);
  color:#ffd0a2;
  font-size:12px;
}
.preview-media-play-error[hidden]{display:none;}


.media-audio-visual{
  width:min(420px, 100%);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:4px;
  min-height:72px;
}

.media-audio-visual i{
  width:100%;
  max-width:7px;
  height:calc(var(--h, 50) * .72px);
  border-radius:999px;
  background:rgba(233,236,241,.30);
  box-shadow:none;
}

.media-audio-visual i.is-played{
  background:linear-gradient(180deg, #ffb56d, #ff5a00);
  box-shadow:0 0 12px rgba(255,90,0,.24);
}

.preview-media-slot.is-gallery .preview-media-frame{
  aspect-ratio:auto;
  min-height:0;
  max-height:none;
}

.preview-media-slot.is-gallery .preview-media-frame:nth-child(3):last-child{
  max-height:none;
}

.preview-media-slot img{
  width:100%;
  height:100%;
  display:block;
}

.media-resize-handle,
.media-object-control{
  position:absolute;
  z-index:30;
  width:22px;
  height:22px;
  border:2px solid rgba(255,255,255,.90);
  border-radius:50%;
  background:#ff7a1a;
  box-shadow:0 0 18px rgba(255,90,0,.38);
  opacity:0;
  transition:opacity .16s ease, transform .16s ease;
  touch-action:none;
}

.media-object-control{
  display:grid;
  place-items:center;
  padding:0;
  color:#fff;
  font-size:13px;
  font-weight:900;
  line-height:1;
}

.preview-media-frame:hover .media-resize-handle,
.preview-media-frame:hover .media-object-control,
.media-resize-handle:active,
.media-object-control:active{
  opacity:1;
}

.media-resize-handle:hover,
.media-object-control:hover{
  transform:scale(1.12);
}

.media-object-move{top:-11px;left:-11px;cursor:move}
.media-object-delete{top:-11px;right:-11px;cursor:pointer}
.media-resize-handle.is-se{right:-11px;bottom:-11px;cursor:nwse-resize}

.media-resize-handle[data-media-tooltip]::after{
  content:attr(data-media-tooltip);
  position:absolute;
  right:-2px;
  bottom:calc(100% + 10px);
  z-index:60;
  width:max-content;
  max-width:260px;
  padding:8px 10px;
  border:1px solid rgba(255,122,26,.55);
  border-radius:10px;
  background:rgba(18,18,22,.94);
  color:#fff;
  font-size:12px;
  font-weight:800;
  line-height:1.25;
  box-shadow:0 12px 30px rgba(0,0,0,.38);
  pointer-events:none;
  opacity:0;
  transform:translateY(4px);
  transition:opacity .16s ease, transform .16s ease;
  white-space:normal;
}

.media-resize-handle[data-media-tooltip]::before{
  content:"";
  position:absolute;
  right:5px;
  bottom:calc(100% + 4px);
  z-index:61;
  border:6px solid transparent;
  border-top-color:rgba(18,18,22,.94);
  pointer-events:none;
  opacity:0;
  transform:translateY(4px);
  transition:opacity .16s ease, transform .16s ease;
}

.media-resize-handle[data-media-tooltip].tooltip-visible::after,
.media-resize-handle[data-media-tooltip].tooltip-visible::before{
  opacity:1;
  transform:translateY(0);
}
.preview-media-frame.is-resizable-media:hover{outline:1px dashed rgba(255,255,255,.24);outline-offset:3px}
.preview-media-frame.is-resizable-media .preview-media-clip{cursor:grab}
.preview-media-frame.is-resizable-media:active .preview-media-clip{cursor:grabbing}

.preview-media-actions{
  position:absolute;
  top:10px;
  right:10px;
  display:flex;
  gap:8px;
  opacity:0;
  transition:opacity .16s ease;
}

.preview-media-slot:hover .preview-media-actions{
  opacity:1;
}

.preview-media-actions button{
  width:36px;
  height:36px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:10px;
  color:#fff;
  background:rgba(7,8,11,.76);
  font-weight:900;
  cursor:pointer;
}

.question-preview-answers{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:8px;
  padding:20px;
  min-height:0;
  overflow:hidden;
  align-items:center;
}

.question-preview.game-layout-horizontal .question-preview-answers:not(:has(.preview-answer:nth-child(3))){
  width:100%;
  justify-self:center;
  align-self:center;
  align-content:center;
  grid-auto-rows:minmax(58px, max-content);
}

.question-preview.game-layout-horizontal .question-preview-answers:not(:has(.preview-answer:nth-child(3))) .preview-answer{
  align-self:center;
}

.question-preview.game-layout-vertical .question-preview-answers{
  grid-template-columns:1fr;
  align-content:center;
  border-left:1px solid rgba(255,140,60,.18);
}

.question-preview.game-layout-question_only .question-preview-answers{
  display:none;
}

.preview-answer{
  min-height:58px;
  display:flex;
  align-items:center;
  gap:15px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:12px;
  padding:10px;
  background:rgba(255,255,255,.07);
  font-size:18px;
  font-weight:600;
}

.preview-correct-choice{
  width:32px;
  height:32px;
  flex:0 0 32px;
  display:grid;
  place-items:center;
  border:0;
  border-radius:9px;
  color:#fff;
  background:rgba(255,90,0,.22);
  font:inherit;
  cursor:pointer;
}

.preview-answer input{
  min-width:0;
  flex:1;
  border:0;
  color:var(--text);
  background:transparent;
  font:inherit;
  outline:none;
}

.preview-answer-remove{
  width:32px;
  height:32px;
  flex:0 0 32px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,120,120,.48);
  border-radius:9px;
  color:#ffd8d8;
  background:rgba(130,35,35,.42);
  font-size:18px;
  font-weight:900;
  cursor:pointer;
}

.preview-answer.is-correct{
  border-color:rgba(80,255,170,.62);
  background:rgba(30,190,110,.12);
}

.preview-answer.is-correct .preview-correct-choice{
  background:#15b973;
}

.question-preview.game-layout-horizontal .preview-answer:last-child:nth-child(odd){
  grid-column:1 / -1;
  justify-self:center;
  width:calc((100% - 8px) / 2);
}

.question-preview.game-layout-horizontal .question-preview-answers:has(.preview-answer:nth-child(5)){
  grid-auto-rows:minmax(0, 1fr);
  align-content:stretch;
  padding:14px 20px;
}

.question-preview.game-layout-horizontal .question-preview-answers:has(.preview-answer:nth-child(5)) .preview-answer{
  min-height:0;
  padding:8px 10px;
}

.preview-question-animation-fade{--preview-question-enter-x:0;--preview-question-enter-y:0}
.preview-question-animation-from_top{--preview-question-enter-x:0;--preview-question-enter-y:-30px}
.preview-question-animation-from_bottom{--preview-question-enter-x:0;--preview-question-enter-y:30px}
.preview-question-animation-from_left{--preview-question-enter-x:-36px;--preview-question-enter-y:0}
.preview-question-animation-from_right{--preview-question-enter-x:36px;--preview-question-enter-y:0}
.preview-answer-animation-fade{--preview-answer-enter-x:0;--preview-answer-enter-y:0}
.preview-answer-animation-from_top{--preview-answer-enter-x:0;--preview-answer-enter-y:-26px}
.preview-answer-animation-from_bottom{--preview-answer-enter-x:0;--preview-answer-enter-y:26px}
.preview-answer-animation-from_left{--preview-answer-enter-x:-32px;--preview-answer-enter-y:0}
.preview-answer-animation-from_right{--preview-answer-enter-x:32px;--preview-answer-enter-y:0}

.question-preview.is-preview-entering:not(.preview-question-animation-none) .preview-question-input,
.question-preview.is-preview-entering:not(.preview-question-animation-none) .preview-media-slot:not(.is-empty){
  --enter-x:var(--preview-question-enter-x, 0);
  --enter-y:var(--preview-question-enter-y, 0);
  animation:gameObjectEnter .68s ease both;
}

.question-preview.is-preview-entering:not(.preview-answer-animation-none).preview-answer-sequence-together .preview-answer{
  --enter-x:var(--preview-answer-enter-x, 0);
  --enter-y:var(--preview-answer-enter-y, 0);
  animation:gameObjectEnter .55s ease both;
}

.question-preview.is-preview-entering:not(.preview-answer-animation-none).preview-answer-sequence-stagger .preview-answer{
  --enter-x:var(--preview-answer-enter-x, 0);
  --enter-y:var(--preview-answer-enter-y, 0);
  opacity:0;
  animation:gameObjectEnter .55s ease both;
  animation-delay:calc(1s + var(--answer-index, 0) * 1s);
}

.question-head{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:14px;
  margin-bottom:14px;
}

.question-head strong{
  font-size:20px;
}

.question-head > .btn-row-action{
  margin-left:0;
}

.question-head .answer-add-button{
  margin-left:auto;
}

.scene-add-text-button{
  display:none;
}

.question-card:not(.has-scene-text) .scene-add-text-button{
  display:inline-flex;
  margin-left:auto;
}

.question-card.has-scene-text .scene-add-text-button{
  display:none;
}

.question-head .answer-add-button[style*="display: none"] + .btn-row-action,
.question-card.is-free-mode .question-head > .btn-row-action.danger{
  margin-left:0;
}

.question-collapse-footer{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:12px;
  margin-top:14px;
}

.question-collapse-footer span{
  color:var(--muted);
  font-weight:900;
}

.layout-picker{
  display:flex;
  align-items:center;
  gap:8px;
}

.layout-btn{
  width:42px;
  height:34px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,140,60,.28);
  border-radius:10px;
  background:rgba(255,255,255,.05);
  cursor:pointer;
}

.layout-btn span{
  width:24px;
  height:18px;
  display:block;
  border:2px solid rgba(233,236,241,.64);
  border-radius:4px;
  position:relative;
}

.layout-btn[data-layout-choice="vertical"] span::before{
  content:"";
  position:absolute;
  top:-2px;
  bottom:-2px;
  left:9px;
  border-left:2px solid rgba(233,236,241,.64);
}

.layout-btn[data-layout-choice="horizontal"] span::before{
  content:"";
  position:absolute;
  left:-2px;
  right:-2px;
  top:7px;
  border-top:2px solid rgba(233,236,241,.64);
}

.layout-btn[data-layout-choice="question_only"] span::before{
  content:"";
  position:absolute;
  inset:4px;
  border-radius:2px;
  background:rgba(233,236,241,.22);
}

.layout-btn.is-active{
  border-color:rgba(255,140,60,.80);
  background:rgba(255,90,0,.20);
}

.layout-btn.is-active span,
.layout-btn.is-active span::before{
  border-color:#ffb56d;
}

.editor-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:10px;
}

.answers-editor{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:10px;
  margin:4px 0 12px;
}

.answers-editor,
.question-card.is-free-mode .answers-editor,
.question-card.is-free-mode .answer-add-button{
  display:none;
}

.answer-mode-field{
  display:none;
}

.question-compose{
  display:grid;
  grid-template-columns:minmax(0, 1.45fr) minmax(220px, .65fr) minmax(260px, 1fr);
  gap:14px;
  align-items:end;
  margin:4px 0 16px;
}

.question-compose > .media-editor{
  display:contents;
  margin:0;
}

.question-compose-fields{
  align-self:stretch;
  grid-column:1;
  grid-row:1;
  display:grid;
  grid-template-rows:1fr 1fr;
  gap:10px;
  margin:0;
}

.question-compose-fields .editor-label{
  margin:0;
}

.question-compose-fields .editor-input{
  min-height:40px;
}

.question-animation-settings{
  align-self:stretch;
  grid-column:2;
  grid-row:1;
  display:grid;
  grid-template-rows:repeat(3, minmax(0, 1fr));
  gap:8px;
  margin:0;
}

.question-animation-settings .editor-label{
  margin:0;
}

.question-animation-settings .editor-label span{
  font-size:11px;
}

.question-animation-settings .editor-input{
  min-height:32px;
  padding:7px 10px;
  font-size:12px;
}

.question-hidden-field{
  display:none;
}

.question-compose > .media-editor{
  min-height:100%;
}

.question-compose .media-dropzone{
  grid-column:3;
  grid-row:1;
  min-height:112px;
  height:100%;
}

.question-compose .media-items{
  grid-column:1 / -1;
  margin-top:14px;
}

.media-editor .media-items{
  display:none;
}

.media-editor{
  display:grid;
  gap:14px;
  margin:4px 0 16px;
}

.media-dropzone{
  position:relative;
  display:grid;
  place-items:center;
  gap:8px;
  min-height:112px;
  border:1px dashed rgba(255,140,60,.46);
  border-radius:16px;
  padding:18px;
  text-align:center;
  color:var(--muted);
  background:rgba(8,10,14,.34);
}

.media-dropzone.is-dragover{
  border-color:rgba(255,140,60,.90);
  background:rgba(255,90,0,.14);
}

.media-dropzone input[type=file]{
  position:absolute;
  width:1px;
  height:1px;
  opacity:0;
  pointer-events:none;
}

.media-dropzone strong{
  color:var(--text);
  font-size:18px;
}

.media-items{
  display:grid;
  gap:12px;
}

.media-items.has-pending-replacement [data-media-item]{
  opacity:.42;
}

.media-item{
  display:none;
  grid-template-columns:minmax(180px, 320px) 1fr;
  gap:14px;
  align-items:start;
  border:1px solid rgba(255,140,60,.18);
  border-radius:16px;
  padding:12px;
  background:rgba(255,255,255,.05);
}

.media-item.is-editing{
  display:grid;
}

.media-preview{
  width:100%;
  height:120px;
  min-height:52px;
  max-height:260px;
  overflow:hidden;
  border-radius:12px;
  background:rgba(0,0,0,.34);
}

.media-preview img{
  width:100%;
  height:100%;
  display:block;
  object-fit:contain;
}

.media-preview video{
  width:100%;
  height:100%;
  display:block;
  object-fit:contain;
}

.media-kind-audio .media-image-setting,
.media-kind-video .media-image-setting{
  display:none;
}

.media-settings{
  display:grid;
  gap:10px;
}

.media-item.is-committed .media-settings{
  opacity:.72;
}

.media-settings .editor-label{
  margin-bottom:0;
}

.answer-edit-row{
  display:grid;
  grid-template-columns:34px 1fr 40px;
  align-items:center;
  gap:8px;
  min-height:64px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:14px;
  padding:8px;
  background:rgba(255,255,255,.05);
}

.answer-edit-row .editor-input{
  min-height:44px;
}

.answer-edit-row .btn-row-action{
  width:40px;
  min-width:40px;
  padding:0;
}

.answer-edit-row.is-correct{
  border-color:rgba(80,255,170,.58);
  background:rgba(30,190,110,.09);
}

.correct-choice{
  width:26px;
  height:26px;
  display:grid;
  place-items:center;
  border:2px solid rgba(255,140,60,.50);
  border-radius:50%;
  background:rgba(255,255,255,.04);
  cursor:pointer;
}

.correct-choice input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}

.answer-edit-row.is-correct .correct-choice{
  border-color:rgba(80,255,170,.72);
  background:rgba(30,190,110,.22);
}

.answer-edit-row.is-correct .correct-choice::after{
  content:"";
  width:12px;
  height:12px;
  border-radius:50%;
  background:#50ffaa;
}

.btn-row-action{
  min-height:35px;
  border:1px solid rgba(255,140,60,.25);
  border-radius:12px;
  padding:0 14px;
  color:var(--text);
  background:rgba(255,90,0,.14);
  cursor:pointer;
}

.btn-row-action:hover{
  border-color:rgba(255,140,60,.60);
  background:rgba(255,90,0,.24);
}

.btn-row-action.danger{
  border-color:rgba(255,103,103,.28);
  color:#ffd5d5;
  background:rgba(255,103,103,.12);
}

.create-form{
  max-width:1000px;
}

.game-body{
  min-height:100vh;
  overflow:hidden;
  background:
    radial-gradient(900px 700px at 80% 18%, rgba(255,90,0,.14), transparent 62%),
    linear-gradient(180deg, #111014, #050608);
}

.game-body #bg{
  z-index:0;
}

.game-stage{
  position:relative;
  z-index:1;
  width:100vw;
  height:100vh;
  display:grid;
  grid-template-rows:1fr;
  gap:0;
  --answer-scale:1;
  --answer-gap:calc(16px * var(--answer-scale));
}

.game-stage > *{
  position:relative;
  z-index:2;
}

.game-theme-geometry,
.game-theme-neon{
  background:
    radial-gradient(900px 620px at 82% 16%, rgba(255,90,0,.10), transparent 64%),
    linear-gradient(180deg, rgba(8,10,15,.92), rgba(4,5,9,.96));
}

.game-theme-geometry{
  --geo-bg-1:#19172a;
  --geo-bg-2:#252034;
  --geo-bg-3:#10131d;
  --geo-a:rgba(112,92,170,.46);
  --geo-b:rgba(202,177,91,.38);
  --geo-c:rgba(88,178,168,.34);
  --geo-d:rgba(198,123,157,.30);
  --geo-line:rgba(232,236,241,.38);
  --geo-static-opacity:.72;
  --geo-motion-opacity:.34;
  background:
    radial-gradient(900px 620px at 82% 12%, rgba(255,135,56,.12), transparent 66%),
    linear-gradient(150deg, var(--geo-bg-1), var(--geo-bg-2) 48%, var(--geo-bg-3));
}

.game-theme-geometry::before,
.game-theme-geometry::after,
.game-theme-neon::before,
.game-theme-neon::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
}

.game-theme-geometry::before,
.game-theme-neon::before{
  opacity:.86;
}

.game-theme-geometry::after,
.game-theme-neon::after{
  z-index:1;
  opacity:.38;
  transform-origin:50% 50%;
  animation:themeSlowFloat 24s ease-in-out infinite alternate;
}

.game-theme-geometry::before{
  opacity:var(--geo-static-opacity);
  background:
    linear-gradient(0deg, var(--geo-c), var(--geo-c)) 0 62% / 100% 38px no-repeat,
    radial-gradient(circle at 83% 15%, var(--geo-a) 0 120px, transparent 121px),
    radial-gradient(circle at 7% 34%, var(--geo-c) 0 94px, transparent 95px),
    linear-gradient(102deg, transparent 0 18%, var(--geo-b) 18.2% 30%, transparent 30.2% 100%),
    linear-gradient(84deg, transparent 0 66%, var(--geo-d) 66.2% 74%, transparent 74.2% 100%),
    radial-gradient(circle at 66% 70%, transparent 0 38px, var(--geo-line) 39px 42px, transparent 43px),
    radial-gradient(circle at 34% 30%, transparent 0 30px, var(--geo-line) 31px 34px, transparent 35px);
  background-size:100% 100%;
}

.game-theme-geometry::after{
  opacity:var(--geo-motion-opacity);
  background:
    radial-gradient(circle at 50% 48%, rgba(235,236,242,.34) 0 38px, transparent 39px),
    linear-gradient(0deg, var(--geo-a), var(--geo-a)) 22% 80% / 150px 96px no-repeat,
    radial-gradient(circle at 80% 70%, transparent 0 40px, var(--geo-line) 41px 44px, transparent 45px),
    conic-gradient(from 22deg at 17% 83%, transparent 0 8%, var(--geo-b) 8% 12%, transparent 12% 20%, var(--geo-b) 20% 24%, transparent 24% 100%);
  background-size:100% 100%, 100% 100%, 210px 210px, 150px 150px;
}

.game-theme-geometry .game-question,
.game-theme-geometry .game-scene-screen{
  background:rgba(8,10,16,.54);
  backdrop-filter:saturate(1.08);
}

.game-theme-geometry .game-scene-title,
.game-theme-geometry .game-question h1{
  color:#f7f7fb;
  text-shadow:0 4px 18px rgba(21,16,42,.38), 0 1px 0 rgba(0,0,0,.18);
}

.game-theme-geometry .game-answer,
.game-theme-geometry .game-free-answer,
.game-theme-geometry .game-audio-visual{
  border-color:rgba(0,0,0,.28);
  background:rgba(18,20,28,.72);
  box-shadow:0 12px 30px rgba(32,20,54,.24);
}

.game-theme-neon::before{
  background:
    radial-gradient(circle at 16% 24%, transparent 0 18px, rgba(0,226,255,.30) 19px 21px, transparent 22px),
    radial-gradient(circle at 78% 20%, transparent 0 28px, rgba(255,78,205,.24) 29px 31px, transparent 32px),
    radial-gradient(circle at 72% 75%, transparent 0 16px, rgba(255,145,66,.30) 17px 19px, transparent 20px),
    linear-gradient(110deg, transparent 0 49%, rgba(0,226,255,.16) 49% 51%, transparent 51% 100%);
  background-size:100% 100%, 100% 100%, 100% 100%, 310px 310px;
}

.game-theme-neon::after{
  background:
    conic-gradient(from 90deg at 28% 72%, transparent 0 20%, rgba(255,78,205,.30) 20% 26%, transparent 26% 100%),
    conic-gradient(from 10deg at 82% 48%, transparent 0 18%, rgba(0,226,255,.28) 18% 24%, transparent 24% 100%),
    radial-gradient(circle at 48% 18%, rgba(255,255,255,.16) 0 5px, transparent 6px);
  background-size:100% 100%;
}

@keyframes themeSlowFloat{
  0%{transform:translate3d(0,0,0) rotate(0deg)}
  100%{transform:translate3d(10px,-8px,0) rotate(2deg)}
}

.game-stage.has-flash-transition::after{
  content:"";
  position:fixed;
  inset:-30% -20%;
  z-index:20;
  pointer-events:none;
  opacity:0;
  background:
    linear-gradient(115deg, transparent 0 38%, rgba(255,184,104,.0) 42%, rgba(255,120,22,.78) 48%, rgba(255,236,196,.78) 50%, rgba(255,90,0,.52) 54%, rgba(255,184,104,.0) 60%, transparent 100%);
  transform:translateX(-64%) skewX(-12deg);
}

.game-stage.has-flash-transition.is-screen-changing::after{
  animation:gameFlashSweep .58s ease-out both;
}

.game-question-animation-fade{--question-enter-x:0;--question-enter-y:0}
.game-question-animation-from_top{--question-enter-x:0;--question-enter-y:-38px}
.game-question-animation-from_bottom{--question-enter-x:0;--question-enter-y:38px}
.game-question-animation-from_left{--question-enter-x:-46px;--question-enter-y:0}
.game-question-animation-from_right{--question-enter-x:46px;--question-enter-y:0}
.game-answer-animation-fade{--answer-enter-x:0;--answer-enter-y:0}
.game-answer-animation-from_top{--answer-enter-x:0;--answer-enter-y:-34px}
.game-answer-animation-from_bottom{--answer-enter-x:0;--answer-enter-y:34px}
.game-answer-animation-from_left{--answer-enter-x:-42px;--answer-enter-y:0}
.game-answer-animation-from_right{--answer-enter-x:42px;--answer-enter-y:0}

.game-stage.is-question-entering:not(.game-question-animation-none) .game-scene-title,
.game-stage.is-question-entering:not(.game-question-animation-none) .game-scene-media,
.game-stage.is-question-entering:not(.game-question-animation-none) .game-media,
.game-stage.is-question-entering:not(.game-question-animation-none) .game-free-answer{
  --enter-x:var(--question-enter-x, 0);
  --enter-y:var(--question-enter-y, 0);
  animation:gameObjectEnter .68s ease both;
}

.game-stage.is-question-entering:not(.game-answer-animation-none).game-answer-sequence-together .game-answer:not(.is-hidden-answer){
  --enter-x:var(--answer-enter-x, 0);
  --enter-y:var(--answer-enter-y, 0);
  animation:gameObjectEnter .58s ease both;
}

.game-stage.is-question-entering:not(.game-answer-animation-none).game-answer-sequence-stagger .game-answer:not(.is-hidden-answer){
  --enter-x:var(--answer-enter-x, 0);
  --enter-y:var(--answer-enter-y, 0);
  opacity:0;
  animation:gameObjectEnter .58s ease both;
  animation-delay:calc(1s + var(--answer-index, 0) * 1s);
}

@keyframes gameObjectEnter{
  0%{
    opacity:0;
    transform:translate(var(--enter-x, 0), var(--enter-y, 0)) scale(.985);
  }
  100%{
    opacity:1;
    transform:translate(0, 0) scale(1);
  }
}

@keyframes gameFlashSweep{
  0%{
    opacity:0;
    transform:translateX(-64%) skewX(-12deg);
  }
  28%{
    opacity:.95;
  }
  100%{
    opacity:0;
    transform:translateX(64%) skewX(-12deg);
  }
}

.game-waiting{
  pointer-events:none;
}

.game-ended{
  pointer-events:auto;
}

.game-ended-hint{
  margin:0;
  color:rgba(233,236,241,.72);
  font-size:clamp(18px, 2.2vw, 28px);
  line-height:1.35;
}

.game-splash{
  min-height:100vh;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:20px;
  padding:40px;
  text-align:center;
}

.game-splash h1{
  max-width:1100px;
  margin:0;
  font-size:clamp(46px, 8vw, 110px);
  line-height:1.03;
}

.game-interlude h1{
  width:var(--interlude-width, min(1100px, 86vw));
  max-width:var(--interlude-width, min(1100px, 86vw));
  max-height:62vh;
  display:block;
  font-size:var(--interlude-font, clamp(46px, 8vw, 110px));
  line-height:var(--interlude-line, 1.03);
  overflow:hidden;
  overflow-wrap:break-word;
}

.game-splash p{
  margin:0;
  color:var(--muted);
  font-size:clamp(20px, 3vw, 34px);
  font-weight:800;
}

.game-trial-connect{
  min-height:100vh;
  height:100vh;
  display:grid;
  grid-template-rows:auto minmax(0, auto) auto auto;
  align-content:center;
  justify-items:center;
  gap:clamp(8px, 1.6vh, 16px);
  padding:clamp(14px, 4vh, 40px);
  overflow:hidden;
}

.game-trial-connect h1{
  max-width:min(900px, 92vw);
  font-size:clamp(24px, 4.2vmin, 40px);
  line-height:1.08;
  overflow-wrap:break-word;
}

.game-trial-qr{
  box-sizing:border-box;
  display:grid;
  place-items:center;
  width:var(--trial-qr-size, min(320px, 42vh, 42dvh, 62vw));
  max-width:100%;
  max-height:var(--trial-qr-size, min(320px, 42vh, 42dvh, 62vw));
  aspect-ratio:1;
  margin:0;
  padding:clamp(8px, 1.5vmin, 12px);
  overflow:hidden;
  border:0;
  border-radius:8px;
  background:#fff;
  box-shadow:0 18px 60px rgba(0,0,0,.42);
}

.game-trial-qr svg{
  display:block;
  width:100%;
  height:100%;
  max-width:100%;
  max-height:100%;
  overflow:hidden;
}

.game-trial-connect p{
  max-width:min(980px, 92vw);
  font-size:clamp(16px, 2.9vmin, 24px);
  line-height:1.2;
}

.game-trial-connect small{
  color:rgba(233,236,241,.64);
  max-width:min(820px, 92vw);
  font-size:clamp(12px, 1.8vmin, 15px);
  line-height:1.4;
}

@media (max-height: 680px){
  .game-trial-connect{
    gap:6px;
    padding:12px;
  }

  .game-trial-connect h1{
    font-size:clamp(20px, 4vmin, 30px);
  }

  .game-trial-qr{
    width:var(--trial-qr-size, min(260px, 38vh, 38dvh, 58vw));
    max-height:var(--trial-qr-size, min(260px, 38vh, 38dvh, 58vw));
  }

  .game-trial-connect p{
    font-size:clamp(14px, 2.7vmin, 19px);
  }
}

.game-layout-horizontal{
  grid-template-rows:3fr 1fr;
}

.game-layout-vertical{
  grid-template-columns:2fr 1fr;
}

.game-layout-question_only{
  grid-template-columns:1fr;
  grid-template-rows:1fr;
}

.game-question{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:clamp(28px, 5vw, 72px);
  border-bottom:1px solid rgba(255,140,60,.16);
}

.game-layout-vertical .game-question{
  border-right:1px solid rgba(255,140,60,.16);
  border-bottom:0;
}

.game-layout-horizontal .game-question{
  align-items:center;
  text-align:center;
}

.game-free-mode .game-question{
  border-right:0;
  border-bottom:0;
}

.game-layout-question_only .game-question{
  align-items:center;
  text-align:center;
  border:0;
}

.game-question h1{
  margin:10px 0 0;
  font-size:clamp(22px, 4.1cqw, 90px);
  line-height:1.08;
}

.game-media{
  width:min(980px, 100%);
  height:min(48vh, 520px);
  display:grid;
  justify-items:center;
  align-items:start;
  gap:14px;
  margin-top:28px;
}

.game-media-frame{
  width:100%;
  height:46%;
  min-height:0;
  overflow:hidden;
  border-radius:18px;
  background:rgba(0,0,0,.32);
  box-shadow:0 18px 55px rgba(0,0,0,.30);
}


/* Единый клип медиа для игры: повторяет предпросмотр конструктора.
   Скругление и обрезка применяются к внутреннему слою, чтобы масштабированная картинка
   не выходила за рамки и выглядела одинаково в конструкторе и запуске игры. */
.game-media-clip{
  position:absolute;
  inset:0;
  z-index:1;
  overflow:hidden;
  border-radius:var(--game-media-radius, inherit);
  clip-path:inset(0 round var(--game-media-radius, inherit));
}

.game-media-frame .game-media-clip{
  position:relative;
  width:100%;
  height:100%;
}

.game-media-frame img,
.game-media-frame video{
  width:100%;
  height:100%;
  display:block;
  object-fit:contain;
}

.game-audio-visual{
  width:100%;
  min-height:180px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,140,60,.22);
  border-radius:18px;
  padding:28px;
  background:rgba(255,255,255,.07);
  box-shadow:0 18px 55px rgba(0,0,0,.30);
}

.game-scene-media-audio .game-audio-visual{
  position:absolute;
  min-height:0;
  max-width:none;
  max-height:none;
}

.game-scene-media-audio .game-audio-wave{
  width:min(860px, calc(100% - 56px));
}

.game-audio-wave{
  width:min(860px, 100%);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:6px;
  min-height:112px;
}

.game-audio-wave i{
  display:block;
  flex:0 0 8px;
  width:8px;
  height:calc(var(--h, 50) * 1px);
  border-radius:999px;
  background:rgba(233,236,241,.30);
  box-shadow:none;
  transition:background .16s ease, box-shadow .16s ease;
}

.game-audio-wave i.is-played{
  background:linear-gradient(180deg, #ffb56d, #ff5a00);
  box-shadow:0 0 18px rgba(255,90,0,.28);
}

.game-media-gallery{
  grid-template-columns:repeat(2, minmax(0, 1fr));
}

.game-free-answer{
  width:min(980px, 100%);
  margin-top:34px;
  border:1px solid rgba(255,140,60,.32);
  border-radius:18px;
  padding:24px 30px;
  background:rgba(255,255,255,.07);
  box-shadow:0 18px 50px rgba(0,0,0,.25);
  font-size:clamp(30px, 4vw, 60px);
  font-weight:900;
}

.game-answers{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  grid-auto-rows:max-content;
  align-content:center;
  align-items:center;
  gap:var(--answer-gap, 16px);
  padding:clamp(calc(12px * var(--answer-scale, 1)), calc(3vw * var(--answer-scale, 1)), calc(36px * var(--answer-scale, 1)));
}

.game-layout-horizontal .game-answers:not(:has(.game-answer:nth-child(3))){
  width:100%;
  max-width:1500px;
  justify-self:center;
  align-self:center;
  grid-auto-rows:minmax(calc(96px * var(--answer-scale, 1)), max-content);
}

.game-layout-horizontal .game-answers:not(:has(.game-answer:nth-child(3))) .game-answer{
  align-self:center;
}

.game-layout-vertical .game-answers{
  grid-template-columns:1fr;
}

.game-layout-horizontal .game-answer:last-child:nth-child(odd){
  grid-column:1 / -1;
  justify-self:center;
  width:calc((100% - var(--answer-gap, 16px)) / 2);
}

.game-answer{
  display:flex;
  align-items:center;
  gap:calc(18px * var(--answer-scale, 1));
  border-radius:calc(18px * var(--answer-scale, 1));
  padding:calc(16px * var(--answer-scale, 1)) calc(22px * var(--answer-scale, 1));
  min-height:calc(96px * var(--answer-scale, 1));
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.07);
  box-shadow:0 12px 34px rgba(0,0,0,.24);
  font-size:clamp(calc(18px * var(--answer-scale, 1)), calc(3vw * var(--answer-scale, 1)), calc(42px * var(--answer-scale, 1)));
  font-weight:600;
}

.game-answer b{
  width:calc(54px * var(--answer-scale, 1));
  height:calc(54px * var(--answer-scale, 1));
  display:grid;
  place-items:center;
  flex:0 0 calc(54px * var(--answer-scale, 1));
  border-radius:calc(14px * var(--answer-scale, 1));
  background:rgba(255,90,0,.20);
  color:#fff;
}

.game-answer span{
  min-width:0;
  line-height:1.12;
  overflow-wrap:break-word;
}

.game-answer.is-selected{
  border-color:rgba(255,140,60,.75);
  background:rgba(255,100,0,.24);
}

.game-answer.is-correct{
  border-color:rgba(80,255,170,.82);
  background:rgba(30,190,110,.36);
}

.game-stage.has-correct-answer-flash .game-answer.is-correct{
  animation:answerCorrectFlash .72s ease-out both;
}

.game-answer.is-wrong{
  border-color:rgba(255,90,90,.82);
  background:rgba(210,40,40,.34);
}

.game-stage.has-wrong-answer-flash .game-answer.is-wrong{
  animation:answerWrongFlash .72s ease-out both;
}

@keyframes answerCorrectFlash{
  0%{
    box-shadow:0 12px 34px rgba(0,0,0,.24), 0 0 0 0 rgba(80,255,170,.0);
    transform:scale(1);
  }
  28%{
    box-shadow:0 16px 46px rgba(0,0,0,.30), 0 0 36px 10px rgba(80,255,170,.48);
    transform:scale(1.018);
  }
  100%{
    box-shadow:0 12px 34px rgba(0,0,0,.24), 0 0 0 0 rgba(80,255,170,.0);
    transform:scale(1);
  }
}

@keyframes answerWrongFlash{
  0%{
    box-shadow:0 12px 34px rgba(0,0,0,.24), 0 0 0 0 rgba(255,90,90,.0);
    transform:translateX(0);
  }
  18%{
    box-shadow:0 16px 46px rgba(0,0,0,.30), 0 0 34px 8px rgba(255,90,90,.48);
    transform:translateX(-4px);
  }
  36%{
    transform:translateX(4px);
  }
  54%{
    transform:translateX(-2px);
  }
  100%{
    box-shadow:0 12px 34px rgba(0,0,0,.24), 0 0 0 0 rgba(255,90,90,.0);
    transform:translateX(0);
  }
}

.game-answer.is-hidden-answer,
.control-answer.is-hidden-answer{
  pointer-events:none;
}

.game-answer.is-hidden-answer{
  opacity:.18;
  box-shadow:none;
}

.game-answer.is-hidden-answer b,
.game-answer.is-hidden-answer span{
  visibility:hidden;
}

.control-answer.is-hidden-answer{
  visibility:hidden;
}

.control-body{
  overflow:auto;
}

.control-panel{
  position:relative;
  z-index:1;
  width:min(520px, calc(100% - 24px));
  margin:0 auto;
  padding:18px 0 28px;
}

.control-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-bottom:14px;
}

.control-top h1{
  margin:2px 0 0;
  font-size:24px;
  line-height:1.1;
}

.control-nav{
  display:flex;
  align-items:center;
  gap:10px;
}

.btn-next{
  width:58px;
  min-width:58px;
  min-height:58px;
  padding:0;
  font-size:34px;
  line-height:1;
  letter-spacing:0;
}

.btn-fifty{
  width:58px;
  min-width:58px;
  min-height:58px;
  padding:0;
  font-size:17px;
  letter-spacing:0;
}

.btn-fifty:disabled{
  opacity:.42;
  cursor:not-allowed;
}

.control-status{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:14px;
  font-weight:900;
}

.control-status small{
  color:var(--orange2);
  font-weight:900;
}

.control-answers{
  display:grid;
  gap:10px;
}

.btn-finish-game{
  width:100%;
  margin-top:16px;
}

.control-answer{
  min-height:62px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:14px;
  padding:14px;
  text-align:left;
  color:var(--text);
  background:rgba(10,12,16,.42);
  font-weight:900;
  cursor:pointer;
}

.control-answer.is-selected{
  border-color:rgba(255,140,60,.70);
  background:rgba(255,100,0,.20);
}

.control-answer.is-correct{
  border-color:rgba(80,255,170,.82);
  background:rgba(30,190,110,.26);
}

.control-answer.is-correct span{
  color:#d9ffe9;
}

.control-answer.is-host-correct{
  border-color:rgba(255,255,255,.12);
  background:rgba(10,12,16,.42);
}

.control-answer.is-host-correct span{
  color:#70ffae;
}

.control-answer.is-wrong{
  border-color:rgba(255,90,90,.82);
  background:rgba(210,40,40,.24);
}

.control-answer.is-selected.is-host-correct:not(.is-correct){
  border-color:rgba(255,140,60,.70);
  background:rgba(255,100,0,.20);
}

.control-answer:disabled{
  cursor:not-allowed;
  opacity:.92;
}

@media (max-width:640px){
  .workspace{
    width:min(100% - 24px, 520px);
    padding-top:10px;
  }
  .topbar{
    align-items:flex-start;
    flex-wrap:nowrap;
    gap:8px;
  }
  .topbar > div:first-child{
    min-width:0;
    flex:1 1 auto;
  }
  .topbar-stats{
    gap:6px;
    margin-left:auto;
    flex-wrap:wrap;
    justify-content:flex-end;
  }
  .played-counter{
    margin-left:auto;
    min-height:40px;
    padding:0 9px;
    flex:0 0 auto;
  }
  .topbar-stats .played-counter{
    margin-left:0;
  }
  .played-counter span{
    font-size:10px;
  }
  .played-counter b{
    font-size:15px;
  }
  .topbar-actions{
    flex:0 0 auto;
    gap:8px;
    justify-content:flex-end;
  }
  .site-footer,
  .login-wrap .site-footer{
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:8px;
    padding:10px;
    border-radius:12px;
    text-align:left;
  }
  .site-footer h2{
    margin-bottom:5px;
    font-size:8px;
    letter-spacing:.12em;
    white-space:nowrap;
  }
  .site-footer a,
  .site-footer p{
    margin-top:4px;
    font-size:9px;
    line-height:1.15;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .control-grid{
    grid-template-columns:1fr;
  }
  .quiz-row{
    align-items:center;
    flex-direction:row;
    gap:8px;
    padding:10px 12px;
  }
  .quiz-launch{
    width:100%;
    gap:8px;
  }
  .quiz-title-wrap{
    gap:8px;
  }
  .quiz-title-wrap > span:not(.quiz-title-stack),
  .quiz-title-stack > span{
    font-size:13px;
    line-height:1.15;
  }
  .quiz-title-stack small{
    display:none;
  }
  .quiz-age{
    min-width:36px;
    padding:4px 7px;
    font-size:12px;
    border-radius:7px;
  }
  .quiz-question-count{
    padding:4px 6px;
    font-size:11px;
    border-radius:7px;
  }
  .quiz-launch small{
    display:none;
  }
  .quiz-actions{
    width:100%;
  }
  .quiz-actions{
    justify-content:flex-end;
  }
  .quiz-meta-row{
    grid-template-columns:1fr;
  }
  .question-compose .media-dropzone,
  .question-animation-settings,
  .question-compose .media-items{
    grid-column:1;
    grid-row:auto;
  }
  .question-workspace{
    grid-template-columns:1fr;
  }
  .question-tabs{
    position:static;
    grid-template-columns:repeat(auto-fit, minmax(40px, 40px));
    justify-content:start;
  }
  .editor-toolbar,
  .editor-grid,
  .question-compose,
  .answer-edit-row,
  .media-item,
  .game-media-gallery,
  .answers-editor{
    grid-template-columns:1fr;
  }
  .editor-toolbar{
    flex-direction:column;
  }
}

@media (prefers-reduced-motion:reduce){
  #bg{ display:none; }
}

/* Свободная сцена для режима "Только вопрос". */
.question-preview.game-layout-question_only{
  position:relative;
  display:block;
}

.question-preview.game-layout-question_only .question-preview-main{
  position:absolute;
  inset:0;
  display:block;
  padding:0;
  overflow:hidden;
}

.question-preview.game-layout-question_only .question-preview-main > .eyebrow{
  position:absolute;
  z-index:1;
  top:12px;
  left:50%;
  transform:translateX(-50%);
  opacity:.28;
  pointer-events:none;
}

.question-preview.game-layout-question_only .preview-media-slot{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  margin:0;
  border-radius:0;
}

.question-preview.game-layout-question_only .preview-media-grid{
  position:absolute;
  inset:0;
  display:block;
  height:100%;
}

.question-preview.game-layout-question_only .preview-media-frame{
  position:absolute;
  min-width:10%;
  max-height:none;
  cursor:default;
}

.question-preview.game-layout-question_only .preview-media-slot.is-gallery .preview-media-frame{
  aspect-ratio:auto;
  max-height:none;
}

.question-preview .preview-question-input.is-scene-text{
  position:absolute;
  z-index:6;
  margin:0;
  padding:8px 10px;
  border:1px dashed rgba(255,255,255,.24);
  border-radius:12px;
  background:rgba(6,7,10,.20);
  cursor:text;
  text-align:center;
}

.scene-text-drag,
.scene-text-resize,
.scene-text-remove{
  position:absolute;
  z-index:9;
  display:none;
  width:22px;
  height:22px;
  border:1px solid rgba(255,255,255,.72);
  border-radius:8px;
  color:#fff;
  background:#ff7a1a;
  box-shadow:0 0 18px rgba(255,90,0,.38);
  font-size:13px;
  font-weight:900;
  line-height:1;
  place-items:center;
  touch-action:none;
}

.scene-text-remove{
  border-radius:999px;
  cursor:pointer;
}

.scene-text-drag{
  cursor:move;
}

.scene-text-resize{
  cursor:nwse-resize;
}

.game-scene-question{
  position:relative;
  container-type:inline-size;
  padding:0;
  overflow:hidden;
}

.game-scene-question > .game-scene-canvas-inline{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  overflow:hidden;
}

.game-question-eyebrow,
.game-scene-eyebrow{
  position:absolute;
  z-index:40;
  top:clamp(14px, 2vw, 28px);
  left:clamp(18px, 3vw, 52px);
  width:max-content;
  max-width:calc(100% - clamp(36px, 6vw, 104px));
  padding:4px 8px;
  border-radius:999px;
  background:rgba(0,0,0,.24);
  text-shadow:0 4px 14px rgba(0,0,0,.60);
  pointer-events:none;
}

.game-scene-question > .game-free-answer{
  position:relative;
  z-index:6;
}

.game-scene-title{
  position:absolute;
  z-index:6;
  display:grid;
  place-items:center;
  margin:0 !important;
  box-sizing:border-box;
  padding:8px 10px;
  color:var(--text);
  background:transparent;
  text-align:center;
  overflow:hidden;
  font-size:clamp(25px, 3.4vw, 44px);
  font-size:clamp(22px, 4.2cqw, 90px);
  line-height:1.08;
}

.game-scene-question .game-media,
.game-scene-question .game-scene-media{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  margin:0;
  display:block;
}

.game-scene-question .game-media-frame,
.game-scene-question .game-scene-media-frame{
  position:absolute;
  max-height:none;
  overflow:hidden;
  background:transparent;
  border-radius:var(--game-media-radius, inherit);
  clip-path:inset(0 round var(--game-media-radius, inherit));
}

/* В игровом экране картинки с object-fit: contain должны визуально скругляться так же,
   как в предпросмотре конструктора: скругляется весь медиа-блок, а не только пиксели изображения. */
.game-scene-question .game-scene-media-image .game-scene-media-frame,
.game-scene-question .game-scene-media-gallery .game-scene-media-frame,
.game-layout-question_only .game-scene-canvas .game-scene-media-image .game-scene-media-frame,
.game-layout-question_only .game-scene-canvas .game-scene-media-gallery .game-scene-media-frame{
  background:#f7f2ec;
}


/* Одиночная картинка в игре должна повторять предпросмотр конструктора:
   картинка не растягивается под другой экран, а пустые зоны рамки остаются прозрачными. */
.game-scene-question .game-scene-media-image .game-scene-media-frame,
.game-layout-question_only .game-scene-canvas .game-scene-media-image .game-scene-media-frame{
  background:transparent;
}

.game-scene-question .game-scene-media-frame .game-media-clip,
.game-scene-question .game-media-frame .game-media-clip{
  position:absolute;
  inset:0;
  overflow:hidden;
  border-radius:var(--game-media-radius, inherit);
  clip-path:inset(0 round var(--game-media-radius, inherit));
}

.game-scene-question .game-scene-media-frame img,
.game-scene-question .game-scene-media-frame video{
  width:100%;
  height:100%;
  display:block;
  object-fit:contain;
}

/* Верхний слой правильного ответа для режима сцены без вариантов ответа. */
.game-layout-question_only.game-free-mode.game-stage-reveal_correct .game-scene-question .game-free-answer,
.game-layout-question_only.game-free-mode.game-stage-selected .game-scene-question .game-free-answer{
  position:absolute;
  inset:0;
  z-index:40;
  width:100%;
  margin:0;
  border:0;
  border-radius:0;
  padding:clamp(28px, 5vw, 72px);
  display:grid;
  place-items:center;
  background:rgba(0,0,0,.54);
  box-shadow:none;
  pointer-events:none;
}

.game-layout-question_only.game-free-mode.game-stage-reveal_correct .game-scene-question .game-free-answer span,
.game-layout-question_only.game-free-mode.game-stage-selected .game-scene-question .game-free-answer span{
  position:relative;
  z-index:1;
  max-width:min(86vw, 1100px);
  padding:clamp(22px, 3.5vw, 46px) clamp(28px, 5vw, 72px);
  border:1px solid rgba(255,140,60,.42);
  border-radius:24px;
  background:rgba(12,12,16,.72);
  box-shadow:0 28px 90px rgba(0,0,0,.48), 0 0 34px rgba(255,119,0,.16);
  color:#ffffff;
  text-align:center;
  text-shadow:0 5px 24px rgba(0,0,0,.55);
}

/* Точный рендер свободной сцены на игровом экране.
   В этом режиме не используются старые flex/grid-раскладки вопроса. */
.game-layout-question_only .game-scene-screen{
  width:100vw;
  height:100vh;
  display:grid;
  place-items:center;
  padding:0;
  border:0;
  overflow:hidden;
}

.game-layout-question_only .game-scene-canvas{
  position:relative;
  container-type:inline-size;
  width:min(100vw, calc(100vh * 16 / 9));
  height:min(100vh, calc(100vw * 9 / 16));
  overflow:hidden;
  border:0;
  background:transparent;
}

.game-layout-question_only .game-scene-canvas .game-scene-eyebrow{
  position:absolute;
  z-index:30;
  top:2%;
  left:3%;
  transform:none;
  pointer-events:none;
}

.game-layout-question_only .game-scene-canvas .game-scene-media{
  position:absolute;
  inset:0;
  z-index:1;
  display:block;
  width:100%;
  height:100%;
  margin:0;
  padding:0;
}

.game-layout-question_only .game-scene-canvas .game-scene-media-frame{
  position:absolute;
  min-width:10%;
  min-height:10%;
  max-width:none;
  max-height:none;
  overflow:hidden;
  background:transparent;
  box-shadow:none;
  border-radius:var(--game-media-radius, inherit);
  clip-path:inset(0 round var(--game-media-radius, inherit));
}

.game-layout-question_only .game-scene-canvas .game-scene-media-frame .game-media-clip{
  position:absolute;
  inset:0;
  overflow:hidden;
  border-radius:var(--game-media-radius, inherit);
  clip-path:inset(0 round var(--game-media-radius, inherit));
}

.game-layout-question_only .game-scene-canvas .game-scene-media-frame img,
.game-layout-question_only .game-scene-canvas .game-scene-media-frame video{
  width:100%;
  height:100%;
  display:block;
  object-fit:contain;
}

.game-layout-question_only .game-scene-canvas .game-scene-title{
  position:absolute;
  z-index:10;
  display:grid;
  place-items:center;
  margin:0 !important;
  padding:8px 10px;
  border:0;
  color:var(--text);
  background:transparent;
  text-align:center;
  overflow:hidden;
  font-size:clamp(25px, 3.4vw, 44px);
  font-size:clamp(22px, 4.2cqw, 90px);
  line-height:1.08;
}


/* При показе правильного ответа сцена позади ответа мягко уходит в расфокус. */
.game-layout-question_only.game-free-mode.game-stage-reveal_correct .game-scene-canvas .game-scene-media,
.game-layout-question_only.game-free-mode.game-stage-reveal_correct .game-scene-canvas .game-scene-title,
.game-layout-question_only.game-free-mode.game-stage-selected .game-scene-canvas .game-scene-media,
.game-layout-question_only.game-free-mode.game-stage-selected .game-scene-canvas .game-scene-title{
  filter:blur(4px);
  transition:filter .24s ease, opacity .24s ease;
}

.game-layout-question_only.game-free-mode.game-stage-reveal_correct .game-scene-canvas .game-free-answer,
.game-layout-question_only.game-free-mode.game-stage-selected .game-scene-canvas .game-free-answer{
  filter:none;
}

.game-layout-question_only.game-free-mode.game-stage-reveal_correct .game-scene-canvas .game-free-answer,
.game-layout-question_only.game-free-mode.game-stage-selected .game-scene-canvas .game-free-answer{
  position:absolute;
  inset:0;
  z-index:50;
  width:100%;
  height:100%;
  margin:0;
  border:0;
  border-radius:0;
  padding:clamp(28px, 5vw, 72px);
  display:grid;
  place-items:center;
  background:rgba(0,0,0,.54);
  box-shadow:none;
  pointer-events:none;
}

.game-layout-question_only.game-free-mode.game-stage-reveal_correct .game-scene-canvas .game-free-answer span,
.game-layout-question_only.game-free-mode.game-stage-selected .game-scene-canvas .game-free-answer span{
  position:relative;
  z-index:1;
  max-width:min(86vw, 1100px);
  padding:clamp(22px, 3.5vw, 46px) clamp(28px, 5vw, 72px);
  border:1px solid rgba(255,140,60,.42);
  border-radius:24px;
  background:rgba(12,12,16,.72);
  box-shadow:0 28px 90px rgba(0,0,0,.48), 0 0 34px rgba(255,119,0,.16);
  color:#ffffff;
  text-align:center;
  text-shadow:0 5px 24px rgba(0,0,0,.55);
}


/* Подсказка resize-маркера управляется только JS, чтобы она могла исчезать при наведённом курсоре. */
.media-resize-handle[data-media-tooltip]:hover::after,
.media-resize-handle[data-media-tooltip]:hover::before{
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.media-resize-handle[data-media-tooltip].tooltip-visible::after,
.media-resize-handle[data-media-tooltip].tooltip-visible::before{
  opacity: 1;
  visibility: visible;
}


/* Кнопки центровки объекта свободной сцены. */
.scene-align-actions{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-left: auto;
  margin-right: 10px;
}

.scene-radius-control{
  min-width:132px;
  display:grid;
  grid-template-columns:auto minmax(70px, 1fr);
  align-items:center;
  gap:8px;
  margin-right:10px;
  padding:7px 10px;
  border:1px solid rgba(255, 136, 45, .45);
  border-radius:12px;
  background:rgba(255, 136, 45, .12);
  color:#ffd0a2;
  font-size:12px;
  line-height:1;
}

.scene-radius-control[hidden]{
  display:none;
}

.scene-radius-control select{
  width:auto;
  min-width:68px;
  padding:0 18px 0 0;
  border:0;
  border-radius:0;
  background-color:transparent;
  color:inherit;
  font:inherit;
}

.scene-radius-control input{
  width:100%;
  accent-color:var(--accent);
}

.scene-align-btn{
  width: 42px;
  height: 34px;
  border: 1px solid rgba(255, 136, 45, .55);
  border-radius: 12px;
  background: rgba(255, 136, 45, .14);
  color: #ffd0a2;
  font-weight: 900;
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.04);
}

.scene-align-btn:hover{
  background: rgba(255, 136, 45, .24);
  border-color: rgba(255, 136, 45, .9);
  color: #fff;
}

.preview-media-frame.is-active-scene-object{
  outline-color: rgba(255, 136, 45, .9);
  box-shadow: 0 0 0 1px rgba(255, 136, 45, .35), 0 18px 50px rgba(0,0,0,.34);
}

/* Стартовая витрина */
.landing-body{
  min-height:100vh;
}

.landing-page{
  position:relative;
  z-index:1;
  width:min(1120px, calc(100% - 32px));
  min-height:100vh;
  margin:0 auto;
  padding:18px 0 42px;
}

.landing-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:14px;
}

.landing-top-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:12px;
  margin-left:auto;
}

.landing-logo{
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:var(--text);
  text-decoration:none;
}

.landing-logo-image{
  gap:clamp(10px, 1.8vw, 18px);
}

.landing-logo-mark{
  width:clamp(42px, 5vw, 64px);
  height:auto;
  display:block;
  filter:drop-shadow(0 14px 30px rgba(255,106,0,.20));
}

.landing-logo-text{
  width:clamp(145px, 12vw, 210px);
  height:auto;
  display:block;
  filter:drop-shadow(0 8px 22px rgba(0,0,0,.32));
}

.landing-login-button{
  min-width:104px;
}

.landing-account-login-mobile{
  display:none;
}

.landing-hero{
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);
  gap:16px 22px;
  align-items:center;
  padding:8px 0 18px;
}

.landing-copy{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:12px;
}

.landing-copy h1{
  margin:0;
  max-width:570px;
  color:rgba(233,236,241,.96);
  font-size:clamp(36px, 3.8vw, 44px);
  line-height:1.02;
  letter-spacing:0;
  text-shadow:0 14px 36px rgba(0,0,0,.42);
}

.landing-copy p{
  max-width:480px;
  margin:0;
  color:rgba(233,236,241,.74);
  font-size:clamp(16px, 1.7vw, 19px);
  line-height:1.42;
}

.landing-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:4px;
}

.landing-actions .btn-primary,
.landing-actions .btn-ghost{
  min-height:48px;
  padding-inline:22px;
}

.landing-hero-note{
  margin:0;
  max-width:480px;
  color:rgba(233,236,241,.58);
  font-size:13px;
  line-height:1.4;
}

.landing-proof{
  width:100%;
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(120px, 1fr));
  gap:0;
  margin-top:4px;
  border-top:1px solid rgba(255,140,60,.18);
  border-bottom:1px solid rgba(255,140,60,.18);
}

.landing-proof div{
  min-width:0;
  padding:12px 12px 12px 0;
}

.landing-proof div + div{
  padding-left:12px;
  border-left:1px solid rgba(255,255,255,.10);
}

.landing-proof strong,
.landing-proof span{
  display:block;
}

.landing-proof strong{
  color:#fff;
  font-size:18px;
  line-height:1.1;
}

.landing-proof span{
  margin-top:4px;
  color:rgba(233,236,241,.58);
  font-size:11px;
  line-height:1.25;
}

.landing-tags{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:0;
}

.landing-hero-tags{
  grid-column:1 / -1;
  margin-top:2px;
}

.landing-tags span{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:5px 10px;
  border:1px solid rgba(255,140,60,.22);
  border-radius:999px;
  background:rgba(255,255,255,.05);
  color:rgba(233,236,241,.78);
  font-size:12px;
}

.landing-showcase{
  position:relative;
  width:100%;
  min-height:0;
  align-self:center;
}

.landing-shot{
  margin:0;
  overflow:hidden;
  border:1px solid rgba(255,140,60,.20);
  border-radius:16px;
  background:rgba(255,255,255,.06);
  box-shadow:0 22px 60px rgba(0,0,0,.38), inset 0 1px 0 rgba(255,255,255,.08);
}

.landing-shot img{
  display:block;
  width:100%;
  height:auto;
  object-fit:cover;
}

.landing-shot-main{
  position:relative;
  width:100%;
  max-width:100%;
}

.landing-shot-main img{
  aspect-ratio:16 / 10;
  object-position:center center;
}

.landing-shot-phone{
  position:absolute;
  right:-4px;
  bottom:-6px;
  width:min(188px, 36%);
  max-height:none;
  z-index:2;
}

.landing-shot-phone img{
  aspect-ratio:9 / 16;
  object-position:top center;
}

.landing-demo-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:14px;
  margin:12px 0 28px;
}

.landing-how{
  margin:14px 0 34px;
  scroll-margin-top:18px;
}

.landing-how-head{
  margin-bottom:14px;
}

.landing-feature-step{
  display:grid;
  place-items:center;
  width:28px;
  height:28px;
  margin-bottom:10px;
  border:1px solid rgba(255,140,60,.52);
  border-radius:50%;
  color:#fff;
  background:rgba(255,106,0,.18);
  font-size:13px;
  font-weight:800;
}

.landing-feature{
  overflow:hidden;
  border:1px solid rgba(255,140,60,.16);
  border-radius:16px;
  background:linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.04));
  box-shadow:0 18px 54px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.07);
}

.landing-feature img{
  display:block;
  width:100%;
  object-fit:cover;
  object-position:top center;
  border-bottom:1px solid rgba(255,140,60,.13);
}

.landing-feature-phone img{
  width:min(170px, 62%);
  aspect-ratio:9 / 16;
  margin:14px auto 0;
  border:1px solid rgba(255,140,60,.12);
  border-radius:14px;
}

.landing-feature div{
  padding:14px 16px 16px;
}

.landing-feature h2{
  margin:0 0 6px;
  color:rgba(233,236,241,.92);
  font-size:18px;
  line-height:1.2;
}

.landing-feature p{
  margin:0;
  color:rgba(233,236,241,.66);
  font-size:14px;
  line-height:1.38;
}

.landing-conspiracy-grid{
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);
  gap:22px;
  align-items:center;
}

.landing-conspiracy-media{
  position:relative;
  overflow:hidden;
  aspect-ratio:16 / 10;
  border-radius:14px;
  background:#050607;
  box-shadow:0 18px 44px rgba(0,0,0,.4);
}

.landing-conspiracy-media img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

.landing-conspiracy-badge{
  position:absolute;
  left:12px;
  bottom:12px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:6px 12px 6px 6px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:999px;
  background:rgba(5,6,8,.72);
  backdrop-filter:blur(6px);
}

.landing-conspiracy-badge img{
  width:26px;
  height:26px;
  border-radius:50%;
  object-fit:cover;
}

.landing-conspiracy-badge span{
  color:#eee4d4;
  font:700 13px/1 Georgia, "Times New Roman", serif;
  letter-spacing:.04em;
}

.landing-conspiracy-copy{
  display:flex;
  flex-direction:column;
  gap:16px;
}

.landing-conspiracy-copy .landing-section-head{
  margin-bottom:0;
}

.landing-conspiracy-stats{
  border-top:1px solid rgba(255,140,60,.18);
  border-bottom:1px solid rgba(255,140,60,.18);
}

.landing-library-showcase{
  margin:12px 0 34px;
  padding:22px 0 4px;
  border-top:1px solid rgba(255,140,60,.16);
  border-bottom:1px solid rgba(255,140,60,.16);
}

.landing-library-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:18px;
  max-width:none;
}

.landing-library-head > div{
  max-width:760px;
}

.landing-library-head .btn-ghost{
  flex:0 0 auto;
  min-height:42px;
}

.landing-library-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:12px;
  margin-bottom:22px;
}

.landing-library-card{
  min-width:0;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.12);
  border-radius:8px;
  background:rgba(8,10,14,.42);
}

.landing-library-cover{
  position:relative;
  aspect-ratio:16 / 9;
  overflow:hidden;
  background:rgba(0,0,0,.36);
}

.landing-library-cover img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

.landing-library-age,
.landing-library-count{
  position:absolute;
  bottom:7px;
  display:inline-flex;
  align-items:center;
  min-height:23px;
  padding:3px 7px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:6px;
  background:rgba(5,6,8,.82);
  color:#fff;
  font-size:11px;
  font-weight:700;
}

.landing-library-age{
  right:7px;
  top:7px;
  bottom:auto;
}

.landing-library-count{
  left:7px;
}

.landing-library-card h3{
  margin:0;
  padding:11px 12px 13px;
  color:rgba(233,236,241,.92);
  font-size:15px;
  line-height:1.25;
}

.landing-seo-section{
  margin:16px 0 34px;
  padding:22px;
  border:1px solid rgba(255,140,60,.14);
  border-radius:18px;
  background:linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.025));
  box-shadow:0 18px 54px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.06);
}

.landing-section-head{
  max-width:820px;
  margin-bottom:18px;
}

.landing-section-head h2{
  margin:6px 0 8px;
  color:rgba(233,236,241,.94);
  font-size:clamp(20px, 3vw, 35px);
  line-height:1.04;
}

.landing-section-head p{
  margin:0;
  color:rgba(233,236,241,.68);
  font-size:17px;
  line-height:1.5;
}

.landing-use-grid,
.landing-faq-list{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:12px;
}

.landing-faq-list{
  grid-template-columns:repeat(2, minmax(0, 1fr));
}

.landing-use-grid article,
.landing-faq-list article,
.landing-steps li{
  border:1px solid rgba(255,255,255,.10);
  border-radius:14px;
  background:rgba(8,10,14,.30);
}

.landing-use-grid article,
.landing-faq-list article{
  padding:15px;
}

.landing-use-grid h3,
.landing-faq-list h3{
  margin:0 0 7px;
  color:rgba(233,236,241,.90);
  font-size:18px;
  line-height:1.22;
}

.landing-use-grid p,
.landing-faq-list p{
  margin:0;
  color:rgba(233,236,241,.64);
  font-size:14px;
  line-height:1.45;
}

.landing-use-label{
  display:block;
  margin-bottom:9px;
  color:#ffad67;
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
}

.landing-steps ol{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:12px;
  margin:0;
  padding:0;
  list-style:none;
  counter-reset:landing-step;
}

.landing-steps li{
  position:relative;
  min-height:142px;
  padding:18px 16px 16px;
  counter-increment:landing-step;
}

.landing-steps li::before{
  content:counter(landing-step);
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  margin-bottom:16px;
  border-radius:10px;
  color:#fff;
  background:linear-gradient(145deg, rgba(255,90,0,.96), rgba(255,139,31,.72));
}

.landing-steps strong,
.landing-steps span{
  display:block;
}

.landing-steps strong{
  color:rgba(233,236,241,.92);
  font-size:18px;
  line-height:1.2;
}

.landing-steps span{
  margin-top:7px;
  color:rgba(233,236,241,.64);
  font-size:14px;
  line-height:1.45;
}

.landing-pricing{
  scroll-margin-top:18px;
}

.landing-ai-funnel{
  display:grid;
  grid-template-columns:minmax(0, .9fr) minmax(0, 1.1fr);
  gap:34px;
  align-items:center;
}

.landing-ai-funnel-copy h2{
  max-width:720px;
  margin:8px 0 14px;
  font-size:30px;
  line-height:1.06;
}

.landing-ai-funnel-copy > p{
  max-width:680px;
  margin:0;
  color:var(--muted);
  font-size:16px;
  line-height:1.65;
}

.landing-ai-actions{
  margin-top:22px;
}

.landing-ai-flow{
  display:grid;
  gap:16px;
  min-width:0;
}

.landing-ai-flow ol{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:16px 20px;
  margin:0;
  padding:0;
  list-style:none;
}

.landing-ai-compact .landing-ai-flow ol{
  grid-template-columns:1fr;
}

.landing-ai-compact .landing-ai-flow li{
  padding:12px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:8px;
  background:rgba(8,10,14,.28);
}

.landing-ai-flow li{
  display:grid;
  grid-template-columns:34px minmax(0, 1fr);
  gap:10px;
  align-items:start;
}

.landing-ai-flow li > span{
  display:grid;
  place-items:center;
  width:32px;
  height:32px;
  border:1px solid rgba(255,140,60,.46);
  border-radius:8px;
  color:#ffac62;
  background:rgba(255,100,0,.10);
  font-weight:800;
}

.landing-ai-flow strong{
  display:block;
  margin:2px 0 5px;
  color:rgba(255,255,255,.94);
  font-size:15px;
}

.landing-ai-flow p{
  margin:0;
  color:var(--muted);
  font-size:13px;
  line-height:1.45;
}

.landing-ai-flow pre{
  box-sizing:border-box;
  width:100%;
  margin:0;
  overflow:auto;
  padding:16px 18px;
  border:1px solid rgba(68,194,126,.28);
  border-radius:8px;
  background:rgba(6,18,13,.54);
  color:#8fe0b2;
  font:13px/1.5 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

.landing-tariff-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:12px;
}

.landing-tariff-card{
  position:relative;
  display:grid;
  gap:8px;
  padding:16px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:16px;
  background:rgba(8,10,14,.34);
}

.landing-tariff-card.is-featured{
  border-color:rgba(255,133,31,.72);
  background:linear-gradient(180deg, rgba(255,133,31,.14), rgba(8,10,14,.34));
  box-shadow:0 18px 48px rgba(255,106,0,.14);
}

.landing-tariff-badge{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:0 10px;
  border-radius:999px;
  background:rgba(255,106,0,.18);
  border:1px solid rgba(255,133,31,.42);
  color:#ffc58a;
  font-size:11px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.landing-tariff-card h3{
  margin:0;
  color:rgba(233,236,241,.94);
  font-size:20px;
  line-height:1.2;
}

.landing-tariff-audience{
  min-height:34px;
  margin:0;
  color:#ffbd83;
  font-size:12px;
  font-weight:700;
  line-height:1.35;
}

.landing-tariff-price{
  color:#fff;
  font-size:30px;
  font-weight:800;
  line-height:1;
}

.landing-tariff-discount{
  margin:0;
  color:#ffc58a;
  font-size:13px;
  line-height:1.35;
}

.landing-tariff-old-price{
  margin:0;
  color:rgba(233,236,241,.48);
  font-size:14px;
  line-height:1.2;
  text-decoration:line-through;
}

.landing-tariff-meta{
  margin:0;
  color:rgba(233,236,241,.62);
  font-size:13px;
  line-height:1.4;
}

.landing-tariff-features{
  margin:0;
  padding-left:18px;
  color:rgba(233,236,241,.72);
  font-size:13px;
  line-height:1.45;
}

.landing-tariff-features li{
  margin-bottom:4px;
}

.landing-tariff-btn{
  width:100%;
  min-height:42px;
  margin-top:4px;
}

.landing-pricing-note{
  margin:14px 0 0;
  color:rgba(233,236,241,.62);
  font-size:14px;
  line-height:1.45;
}

.landing-pricing-note a{
  color:#ffc58a;
}

.landing-final-cta{
  margin:8px 0 34px;
  padding:24px;
  border:1px solid rgba(255,140,60,.24);
  border-radius:18px;
  background:linear-gradient(135deg, rgba(255,106,0,.16), rgba(255,255,255,.04));
  box-shadow:0 22px 60px rgba(0,0,0,.28);
}

.landing-final-cta-inner{
  max-width:760px;
}

.landing-final-cta h2{
  margin:0 0 10px;
  color:rgba(233,236,241,.96);
  font-size:clamp(20px, 3vw, 35px);
  line-height:1.06;
}

.landing-final-cta p{
  margin:0 0 16px;
  color:rgba(233,236,241,.72);
  font-size:17px;
  line-height:1.48;
}

.trial-demo-modal{
  width:min(780px, 100%);
}

.trial-demo-layout{
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(210px, 250px);
  gap:18px;
  align-items:stretch;
}

.trial-demo-copy p{
  color:rgba(233,236,241,.78);
  line-height:1.5;
}

.trial-demo-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:18px;
}

.trial-demo-qr{
  display:flex;
}

.trial-demo-qr-box{
  flex:1 1 auto;
  min-height:250px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(255,255,255,.12);
  border-radius:14px;
  background:#fff;
  color:#666;
  overflow:hidden;
}

.trial-demo-qr-box svg{
  width:100%;
  height:100%;
  display:block;
}

.trial-demo-qr-box.is-loading,
.trial-demo-qr-box.is-empty{
  background:rgba(255,255,255,.08);
  color:var(--muted);
  text-align:center;
  padding:16px;
}

.trial-demo-actions .is-disabled{
  opacity:.55;
  pointer-events:none;
}

.auth-modal-backdrop{
  --auth-ui-scale:1;
  position:fixed;
  inset:0;
  z-index:20;
  display:grid;
  place-items:center;
  padding:18px;
  background:rgba(0,0,0,.62);
  backdrop-filter:blur(9px) saturate(92%);
  -webkit-backdrop-filter:blur(9px) saturate(92%);
}

.auth-modal-backdrop.is-hidden{
  display:none;
}

.auth-modal-shell{
  position:relative;
  width:min(calc(470px * var(--auth-ui-scale)), 100%);
  max-height:calc(100vh - 24px);
  overflow:auto;
}

.auth-modal-close{
  z-index:2;
  top:10px;
  right:10px;
}

.auth-modal-wrap{
  width:100%;
  padding:18px 0 0;
  zoom:var(--auth-ui-scale);
}

.auth-modal-wrap .brand{
  padding-top:6px;
}

@media (min-width: 900px) and (max-height: 820px){
  .auth-modal-backdrop{
    --auth-ui-scale:.94;
  }
}

@media (min-width: 900px) and (max-height: 760px){
  .auth-modal-backdrop{
    --auth-ui-scale:.88;
    padding:12px;
  }

  .auth-modal-shell{
    max-height:calc(100dvh - 18px);
    overflow:visible;
  }
}

@media (min-width: 900px) and (max-height: 700px){
  .auth-modal-backdrop{
    --auth-ui-scale:.80;
    padding:8px;
  }
}

@media (min-width: 900px) and (max-height: 640px){
  .auth-modal-backdrop{
    --auth-ui-scale:.72;
  }
}

@media (max-width:900px){
  .landing-hero{
    grid-template-columns:1fr;
    gap:14px;
    align-items:stretch;
  }

  .landing-hero-tags{
    grid-column:auto;
  }

  .landing-showcase{
    max-width:min(100%, 560px);
    margin:0 auto;
  }

  .landing-conspiracy-grid{
    grid-template-columns:1fr;
  }

  .landing-demo-grid{
    grid-template-columns:1fr;
  }

  .landing-library-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .landing-ai-funnel{
    grid-template-columns:1fr;
  }

  .landing-use-grid,
  .landing-faq-list,
  .landing-steps ol{
    grid-template-columns:1fr;
  }

  .landing-tariff-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media (max-width:640px){
  .landing-page{
    width:min(100% - 20px, 420px);
    padding-top:14px;
  }

  .landing-logo-mark{
    width:40px;
  }

  .landing-logo-text{
    width:clamp(126px, 34vw, 176px);
  }

  .landing-top-actions{
    gap:8px;
  }

  .landing-top-actions .landing-stats{
    min-height:36px;
    gap:6px;
    padding:0 9px;
  }

  .landing-top-actions .landing-stats span{
    font-size:10px;
  }

  .landing-top-actions .landing-stats b{
    font-size:15px;
  }

  .landing-top-actions .landing-library-stats span b{
    font-size:12px;
  }

  .landing-login-button{
    display:none;
  }

  .landing-copy h1{
    font-size:clamp(30px, 8vw, 45px);
  }

  .landing-copy p{
    font-size:16px;
  }

  .landing-proof{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .landing-proof div:last-child:nth-child(odd){
    grid-column:1 / -1;
    padding-left:0;
    border-left:0;
    border-top:1px solid rgba(255,255,255,.10);
  }

  .landing-library-head{
    align-items:stretch;
    flex-direction:column;
  }

  .landing-library-head .btn-ghost{
    width:100%;
  }

  .landing-library-card h3{
    font-size:13px;
  }

  .landing-library-count{
    font-size:10px;
  }

  .landing-ai-funnel-copy h2{
    font-size:30px;
  }

  .landing-ai-flow ol{
    grid-template-columns:1fr;
  }

  .landing-actions{
    width:100%;
  }

  .landing-actions .btn-primary,
  .landing-actions .btn-ghost{
    width:100%;
  }

  .landing-tariff-grid{
    grid-template-columns:1fr;
  }

  .landing-showcase{
    max-width:100%;
  }

  .landing-shot-phone{
    width:34%;
    min-width:118px;
    right:0;
    bottom:-4px;
  }

  .landing-seo-section{
    padding:16px;
    margin-bottom:22px;
  }

  .landing-section-head h2{
    font-size:27px;
  }

  .landing-section-head p{
    font-size:15px;
  }

  .auth-modal-backdrop{
    padding:10px;
  }

  .trial-demo-modal-backdrop{
    align-items:flex-start;
    padding:12px;
    overflow:auto;
  }

  .trial-demo-modal{
    width:min(100%, 390px);
    max-height:calc(100dvh - 24px);
    overflow:auto;
    padding:16px;
  }

  .trial-demo-layout{
    grid-template-columns:1fr;
    gap:14px;
  }

  .trial-demo-copy .eyebrow{
    margin-right:42px;
  }

  .trial-demo-copy h2{
    margin-right:42px;
    font-size:22px;
    line-height:1.08;
  }

  .trial-demo-copy p{
    font-size:15px;
    line-height:1.42;
  }

  .trial-demo-actions{
    display:grid;
    grid-template-columns:1fr;
    gap:8px;
    margin-top:14px;
  }

  .trial-demo-actions .btn-primary,
  .trial-demo-actions .btn-ghost{
    width:100%;
    min-height:44px;
    justify-content:center;
    text-align:center;
  }

  .trial-demo-qr{
    display:none;
  }

  .trial-demo-actions [data-trial-play]{
    display:none;
  }

  .trial-demo-modal-backdrop.is-mobile-info .trial-demo-actions [data-trial-register]{
    order:1;
    min-height:48px;
    border-color:rgba(255,190,120,.46);
    background:linear-gradient(180deg, #ff8a28 0%, #e85a00 100%);
    color:#111;
    box-shadow:0 10px 24px rgba(255,95,0,.28);
    font-size:15px;
    font-weight:800;
  }

}

/* Вкладки админки: аккаунты, платежи и тарифы. */
.admin-tabs{
  display:flex;
  align-items:flex-end;
  gap:4px;
  margin:-1px 0 18px;
  border-bottom:1px solid rgba(255,140,60,.24);
}

.admin-tab{
  position:relative;
  min-height:30px;
  padding:0 18px;
  border:1px solid rgba(255,140,60,.28);
  border-bottom:none;
  border-radius:14px 14px 0 0;
  background:linear-gradient(135deg, rgba(255,255,255,.05), rgba(255,90,0,.05));
  color:rgba(233,236,241,.78);
  letter-spacing:.2px;
  cursor:pointer;
}

.admin-tab:hover{
  color:#fff;
  border-color:rgba(255,140,60,.48);
  background:linear-gradient(135deg, rgba(255,255,255,.08), rgba(255,90,0,.10));
}

.admin-tab.is-active{
  margin-bottom:-1px;
  color:#fff;
  border-color:rgba(255,140,60,.55);
  background:linear-gradient(135deg, rgba(255,122,24,.20), rgba(255,255,255,.07));
  box-shadow:0 -10px 24px rgba(255,92,10,.10);
}

.admin-tab-panel{
  display:none;
}

.admin-tab-panel.is-active{
  display:flex;
  flex-direction:column;
  flex:1 1 auto;
  min-height:0;
  overflow:hidden;
}

/* Административная рассылка новостей. */
.admin-newsletter{
  display:grid;
  gap:18px;
}

.admin-newsletter-heading,
.admin-newsletter-progress-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}

.admin-newsletter-heading h2,
.admin-newsletter-progress h3,
.admin-newsletter-history h3,
.admin-newsletter-preview-card h3{
  margin:0 0 6px;
}

.admin-newsletter-recipient-count{
  flex:0 0 auto;
  padding:10px 14px;
  border:1px solid rgba(255,140,60,.35);
  border-radius:999px;
  color:rgba(235,237,242,.82);
  background:rgba(255,110,16,.08);
}

.admin-newsletter-recipient-count b{
  color:#ff963e;
}

.admin-newsletter-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(320px,.8fr);
  gap:16px;
  align-items:stretch;
}

.admin-newsletter-form{
  display:grid;
  gap:14px;
}

.admin-newsletter-html{
  min-height:310px;
  resize:vertical;
  font:13px/1.55 Consolas, Monaco, monospace;
  tab-size:2;
}

.admin-newsletter-actions{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:12px;
}

.admin-newsletter-actions .btn-primary{
  margin-left:auto;
}

.admin-newsletter-run-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:14px;
}

.admin-newsletter-preview-card,
.admin-newsletter-progress,
.admin-newsletter-history{
  padding:18px;
  border:1px solid rgba(255,140,60,.28);
  border-radius:16px;
  background:rgba(9,10,14,.55);
}

.admin-newsletter-preview-card{
  display:flex;
  flex-direction:column;
  min-height:480px;
}

.admin-newsletter-preview-card iframe{
  width:100%;
  min-height:430px;
  flex:1 1 auto;
  border:1px solid rgba(255,255,255,.1);
  border-radius:12px;
  background:#17181e;
}

.admin-newsletter-progress-track{
  height:10px;
  margin:16px 0;
  overflow:hidden;
  border-radius:999px;
  background:rgba(255,255,255,.08);
}

.admin-newsletter-progress-track span{
  display:block;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#ff5d08,#ff9b39);
  box-shadow:0 0 18px rgba(255,105,18,.45);
  transition:width .25s ease;
}

.admin-newsletter-stats{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.admin-newsletter-stats span{
  padding:7px 10px;
  border-radius:10px;
  background:rgba(255,255,255,.055);
  color:rgba(235,237,242,.72);
}

.admin-newsletter-stats b{
  color:#fff;
}

.admin-newsletter-history{
  display:grid;
  gap:8px;
}

.admin-newsletter-history a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:11px 12px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:10px;
  color:#f1f2f5;
  text-decoration:none;
  background:rgba(255,255,255,.025);
}

.admin-newsletter-history a:hover{
  border-color:rgba(255,140,60,.38);
}

.admin-newsletter-history a > span:first-child{
  display:grid;
  gap:3px;
}

.admin-newsletter-history small{
  color:rgba(235,237,242,.5);
}

@media (max-width:1000px){
  .admin-newsletter-layout{grid-template-columns:1fr}
}

@media (max-width:640px){
  .admin-newsletter-heading,
  .admin-newsletter-progress-head{align-items:flex-start;flex-direction:column}
  .admin-newsletter-actions{align-items:stretch;flex-direction:column}
  .admin-newsletter-actions .btn-primary{margin-left:0}
}

@media (max-width: 640px){
  .admin-tabs{
    overflow-x:auto;
    padding-top:2px;
  }

  .admin-tab{
    flex:0 0 auto;
    min-height:40px;
    padding:0 14px;
  }
}

/* История платежей выбранного аккаунта в админке. */
.admin-account-item{
  display:grid;
  gap:8px;
}

.admin-account-item[hidden],
.admin-account-item.is-hidden{
  display:none !important;
}


.admin-account-item.is-open .admin-row{
  border-color:rgba(255,140,60,.34);
  background:rgba(255,90,0,.08);
}

.admin-user-toggle{
  width:100%;
  min-width:0;
  border:0;
  padding:0;
  color:inherit;
  background:transparent;
  text-align:left;
  cursor:pointer;
}

.admin-user-toggle:hover strong{
  color:#fff;
  text-decoration:underline;
  text-decoration-color:rgba(255,140,60,.64);
  text-underline-offset:4px;
}

.admin-account-payments{
  margin:-3px 0 4px 0;
  border:1px solid rgba(255,140,60,.18);
  border-radius:12px;
  padding:10px;
  background:rgba(10,12,16,.42);
}

.admin-account-dossier{
  margin:-3px 0 4px 0;
  border:1px solid rgba(255,140,60,.18);
  border-radius:12px;
  padding:5px;
  background:rgba(10,12,16,.42);
}

.admin-dossier-tabs{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin:0 0 5px;
}

.admin-dossier-tab{
  min-height:20px;
  padding:0 12px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:999px;
  color:rgba(233,236,241,.72);
  background:rgba(255,255,255,.04);
  font-size:11px;
  font-weight:700;
  cursor:pointer;
}

.admin-dossier-tab.is-active{
  color:#ffc58a;
  border-color:rgba(255,140,60,.34);
  background:rgba(255,90,0,.12);
}

.admin-dossier-panel{
  display:none;
}

.admin-dossier-panel.is-active{
  display:block;
}

.admin-dossier-summary{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:8px;
  margin:0 0 10px;
}

.admin-dossier-summary-item{
  display:grid;
  gap:2px;
  min-width:0;
  padding:4px 10px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:10px;
  background:rgba(255,255,255,.03);
}

.admin-dossier-summary-item span{
  color:rgba(233,236,241,.56);
  font-size:10px;
}

.admin-dossier-summary-item b{
  color:rgba(233,236,241,.92);
  font-size:12px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.admin-dossier-table-wrap{
  overflow:auto;
}

.admin-lighting-form{
  display:grid;
  grid-template-columns:minmax(260px, 2fr) minmax(190px, 1fr) 110px 110px;
  gap:10px;
  align-items:end;
  padding:8px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:10px;
  background:rgba(255,255,255,.025);
}

.admin-lighting-enabled,
.admin-lighting-actions{
  grid-column:1 / -1;
}

.admin-lighting-enabled{
  margin:0;
  color:rgba(233,236,241,.62);
  font-size:11px;
}

.admin-lighting-form .admin-field{
  display:grid;
  gap:5px;
  min-width:0;
}

.admin-lighting-form .admin-field > span{
  color:rgba(233,236,241,.66);
  font-size:11px;
  font-weight:700;
}

.admin-lighting-form .editor-input{
  width:100%;
  min-height:34px;
}

.admin-lighting-form textarea.editor-input{
  min-height:58px;
  resize:vertical;
  font-family:Consolas, Monaco, monospace;
}

.admin-lighting-devices small{
  color:rgba(233,236,241,.48);
  font-size:10px;
}

.admin-lighting-color input[type="color"]{
  padding:4px;
  cursor:pointer;
}

.admin-lighting-actions{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}

.admin-lighting-correct{
  color:#d8ffe5;
  border-color:rgba(45,190,100,.38);
  background:rgba(35,145,80,.22);
}

.admin-lighting-wrong{
  color:#ffe1e1;
  border-color:rgba(225,70,70,.38);
  background:rgba(180,45,45,.22);
}

@media (max-width: 900px){
  .admin-dossier-summary{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .admin-lighting-form{
    grid-template-columns:1fr 1fr;
  }

  .admin-lighting-devices{
    grid-column:1 / -1;
  }
}

.admin-account-payments-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin:0 0 8px;
  color:rgba(233,236,241,.88);
  font-size:13px;
}

.admin-account-payments-head span{
  color:var(--muted);
  font-size:12px;
}

.admin-payments-compact table{
  min-width:720px;
}

.admin-payments-compact th,
.admin-payments-compact td{
  padding:8px 10px;
  font-size:12px;
}

.admin-receipt-form{
  display:grid;
  grid-template-columns:minmax(180px, 1fr) auto;
  gap:7px;
  align-items:center;
  min-width:260px;
}

.admin-receipt-form .editor-input{
  min-height:34px;
  padding:6px 10px;
  font-size:12px;
}

.admin-receipt-sent-badge{
  display:inline-block;
  padding:4px 8px;
  border-radius:8px;
  color:rgba(120,220,160,.95);
  background:rgba(40,120,80,.18);
  font-size:12px;
  font-weight:600;
}

.admin-receipt-copy{
  width:100%;
  min-height:106px;
  resize:vertical;
  border:1px solid rgba(255,140,60,.22);
  border-radius:12px;
  padding:10px 12px;
  color:rgba(233,236,241,.90);
  background:rgba(8,10,14,.48);
  font:12px/1.45 Consolas, Monaco, monospace;
  white-space:pre;
}

.admin-receipt-copy:focus{
  border-color:rgba(255,140,60,.62);
  box-shadow:0 0 0 3px rgba(255,90,0,.14);
}

/* Режим просмотра игротеки: оставляем вид конструктора, но скрываем элементы редактирования. */
.quiz-view-body .view-only-note{
  margin:0 0 18px;
  padding:12px 14px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:16px;
  color:rgba(255,255,255,.72);
  background:rgba(255,255,255,.05);
}
.quiz-view-body .editor-toolbar,
.quiz-view-body .editor-toolbar-bottom,
.quiz-view-body .question-tab-add,
.quiz-view-body .question-collapsed-actions,
.quiz-view-body .layout-picker,
.quiz-view-body .scene-align-actions,
.quiz-view-body .question-animation-settings,
.quiz-view-body .media-editor,
.quiz-view-body .answers-editor,
.quiz-view-body .answer-mode-field,
.quiz-view-body [data-preview-correct],
.quiz-view-body [data-preview-remove-answer],
.quiz-view-body [data-preview-delete],
.quiz-view-body [data-preview-edit],
.quiz-view-body .media-object-control,
.quiz-view-body .media-resize-handle,
.quiz-view-body [data-text-drag],
.quiz-view-body [data-text-resize]{
  display:none!important;
}
.quiz-view-body .quiz-meta-row .editor-input,
.quiz-view-body .quiz-meta-row .editor-textarea{
  pointer-events:none;
  opacity:.78;
}
.quiz-view-body [data-preview-question-input],
.quiz-view-body [data-preview-answer-input]{
  pointer-events:none;
  caret-color:transparent;
}
.quiz-view-body .preview-media-frame{
  cursor:default;
}

/* Папки проектов в личном кабинете. */
.project-card{
  border:1px solid rgba(255,255,255,.12);
  border-radius:14px;
  background:rgba(255,255,255,.045);
  overflow:hidden;
}

.project-summary{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  cursor:pointer;
  list-style:none;
  background:rgba(255,90,0,.10);
}

.project-summary::-webkit-details-marker{
  display:none;
}

.project-summary::after{
  content:'⌄';
  margin-left:0;
  color:rgba(255,255,255,.58);
  font-size:18px;
  transform:rotate(0deg);
  transition:transform .18s ease;
}

.project-card:not([open]) .project-summary::after{
  transform:rotate(-90deg);
}

.project-delete-form{
  margin:0 0 0 auto;
  flex:0 0 auto;
}

.project-delete-button{
  min-height:32px;
  padding:0 12px;
  font-size:12px;
}

.project-icon{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:11px;
  background:rgba(255,140,60,.14);
  border:1px solid rgba(255,140,60,.28);
}

.project-title-stack{
  min-width:0;
  display:grid;
  gap:2px;
}

.project-title-stack b,
.loose-quizzes-title{
  color:rgba(255,255,255,.94);
  font-size:15px;
  font-weight:900;
}

.project-title-stack small,
.project-title-stack em,
.project-empty{
  color:rgba(233,236,241,.60);
  font-size:12px;
  font-style:normal;
  line-height:1.25;
}

.project-quiz-list{
  display:grid;
  gap:8px;
  padding:8px;
}

.project-empty{
  padding:10px 12px;
  border:1px dashed rgba(255,255,255,.14);
  border-radius:12px;
  background:rgba(10,12,16,.22);
}

.loose-quizzes-title{
  margin-top:4px;
  padding:8px 2px 2px;
  color:rgba(255,183,107,.92);
  font-size:12px;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.quiz-project-slot{
  flex:0 0 155px;
}

.quiz-project-form{
  margin:0;
}

.quiz-project-form select,
.select-field select{
  width:100%;
  min-height:34px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:10px;
  padding:0 28px 0 10px;
  color:rgba(255,255,255,.90);
  background:rgba(12,14,20,.92);
  outline:0;
}

.select-field select{
  min-height:42px;
  border:0;
  background:transparent;
}


.quiz-project-form select option,
.select-field select option,
.admin-field select option{
  color:#111827;
  background:#ffffff;
}

.quiz-project-form select option:checked,
.select-field select option:checked,
.admin-field select option:checked{
  color:#ffffff;
  background:#2563eb;
}

.form-note{
  margin:0;
  color:rgba(233,236,241,.62);
  font-size:12px;
  line-height:1.35;
}

.btn-project-field{
  min-height:40px;
  padding:0 12px;
  font-size:12px;
}

@media (max-width: 760px){
  .project-summary{
    padding:9px 10px;
  }

  .project-summary::after{
    margin-left:auto;
  }

  .project-icon{
    width:30px;
    height:30px;
    border-radius:9px;
  }

  .project-quiz-list{
    padding:7px;
  }
}

.library-project-row{
  align-items:flex-start;
  background:linear-gradient(135deg, rgba(255,90,0,.12), rgba(10,12,16,.36));
}

.library-project-main{
  min-width:0;
  display:grid;
  gap:10px;
}

.library-project-rounds{
  display:grid;
  gap:5px;
  padding:10px 12px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:10px;
  color:var(--muted);
  background:rgba(0,0,0,.16);
  font-size:13px;
  line-height:1.35;
}

.form-note-warning{
  color:#ffd9bd;
}

.btn-ghost.is-disabled,
.btn-primary.is-disabled{
  opacity:.48;
  pointer-events:none;
}

@media (min-width: 761px){
  :root{
    --dashboard-sidebar-width:248px;
    --projects-folder-sidebar-width:248px;
    --dashboard-ui-scale:1;
  }

  body.is-layout-resizing,
  body.is-layout-resizing *{
    cursor:col-resize !important;
    user-select:none !important;
  }

  .layout-resize-handle{
    position:relative;
    flex:0 0 6px;
    align-self:stretch;
    margin:0;
    cursor:col-resize;
    touch-action:none;
    z-index:6;
  }

  .layout-resize-handle::before{
    content:"";
    position:absolute;
    top:0;
    bottom:0;
    left:50%;
    transform:translateX(-50%);
    width:2px;
    border-radius:2px;
    background:transparent;
    transition:background .15s ease, box-shadow .15s ease;
  }

  .layout-resize-grip{
    position:fixed;
    transform:translate(-50%, -50%);
    width:3px;
    height:3px;
    border-radius:50%;
    background:rgba(233,236,241,.38);
    box-shadow:0 -7px 0 rgba(233,236,241,.38), 0 7px 0 rgba(233,236,241,.38);
    transition:background .15s ease, box-shadow .15s ease, transform .15s ease, opacity .15s ease;
    pointer-events:none;
    z-index:7;
  }

  .layout-resize-handle:hover::before,
  .layout-resize-handle.is-active::before{
    background:rgba(255,140,60,.72);
    box-shadow:0 0 10px rgba(255,120,40,.35);
  }

  .layout-resize-handle:hover .layout-resize-grip,
  .layout-resize-handle.is-active .layout-resize-grip,
  .layout-resize-grip.is-handle-hover,
  .layout-resize-grip.is-active{
    background:rgba(255,186,120,.98);
    box-shadow:0 -7px 0 rgba(255,186,120,.98), 0 7px 0 rgba(255,186,120,.98);
    transform:translate(-50%, -50%) scale(1.08);
  }

  .dashboard-shell{
    position:relative;
    z-index:1;
    min-height:100vh;
    display:flex;
    align-items:stretch;
    gap:0;
    /*padding:8px 8px 10px;/*пока не трогай*/
  }

  .dashboard-sidebar{
    position:sticky;
    top:8px;
    flex:0 0 var(--dashboard-sidebar-width);
    width:var(--dashboard-sidebar-width);
    min-width:180px;
    max-width:380px;
    height:calc(100vh - 16px);
    height:calc(100dvh - 16px);
    display:flex;
    flex-direction:column;
    overflow:hidden;
    border-right:1px solid rgba(255,255,255,.06);
    background:linear-gradient(180deg, rgba(18,23,30,.70), rgba(9,12,17,.42));
    box-shadow:10px 0 28px rgba(0,0,0,.18);
  }

  .dashboard-brand{
    padding:calc(6px * var(--dashboard-ui-scale)) calc(8px * var(--dashboard-ui-scale)) calc(12px * var(--dashboard-ui-scale));
  }

  .dashboard-brand-link{
    display:flex;
    align-items:center;
    gap:calc(10px * var(--dashboard-ui-scale));
    text-decoration:none;
  }

  .dashboard-logo-mark{
    width:calc(44px * var(--dashboard-ui-scale));
    height:calc(44px * var(--dashboard-ui-scale));
    flex:0 0 calc(44px * var(--dashboard-ui-scale));
    object-fit:contain;
  }

  .dashboard-logo-text{
    width:auto;
    max-width:148px;
    height:calc(28px * var(--dashboard-ui-scale));
    object-fit:contain;
  }

  .dashboard-logo{
    width:44px;
    height:44px;
    display:grid;
    place-items:center;
    border-radius:13px;
    color:#fff;
    background:linear-gradient(180deg, #ff7b16, #dd5a00);
    box-shadow:0 16px 34px rgba(255,95,0,.22);
    font-size:24px;
  }

  .dashboard-nav{
    display:grid;
    gap:calc(8px * var(--dashboard-ui-scale));
    padding-right:calc(8px * var(--dashboard-ui-scale));
  }

  .dashboard-nav-item{
    position:relative;
    min-height:calc(58px * var(--dashboard-ui-scale));
    display:flex;
    align-items:center;
    gap:calc(14px * var(--dashboard-ui-scale));
    border:1px solid transparent;
    border-radius:0 calc(12px * var(--dashboard-ui-scale)) calc(12px * var(--dashboard-ui-scale)) 0;
    padding:0 calc(18px * var(--dashboard-ui-scale)) 0 calc(14px * var(--dashboard-ui-scale));
    color:rgba(233,236,241,.78);
    background:transparent;
    text-decoration:none;
    font:inherit;
    font-size:calc(15px * var(--dashboard-ui-scale));
    text-align:left;
    cursor:pointer;
  }

  .dashboard-nav-item::before{
    content:'';
    position:absolute;
    left:0;
    top:calc(12px * var(--dashboard-ui-scale));
    bottom:calc(12px * var(--dashboard-ui-scale));
    width:calc(3px * var(--dashboard-ui-scale));
    border-radius:0 calc(3px * var(--dashboard-ui-scale)) calc(3px * var(--dashboard-ui-scale)) 0;
    background:transparent;
  }

  .dashboard-nav-item:hover,
  .dashboard-nav-item.is-active{
    color:#fff;
    border-color:rgba(255,255,255,.08);
    background:linear-gradient(90deg, rgba(255,120,20,.20), rgba(255,255,255,.06));
  }

  .dashboard-nav-item.is-active::before{
    background:var(--orange);
    box-shadow:0 0 16px rgba(255,100,0,.42);
  }

  .dashboard-nav-item.is-muted{
    opacity:.58;
    cursor:default;
  }

  .dashboard-nav-cta{
    margin:calc(12px * var(--dashboard-ui-scale)) calc(6px * var(--dashboard-ui-scale)) calc(4px * var(--dashboard-ui-scale)) 0;
    padding-top:calc(12px * var(--dashboard-ui-scale));
    border-top:1px solid rgba(255,255,255,.06);
  }

  .dashboard-nav-launch{
    min-height:calc(50px * var(--dashboard-ui-scale));
    display:flex;
    align-items:center;
    justify-content:flex-start;
    gap:calc(12px * var(--dashboard-ui-scale));
    width:100%;
    box-sizing:border-box;
    border:1px solid rgba(255,190,120,.42);
    border-radius:calc(14px * var(--dashboard-ui-scale));
    padding:0 calc(14px * var(--dashboard-ui-scale));
    color:#111;
    background:linear-gradient(180deg, #ff8a28 0%, #e85a00 100%);
    text-decoration:none;
    font:inherit;
    font-size:calc(15px * var(--dashboard-ui-scale));
    font-weight:600;
    line-height:1;
    cursor:pointer;
    box-shadow:0 10px 24px rgba(255,95,0,.28);
    transition:border-color .15s ease, background .15s ease, box-shadow .15s ease, transform .15s ease;
  }

  .dashboard-nav-launch:hover{
    color:#111;
    border-color:rgba(255,220,160,.62);
    background:linear-gradient(180deg, #ff9a3c 0%, #f06510 100%);
    box-shadow:0 12px 28px rgba(255,95,0,.36);
    transform:translateY(-1px);
  }

  .dashboard-nav-launch:active{
    transform:translateY(0);
    box-shadow:0 6px 18px rgba(255,95,0,.24);
  }

  .dashboard-nav-launch-icon{
    width:calc(30px * var(--dashboard-ui-scale));
    height:calc(30px * var(--dashboard-ui-scale));
    flex:0 0 calc(30px * var(--dashboard-ui-scale));
    display:grid;
    place-items:center;
    border-radius:calc(9px * var(--dashboard-ui-scale));
    color:#F44335;
    background:rgba(0,0,0);
    font-size:calc(11px * var(--dashboard-ui-scale));
    line-height:1;
    box-shadow:0 3px 8px rgba(0,0,0,.22);
    filter:drop-shadow(0 2px 3px rgba(0,0,0,.28));
  }

  .dashboard-nav-launch-label{
    display:block;
    color:#111;
    line-height:1.15;
    text-shadow:0 2px 4px rgba(0,0,0,.28);
  }

  .dashboard-nav-icon{
    width:calc(32px * var(--dashboard-ui-scale));
    height:calc(32px * var(--dashboard-ui-scale));
    display:grid;
    place-items:center;
    border:1px solid rgba(255,140,60,.24);
    border-radius:calc(9px * var(--dashboard-ui-scale));
    color:#ffb36d;
    background:rgba(255,100,0,.10);
    line-height:1;
  }

  .dashboard-sidebar-bottom{
    margin-top:auto;
    padding:calc(10px * var(--dashboard-ui-scale)) calc(8px * var(--dashboard-ui-scale)) 0 0;
    display:grid;
    gap:calc(10px * var(--dashboard-ui-scale));
  }

  .dashboard-profile{
    display:flex;
    align-items:center;
    gap:calc(12px * var(--dashboard-ui-scale));
    min-height:calc(74px * var(--dashboard-ui-scale));
    border:1px solid rgba(255,255,255,.10);
    border-radius:calc(14px * var(--dashboard-ui-scale));
    padding:calc(12px * var(--dashboard-ui-scale));
    background:rgba(255,255,255,.045);
  }

  .dashboard-profile-avatar{
    width:calc(46px * var(--dashboard-ui-scale));
    height:calc(46px * var(--dashboard-ui-scale));
    flex:0 0 calc(46px * var(--dashboard-ui-scale));
    display:grid;
    place-items:center;
    border-radius:50%;
    color:#fff;
    background:linear-gradient(180deg, #ff8b23, #d85a00);
  }

  .dashboard-profile b,
  .dashboard-profile small{
    display:block;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }

  .dashboard-profile-text > b{
    max-width:100%;
  }

  .dashboard-profile-text{
    flex:1 1 auto;
    min-width:0;
    display:grid;
    gap:calc(4px * var(--dashboard-ui-scale));
    container-type:inline-size;
    container-name:dashboard-profile-text;
  }

  .dashboard-profile-meta{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:calc(2px * var(--dashboard-ui-scale)) calc(8px * var(--dashboard-ui-scale));
    width:100%;
  }

  .dashboard-profile-meta small{
    flex:0 1 auto;
    min-width:0;
    max-width:none;
  }

  .dashboard-profile-tariff{
    flex:1 1 auto;
    min-width:0;
    margin-left:auto;
    text-align:right;
  }

  @container dashboard-profile-text (max-width: 150px){
    .dashboard-profile-meta{
      flex-direction:column;
      align-items:flex-start;
      gap:2px;
    }

    .dashboard-profile-tariff{
      flex:1 1 100%;
      width:100%;
      margin-left:0;
      text-align:left;
    }
  }

  .dashboard-profile small{
    margin-top:calc(4px * var(--dashboard-ui-scale));
    color:rgba(233,236,241,.58);
    font-size:calc(12px * var(--dashboard-ui-scale));
  }

  .dashboard-logout{
    min-height:calc(54px * var(--dashboard-ui-scale));
    display:flex;
    align-items:center;
    justify-content:center;
    border:1px solid rgba(255,255,255,.10);
    border-radius:calc(13px * var(--dashboard-ui-scale));
    color:#ffb36d;
    background:rgba(255,255,255,.035);
    text-decoration:none;
    font-size:calc(14px * var(--dashboard-ui-scale));
  }

  .dashboard-workspace{
    --dashboard-board-height:calc(100dvh - 18px);
    --dashboard-board-height:calc(100vh - 18px);
    display:flex;
    flex-direction:column;
    flex:1 1 auto;
    width:100%;
    min-width:0;
    max-width:none;
    min-height:calc(100dvh - 18px);
    min-height:calc(100vh - 18px);
    margin:0;
    padding:0;
  }

  .dashboard-topbar{
    flex:0 0 auto;
    min-height:58px;
    margin-bottom:14px;
    align-items:center;
  }

  .dashboard-topbar-minimal{
    min-height:0;
    margin-bottom:10px;
    justify-content:flex-end;
  }

  .visually-hidden{
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    margin:-1px;
    overflow:hidden;
    clip:rect(0, 0, 0, 0);
    white-space:nowrap;
    border:0;
  }

  .projects-toolbar{
    flex:0 0 auto;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:10px;
  }

  .projects-browser-shell{
    --projects-content-scale:var(--dashboard-ui-scale);
    --projects-toolbar-btn-height:calc(30px * var(--dashboard-ui-scale));
    --projects-toolbar-btn-radius:calc(10px * var(--dashboard-ui-scale));
    --projects-toolbar-top-space:calc(10px * var(--dashboard-ui-scale));
    --projects-toolbar-margin-x:calc(10px * var(--dashboard-ui-scale));
    --projects-toolbar-btn-pad-x:calc(12px * var(--dashboard-ui-scale));
    display:flex;
    flex:1 1 auto;
    min-height:0;
    overflow:hidden;
  }

  .projects-browser-layout{
    display:flex;
    flex:1 1 auto;
    gap:0;
    min-height:0;
    overflow:hidden;
    width:100%;
  }

  .projects-browser-sidebar{
    flex:0 0 var(--projects-folder-sidebar-width);
    width:var(--projects-folder-sidebar-width);
    min-width:160px;
    max-width:400px;
    min-height:0;
    display:flex;
    flex-direction:column;
    background:rgba(8,10,14,.22);
  }

  .projects-browser-layout > .layout-resize-handle{
    flex:0 0 6px;
    margin:0;
  }

  .projects-browser-layout > .layout-resize-handle::before{
    background:rgba(255,140,60,.18);
  }

  .projects-browser-layout > .layout-resize-handle:hover::before,
  .projects-browser-layout > .layout-resize-handle.is-active::before{
    background:rgba(255,140,60,.78);
  }

  .layout-resize-grip[data-resize-grip="projects-sidebar"]{
    background:rgba(255,176,120,.72);
    box-shadow:0 -7px 0 rgba(255,176,120,.72), 0 7px 0 rgba(255,176,120,.72);
  }

  .layout-resize-grip[data-resize-grip="projects-sidebar"].is-handle-hover,
  .layout-resize-grip[data-resize-grip="projects-sidebar"].is-active{
    background:#ffc98a;
    box-shadow:0 -7px 0 #ffc98a, 0 7px 0 #ffc98a;
  }

  .folder-create-btn{
    display:flex;
    align-items:center;
    justify-content:center;
    box-sizing:border-box;
    min-height:var(--projects-toolbar-btn-height);
    height:var(--projects-toolbar-btn-height);
    margin:var(--projects-toolbar-top-space) var(--projects-toolbar-margin-x) 8px;
    padding:0 var(--projects-toolbar-btn-pad-x);
    border:1px solid rgba(255,140,60,.28);
    border-radius:var(--projects-toolbar-btn-radius);
    color:#ffb36d;
    background:rgba(255,100,0,.06);
    text-decoration:none;
    font:inherit;
    font-size:12px;
    font-weight:600;
    line-height:1;
    cursor:pointer;
  }

  .folder-create-btn:disabled{
    opacity:.55;
    cursor:wait;
  }

  .folder-create-btn:hover{
    border-color:rgba(255,140,60,.42);
    background:rgba(255,100,0,.12);
  }

  .folder-create-btn.is-disabled{
    opacity:.45;
    cursor:not-allowed;
  }

  .projects-folder-list{
    display:flex;
    flex-direction:column;
    gap:calc(6px * var(--projects-content-scale));
    min-height:0;
    overflow:auto;
    padding:0 calc(10px * var(--projects-content-scale)) calc(10px * var(--projects-content-scale));
  }

  .projects-browser-content{
    display:flex;
    flex:1 1 auto;
    flex-direction:column;
    min-width:0;
    min-height:0;
    padding:var(--projects-toolbar-top-space) calc(14px * var(--projects-content-scale)) calc(10px * var(--projects-content-scale));
  }

  .projects-content-toolbar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    min-height:var(--projects-toolbar-btn-height);
    margin-bottom:8px;
    flex:0 0 auto;
  }

  .projects-content-panels{
    flex:1 1 auto;
    min-height:0;
    overflow:auto;
  }

  .projects-panel-list{
    display:grid;
    gap:calc(8px * var(--projects-content-scale));
  }

  .projects-panel-tiles{
    display:none;
    grid-template-columns:repeat(auto-fill, minmax(calc(128px * var(--projects-content-scale)), 1fr));
    gap:calc(10px * var(--projects-content-scale));
    align-content:start;
  }

  .quiz-list-desktop.is-grid-view .projects-panel-list{
    display:none;
  }

  .quiz-list-desktop.is-grid-view .projects-panel-tiles{
    display:grid;
  }

  .projects-panel-empty{
    padding:calc(18px * var(--projects-content-scale)) calc(8px * var(--projects-content-scale));
    color:rgba(233,236,241,.62);
    font-size:calc(13px * var(--projects-content-scale));
  }

  .quiz-list-desktop:has(.projects-browser-shell){
    display:flex;
    flex-direction:column;
    flex:1 1 auto;
    min-height:0;
    overflow:hidden;
  }

  .projects-view-toggle{
    display:inline-flex;
    align-items:stretch;
    box-sizing:border-box;
    height:var(--projects-toolbar-btn-height);
    overflow:hidden;
    border:1px solid rgba(255,255,255,.12);
    border-radius:var(--projects-toolbar-btn-radius);
    background:rgba(8,10,14,.34);
  }

  .projects-view-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    box-sizing:border-box;
    min-height:var(--projects-toolbar-btn-height);
    height:var(--projects-toolbar-btn-height);
    padding:0 var(--projects-toolbar-btn-pad-x);
    border:0;
    color:rgba(233,236,241,.68);
    background:transparent;
    font:inherit;
    font-size:12px;
    line-height:1;
    cursor:pointer;
    transition:background .15s ease, color .15s ease;
  }

  .projects-view-btn + .projects-view-btn{
    border-left:1px solid rgba(255,255,255,.10);
  }

  .projects-view-btn.is-active{
    color:#ffb36d;
    background:rgba(255,100,0,.14);
  }

  .projects-view-btn-label{
    font-weight:600;
  }

  .projects-create-group{
    display:inline-flex;
    align-items:stretch;
    overflow:hidden;
    border:1px solid rgba(255,140,60,.30);
    border-radius:11px;
    background:rgba(8,10,14,.38);
    box-shadow:0 8px 22px rgba(0,0,0,.18);
  }

  .projects-create-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    box-sizing:border-box;
    min-height:var(--projects-toolbar-btn-height);
    height:var(--projects-toolbar-btn-height);
    padding:0 var(--projects-toolbar-btn-pad-x);
    border:1px solid rgba(255,140,60,.34);
    border-radius:var(--projects-toolbar-btn-radius);
    color:#ffb36d;
    background:rgba(255,100,0,.08);
    text-decoration:none;
    font:inherit;
    font-size:12px;
    font-weight:600;
    line-height:1;
    cursor:pointer;
    transition:border-color .15s ease, background .15s ease, box-shadow .15s ease, color .15s ease;
  }

  .projects-create-btn:not(.is-disabled):hover{
    color:#ffd2a8;
    border-color:rgba(255,160,80,.56);
    background:rgba(255,100,0,.14);
  }

  .projects-create-btn.is-intro-pulse{
    animation:projects-create-pulse .55s ease 1;
  }

  @keyframes projects-create-pulse{
    0%, 100%{
      box-shadow:0 0 0 0 rgba(255,140,60,0);
      border-color:rgba(255,140,60,.34);
    }
    40%{
      box-shadow:0 0 0 7px rgba(255,140,60,.24);
      border-color:rgba(255,186,120,.92);
      background:rgba(255,100,0,.18);
      color:#ffe2c5;
    }
  }

  .projects-create-btn:disabled{
    opacity:.55;
    cursor:wait;
  }

  .projects-create-btn + .projects-create-btn{
    border-left:1px solid rgba(255,255,255,.10);
  }

  .projects-create-btn.is-primary{
    color:#fff;
    background:linear-gradient(135deg, #ff7a18, #d85a00);
  }

  .projects-create-btn.is-primary:not(.is-disabled):hover{
    filter:brightness(1.06);
  }

  .projects-create-btn:not(.is-primary):not(.is-disabled):hover{
    color:#ffb36d;
    background:rgba(255,100,0,.10);
  }

  .projects-create-btn.is-disabled{
    opacity:.45;
    cursor:not-allowed;
  }

  .projects-create-icon{
    font-size:14px;
    font-weight:700;
    line-height:1;
  }

  .quiz-row-list-panel{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:calc(10px * var(--projects-content-scale));
    width:100%;
    min-width:0;
  }

  .quiz-row[draggable="true"]{
    cursor:grab;
  }

  .quiz-row[draggable="true"]:active{
    cursor:grabbing;
  }

  .quiz-row.is-dragging{
    opacity:.58;
  }

  .quiz-row-editing{
    border-color:rgba(255,140,60,.34);
    background:rgba(255,100,0,.08);
  }

  .quiz-row-input{
    width:100%;
    min-width:0;
    padding:calc(4px * var(--projects-content-scale)) calc(8px * var(--projects-content-scale));
    border:1px solid rgba(255,140,60,.36);
    border-radius:calc(8px * var(--projects-content-scale));
    color:#fff;
    background:rgba(8,10,14,.88);
    font:inherit;
    font-size:calc(13px * var(--projects-content-scale));
    line-height:1.2;
    outline:none;
  }

  .quiz-row-input:focus{
    border-color:rgba(255,140,60,.58);
    box-shadow:0 0 0 2px rgba(255,140,60,.18);
  }

  .quiz-tile-editing .quiz-tile-link,
  .quiz-row-editing .quiz-row-link{
    pointer-events:none;
  }

  .quiz-tile-input{
    width:100%;
    margin-top:calc(6px * var(--projects-content-scale));
    font-size:calc(12px * var(--projects-content-scale));
    font-weight:600;
  }

  .quiz-tile-card[draggable="true"]{
    cursor:grab;
  }

  .quiz-tile-card.is-dragging{
    opacity:.58;
  }

  .quiz-row-tile-panel{
    display:none;
  }

  .folder-row{
    width:100%;
    display:flex;
    align-items:flex-start;
    gap:calc(10px * var(--projects-content-scale));
    padding:calc(10px * var(--projects-content-scale)) calc(11px * var(--projects-content-scale));
    border:1px solid rgba(255,255,255,.08);
    border-radius:calc(11px * var(--projects-content-scale));
    color:inherit;
    background:rgba(255,255,255,.02);
    text-align:left;
    cursor:pointer;
    font:inherit;
    transition:border-color .15s ease, background .15s ease, box-shadow .15s ease;
  }

  .folder-row:hover{
    border-color:rgba(255,140,60,.24);
    background:rgba(255,100,0,.06);
  }

  .folder-row.is-active{
    border-color:rgba(255,140,60,.40);
    background:rgba(255,100,0,.12);
    box-shadow:inset 3px 0 0 #ff8b23;
  }

  .folder-row.is-drop-target{
    border-color:rgba(255,160,80,.72);
    background:rgba(255,100,0,.18);
    box-shadow:inset 0 0 0 1px rgba(255,140,60,.42), inset 3px 0 0 #ff8b23;
  }

  .folder-row-icon{
    width:calc(28px * var(--projects-content-scale));
    height:calc(28px * var(--projects-content-scale));
    flex:0 0 calc(28px * var(--projects-content-scale));
    display:grid;
    place-items:center;
    border-radius:calc(8px * var(--projects-content-scale));
    background:rgba(255,120,55,.14);
    font-size:calc(16px * var(--projects-content-scale));
    line-height:1;
  }

  .folder-row-loose .folder-row-icon{
    background:rgba(255,255,255,.08);
  }

  .folder-row-main{
    min-width:0;
    display:grid;
    gap:calc(3px * var(--projects-content-scale));
  }

  .folder-row-main b{
    color:#fff;
    font-size:calc(13px * var(--projects-content-scale));
    line-height:1.2;
    word-break:break-word;
  }

  .folder-row-main small{
    color:rgba(233,236,241,.58);
    font-size:calc(11px * var(--projects-content-scale));
    line-height:1.25;
  }

  .folder-row-editing{
    border-color:rgba(255,140,60,.42);
    background:rgba(255,100,0,.10);
    box-shadow:inset 3px 0 0 #ff8b23;
    cursor:default;
  }

  .folder-row-input{
    width:100%;
    min-width:0;
    padding:calc(4px * var(--projects-content-scale)) calc(8px * var(--projects-content-scale));
    border:1px solid rgba(255,140,60,.36);
    border-radius:calc(8px * var(--projects-content-scale));
    color:#fff;
    background:rgba(8,10,14,.88);
    font:inherit;
    font-size:calc(13px * var(--projects-content-scale));
    line-height:1.2;
    outline:none;
  }

  .folder-row-input:focus{
    border-color:rgba(255,140,60,.58);
    box-shadow:0 0 0 2px rgba(255,140,60,.18);
  }

  .folder-context-menu{
    min-width:210px;
  }

  .folder-icon-panel.is-hidden{
    display:none;
  }

  .folder-icon-panel{
    border-top:1px solid rgba(255,255,255,.08);
    margin-top:4px;
  }

  .context-icon-upload-label{
    cursor:pointer;
  }

  .context-icon-upload-label input{
    display:none;
  }

  .folder-icon-upload-btn{
    border-bottom:1px solid rgba(255,255,255,.08);
  }

  .folder-emoji-picker{
    display:grid;
    grid-template-columns:repeat(5, minmax(0, 1fr));
    gap:4px;
    padding:6px 4px 4px;
  }

  .folder-emoji-picker.is-hidden{
    display:none;
  }

  .folder-row-icon-image{
    width:calc(22px * var(--projects-content-scale));
    height:calc(22px * var(--projects-content-scale));
    object-fit:cover;
    border-radius:calc(6px * var(--projects-content-scale));
    display:block;
  }

  .folder-emoji-option{
    min-height:32px;
    display:grid;
    place-items:center;
    border:1px solid rgba(255,255,255,.08);
    border-radius:8px;
    background:rgba(255,255,255,.03);
    font-size:18px;
    line-height:1;
    cursor:pointer;
    padding:0;
  }

  .folder-emoji-option:hover,
  .folder-emoji-option:focus-visible{
    outline:none;
    border-color:rgba(255,140,60,.34);
    background:rgba(255,100,0,.12);
  }

  .quiz-tile-card{
    display:block;
    height:100%;
  }

  .quiz-tile-link{
    display:block;
    color:inherit;
    text-decoration:none;
  }

  .quiz-tile-link.is-static{
    cursor:default;
  }

  .quiz-tile-cover{
    position:relative;
    height:calc(72px * var(--projects-content-scale));
    overflow:hidden;
    border-radius:calc(10px * var(--projects-content-scale));
    border:1px solid rgba(255,140,60,.22);
    background:rgba(8,10,14,.34);
  }

  .quiz-tile-icon{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
  }

  .quiz-tile-age{
    position:absolute;
    top:calc(5px * var(--projects-content-scale));
    right:calc(5px * var(--projects-content-scale));
    min-width:calc(30px * var(--projects-content-scale));
    padding:calc(3px * var(--projects-content-scale)) calc(6px * var(--projects-content-scale));
    border-radius:calc(7px * var(--projects-content-scale));
    border:1px solid rgba(255,140,60,.45);
    color:#ffd9bd;
    background:rgba(8,10,14,.72);
    font-size:calc(11px * var(--projects-content-scale));
    font-weight:700;
    line-height:1;
    text-align:center;
  }

  .quiz-tile-count{
    position:absolute;
    left:calc(5px * var(--projects-content-scale));
    bottom:calc(5px * var(--projects-content-scale));
    min-width:calc(22px * var(--projects-content-scale));
    padding:calc(3px * var(--projects-content-scale)) calc(6px * var(--projects-content-scale));
    border-radius:calc(7px * var(--projects-content-scale));
    border:1px solid rgba(255,255,255,.18);
    color:#fff;
    background:rgba(8,10,14,.72);
    font-size:calc(12px * var(--projects-content-scale));
    font-weight:700;
    line-height:1;
    text-align:center;
  }

  .quiz-tile-library-star{
    position:absolute;
    right:calc(6px * var(--projects-content-scale));
    bottom:calc(4px * var(--projects-content-scale));
    color:#ffd98a;
    font-size:calc(14px * var(--projects-content-scale));
    font-weight:950;
    line-height:1;
    text-shadow:0 1px 4px rgba(0,0,0,.72);
    pointer-events:none;
  }

  .quiz-tile-title{
    margin-top:calc(6px * var(--projects-content-scale));
    color:#fff;
    font-size:calc(12px * var(--projects-content-scale));
    font-weight:600;
    line-height:1.25;
    white-space:normal;
    overflow:visible;
    text-overflow:unset;
    word-break:break-word;
  }

  .quiz-tile-link:not(.is-static):hover .quiz-tile-cover{
    border-color:rgba(255,140,60,.42);
  }

  .dashboard-topbar h1{
    font-size:32px;
  }

  .dashboard-topbar .played-counter{
    margin-left:auto;
  }

  .dashboard-topbar .topbar-actions{
    gap:10px;
  }

  .dashboard-topbar .btn-ghost,
  .dashboard-topbar .btn-primary{
    min-height:46px;
    border-radius:12px;
    padding-left:16px;
    padding-right:16px;
    font-size:13px;
  }

  .dashboard-topbar .btn-create-icon,
  .dashboard-topbar .btn-help,
  .dashboard-topbar .btn-settings{
    width:46px;
    min-width:46px;
    padding:0;
  }

  .dashboard-board{
    display:flex;
    flex-direction:column;
    height:var(--dashboard-board-height);
    min-height:360px;
    max-height:var(--dashboard-board-height);
    overflow:hidden;
    padding:calc(12px * var(--dashboard-ui-scale));
    border:1px solid rgba(255,140,60,.22);
    border-radius:calc(16px * var(--dashboard-ui-scale));
    background:linear-gradient(135deg, rgba(255,255,255,.055), rgba(255,90,0,.045));
    box-shadow:0 22px 70px rgba(0,0,0,.26), inset 0 1px 0 rgba(255,255,255,.05);
    font-size:calc(14px * var(--dashboard-ui-scale));
  }

  .dashboard-board > .flash{
    flex:0 0 auto;
    margin-bottom:10px;
  }

  .dashboard-board > .dashboard-view:not(.is-hidden){
    flex:1 1 auto;
    min-height:0;
    display:flex;
    flex-direction:column;
    overflow:hidden;
  }

  .dashboard-board .quiz-list{
    flex:1 1 auto;
    min-height:0;
    overflow:auto;
    overscroll-behavior:contain;
    gap:calc(10px * var(--dashboard-ui-scale));
  }

  .dashboard-board .library-panel:not(.is-hidden){
    overflow:hidden;
  }

  .dashboard-board .library-browser-head,
  .dashboard-board .library-browser-toolbar{
    flex:0 0 auto;
  }

  .dashboard-board .library-browser-body{
    flex:1 1 auto;
    min-height:0;
    overflow:hidden;
  }

  .dashboard-board .library-catalog{
    flex:1 1 auto;
    min-height:0;
  }

  .dashboard-board .billing-panel:not(.is-hidden){
    overflow:hidden;
  }

  .dashboard-board .billing-panel .billing-panel-compact{
    height:100%;
    overflow:hidden;
  }

  .dashboard-board .billing-panel .tariff-grid-compact{
    overflow:auto;
  }

  .dashboard-board .help-panel:not(.is-hidden){
    overflow:hidden;
    flex:1 1 auto;
    min-height:0;
  }

  .dashboard-board .help-panel .help-panel-compact{
    flex:1 1 auto;
    min-height:0;
    height:auto;
    overflow:hidden;
  }

  .dashboard-board .help-panel .help-panel-scroll{
    flex:1 1 auto;
    min-height:0;
    overflow-y:auto;
  }

  .dashboard-board .settings-panel:not(.is-hidden){
    overflow:auto;
    overscroll-behavior:contain;
  }

  .dashboard-board .settings-panel .settings-panel-compact{
    width:100%;
    max-width:640px;
  }

  .dashboard-board .profile-panel-view:not(.is-hidden){
    overflow:auto;
    overscroll-behavior:contain;
  }

  .dashboard-board .profile-panel-view .profile-panel-compact{
    width:100%;
    max-width:560px;
    height:100%;
    min-height:0;
  }

  .dashboard-board .profile-panel-footer{
    padding-bottom:2px;
  }

  .dashboard-board .admin-panel-view:not(.is-hidden){
    overflow:hidden;
  }

  .dashboard-board .admin-panel-compact{
    height:100%;
  }

  .dashboard-board .admin-panel-body .admin-tabs{
    flex:0 0 auto;
    margin:0;
  }

  .dashboard-board .admin-panel-top{
    margin-bottom:8px;
  }

  .dashboard-board .admin-panel-top .admin-tabs{
    border-bottom:1px solid rgba(255,140,60,.24);
  }

  .dashboard-board .admin-stat-pill{
    min-height:28px;
    padding:0 9px;
  }

  .dashboard-board .admin-stat-pill b{
    font-size:13px;
  }

  .dashboard-board .admin-tariffs-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:8px;
  }

  .dashboard-board .admin-discount-compact,
  .dashboard-board .admin-tariff-card-compact{
    padding:8px 10px;
    border-radius:10px;
  }

  .dashboard-board .admin-tariff-perms-grid{
    grid-template-columns:1fr;
  }

  @media (max-width: 1180px){
    .dashboard-board .admin-tariffs-grid{
      grid-template-columns:1fr;
    }

    .dashboard-board .admin-discount-grid{
      grid-template-columns:1fr 1fr;
    }

    .dashboard-board .admin-discount-grid .admin-field-grow{
      grid-column:1 / -1;
    }

    .dashboard-board .admin-discount-grid .admin-check-compact{
      grid-column:1 / -1;
    }
  }

  @media (max-width: 900px){
    .dashboard-board .admin-panel-top{
      flex-direction:column;
      align-items:stretch;
      gap:8px;
    }

    .dashboard-board .admin-panel-stats-tabs{
      justify-content:flex-start;
    }

    .dashboard-board .admin-tariff-main-grid,
    .dashboard-board .admin-tariff-main-grid-create{
      grid-template-columns:1fr;
    }
  }

  .dashboard-board .admin-panel-body{
    overflow:hidden;
  }

  .dashboard-board .admin-panel-body .admin-tab{
    min-height:28px;
    padding:0 14px;
    font-size:13px;
  }

  .dashboard-board .admin-toolbar-compact{
    flex:0 0 auto;
    display:flex;
    align-items:center;
    gap:8px 10px;
    flex-wrap:wrap;
    padding:7px 10px;
    margin-bottom:8px;
    border:1px solid rgba(255,140,60,.20);
    border-radius:10px;
    background:rgba(10,12,16,.26);
  }

  .dashboard-board .admin-search-inline{
    display:flex;
    align-items:center;
    gap:8px;
    flex:1 1 220px;
    min-width:0;
    margin:0;
    grid-template-columns:none;
  }

  .dashboard-board .admin-search-inline .editor-input{
    flex:1 1 auto;
    min-width:0;
    min-height:32px;
    padding:4px 10px;
    font-size:13px;
  }

  .dashboard-board .admin-accounts-refresh-btn{
    width:32px;
    height:32px;
    min-width:32px;
    min-height:32px;
  }

  .dashboard-board .admin-search-btn{
    min-height:32px;
    padding:0 12px;
    font-size:12px;
    white-space:nowrap;
  }

  .dashboard-board .admin-toolbar-divider{
    width:1px;
    height:24px;
    background:rgba(255,255,255,.12);
    flex-shrink:0;
  }

  .dashboard-board .admin-toolbar-filters{
    display:flex;
    align-items:center;
    gap:6px;
    flex-wrap:wrap;
  }

  .dashboard-board .admin-toolbar-label{
    color:var(--muted);
    font-size:11px;
    font-weight:700;
    letter-spacing:.06em;
    text-transform:uppercase;
    white-space:nowrap;
  }

  .dashboard-board .admin-list-filter{
    gap:5px;
    font-size:11px;
  }

  .dashboard-board .admin-list-filter-btn{
    min-height:28px;
    min-width:34px;
    padding:0 9px;
    font-size:12px;
    border-radius:8px;
  }

  .dashboard-board .admin-tab-scroll,
  .dashboard-board .admin-accounts-list{
    flex:1 1 auto;
    min-height:0;
    overflow-y:auto;
    overscroll-behavior:contain;
    max-height:none !important;
    padding-right:4px;
    align-content:start;
    grid-auto-rows:max-content;
  }

  .dashboard-board .admin-accounts-list{
    gap:8px;
  }

  .dashboard-board .admin-account-item{
    align-self:start;
    width:100%;
  }

  .dashboard-board .admin-row,
  .dashboard-board .admin-row-compact{
    padding:5px 7px;
    gap:7px;
    border-radius:10px;
  }

  .dashboard-board .admin-row .admin-field{
    gap:2px;
  }

  .dashboard-board .admin-row .admin-field > span{
    font-size:10px;
    line-height:1.1;
  }

  .dashboard-board .admin-row .admin-field .editor-input{
    min-height:28px;
    padding:2px 8px;
    font-size:12px;
  }

  .dashboard-board .admin-row .btn-row-action{
    min-height:28px;
    padding:0 9px;
    font-size:11px;
  }

  .dashboard-board .admin-user-head strong{
    font-size:12px;
  }

  .dashboard-board .admin-user-chip{
    min-height:17px;
    padding:0 6px;
    font-size:9px;
  }

  .dashboard-board .admin-user-stats-row{
    font-size:9px;
    gap:2px 8px;
  }

  .dashboard-board .admin-tab-panel h2{
    margin:0 0 10px;
    font-size:18px;
  }

  @media (max-width: 900px){
    .dashboard-board .admin-toolbar-compact{
      align-items:stretch;
    }

    .dashboard-board .admin-toolbar-divider{
      display:none;
    }

    .dashboard-board .admin-search-inline{
      flex:1 1 100%;
    }

    .dashboard-board .admin-toolbar-filters{
      width:100%;
      justify-content:flex-start;
    }
  }

  .dashboard-board .billing-panel-scroll{
    flex:1 1 auto;
    min-height:0;
  }

  .dashboard-board .project-card{
    border-radius:calc(12px * var(--projects-content-scale, var(--dashboard-ui-scale)));
    border-color:rgba(255,140,60,.24);
    background:rgba(255,120,55,.12);
  }

  .dashboard-board .project-card-compact{
    overflow:hidden;
  }

  .dashboard-board .project-card-compact .project-summary{
    min-height:calc(48px * var(--projects-content-scale, var(--dashboard-ui-scale)));
    padding:calc(8px * var(--projects-content-scale, var(--dashboard-ui-scale))) calc(12px * var(--projects-content-scale, var(--dashboard-ui-scale)));
    background:linear-gradient(90deg, rgba(255,130,70,.16), rgba(255,255,255,.03));
  }

  .dashboard-board .project-card-compact .project-icon{
    width:calc(34px * var(--projects-content-scale, var(--dashboard-ui-scale)));
    height:calc(34px * var(--projects-content-scale, var(--dashboard-ui-scale)));
    border-radius:calc(10px * var(--projects-content-scale, var(--dashboard-ui-scale)));
    font-size:calc(16px * var(--projects-content-scale, var(--dashboard-ui-scale)));
  }

  .dashboard-board .project-card-compact .project-title-stack b{
    font-size:calc(15px * var(--projects-content-scale, var(--dashboard-ui-scale)));
  }

  .dashboard-board .project-card-compact .project-title-stack small,
  .dashboard-board .project-card-compact .project-title-stack em{
    font-size:calc(11px * var(--projects-content-scale, var(--dashboard-ui-scale)));
  }

  .dashboard-board .project-card-compact .project-quiz-list{
    gap:calc(6px * var(--projects-content-scale, var(--dashboard-ui-scale)));
    padding:calc(8px * var(--projects-content-scale, var(--dashboard-ui-scale)));
  }

  .dashboard-board .project-card-compact .project-delete-button{
    min-height:calc(32px * var(--projects-content-scale, var(--dashboard-ui-scale)));
    padding-left:calc(12px * var(--projects-content-scale, var(--dashboard-ui-scale)));
    padding-right:calc(12px * var(--projects-content-scale, var(--dashboard-ui-scale)));
    font-size:calc(12px * var(--projects-content-scale, var(--dashboard-ui-scale)));
  }

  .quiz-row-icon{
    width:calc(36px * var(--projects-content-scale, var(--dashboard-ui-scale)));
    height:calc(36px * var(--projects-content-scale, var(--dashboard-ui-scale)));
    flex:0 0 calc(36px * var(--projects-content-scale, var(--dashboard-ui-scale)));
    object-fit:cover;
    border-radius:calc(10px * var(--projects-content-scale, var(--dashboard-ui-scale)));
    border:1px solid rgba(255,140,60,.22);
    background:rgba(8,10,14,.34);
  }

  .dashboard-board .quiz-launch,
  .dashboard-board .quiz-row-link{
    display:flex;
    align-items:center;
    gap:calc(10px * var(--projects-content-scale, var(--dashboard-ui-scale)));
  }

  .dashboard-board .quiz-row{
    min-height:calc(48px * var(--projects-content-scale, var(--dashboard-ui-scale)));
    padding:calc(7px * var(--projects-content-scale, var(--dashboard-ui-scale))) calc(12px * var(--projects-content-scale, var(--dashboard-ui-scale)));
    border-radius:calc(11px * var(--projects-content-scale, var(--dashboard-ui-scale)));
    background:rgba(8,10,14,.34);
  }

  .dashboard-board .quiz-row:hover{
    border-color:rgba(255,140,60,.22);
    background:rgba(255,255,255,.055);
  }

  .dashboard-board .quiz-row-link:not(.is-static){
    cursor:pointer;
  }

  .dashboard-board .quiz-title-wrap{
    flex:1 1 auto;
  }

  .dashboard-board .loose-quizzes-title{
    margin-top:calc(10px * var(--projects-content-scale, var(--dashboard-ui-scale)));
    padding:calc(12px * var(--projects-content-scale, var(--dashboard-ui-scale))) calc(2px * var(--projects-content-scale, var(--dashboard-ui-scale))) calc(4px * var(--projects-content-scale, var(--dashboard-ui-scale)));
  }

  .dashboard-board .tariff-grid-compact{
    grid-template-columns:repeat(5, minmax(0, 1fr));
  }

  @media (max-width: 1180px){
    .dashboard-board .tariff-grid-compact{
      grid-template-columns:repeat(2, minmax(0, 1fr));
    }
  }

  .played-counter-inline span{
    white-space:nowrap;
  }

  .dashboard-profile-avatar-image{
    object-fit:cover;
  }

  .dashboard-board.is-project-detail{
    padding:18px 20px 22px;
  }

  .project-grid{
    display:grid;
    gap:12px;
  }

  .project-grid-card{
    min-height:74px;
    display:flex;
    align-items:center;
    gap:14px;
    border:1px solid rgba(255,140,60,.24);
    border-radius:14px;
    padding:14px 16px;
    color:inherit;
    text-decoration:none;
    background:linear-gradient(90deg, rgba(255,130,70,.18), rgba(255,255,255,.04));
    transition:border-color .18s ease, transform .18s ease, background .18s ease;
  }

  .project-grid-card:hover{
    border-color:rgba(255,160,90,.42);
    background:linear-gradient(90deg, rgba(255,130,70,.24), rgba(255,255,255,.06));
    transform:translateY(-1px);
  }

  .project-grid-icon{
    width:42px;
    height:42px;
    flex:0 0 42px;
    display:grid;
    place-items:center;
    border-radius:12px;
    background:rgba(255,120,55,.18);
    font-size:19px;
  }

  .project-grid-main{
    min-width:0;
    display:grid;
    gap:4px;
  }

  .project-grid-main b{
    font-size:16px;
    color:#fff;
  }

  .project-grid-main small,
  .project-grid-main em{
    color:rgba(233,236,241,.68);
    font-size:12px;
    font-style:normal;
  }

  .project-grid-arrow{
    margin-left:auto;
    color:#ff9b3d;
    font-size:18px;
  }

  .quiz-list-desktop .loose-quizzes-title{
    margin-top:16px;
  }

  .project-detail-back{
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin-bottom:14px;
    color:#ff9b3d;
    text-decoration:none;
    font-size:14px;
  }

  .project-detail-back:hover{
    color:#ffb36d;
  }

  .project-detail-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:16px;
    margin-bottom:18px;
  }

  .project-detail-title-wrap h2{
    margin:0;
    font-size:28px;
    line-height:1.15;
    color:#fff;
  }

  .project-detail-title-wrap p{
    margin:8px 0 0;
    color:rgba(233,236,241,.68);
    font-size:14px;
  }

  .project-detail-description{
    margin-top:6px !important;
  }

  .project-detail-actions{
    display:flex;
    align-items:center;
    gap:10px;
    flex:0 0 auto;
  }

  .project-detail-favorite{
    width:46px;
    min-width:46px;
    padding:0;
    font-size:20px;
    line-height:1;
  }

  .project-detail-favorite.is-active{
    color:#ffd166;
    border-color:rgba(255,209,102,.42);
    background:rgba(255,209,102,.12);
  }

  .project-detail-edit{
    min-width:132px;
  }

  .project-detail-menu{
    position:relative;
  }

  .project-detail-menu > summary,
  .structure-row-menu > summary{
    width:46px;
    min-width:46px;
    min-height:46px;
    display:grid;
    place-items:center;
    list-style:none;
    border:1px solid rgba(255,255,255,.10);
    border-radius:12px;
    color:rgba(233,236,241,.86);
    background:rgba(255,255,255,.035);
    cursor:pointer;
  }

  .project-detail-menu > summary::-webkit-details-marker,
  .structure-row-menu > summary::-webkit-details-marker{
    display:none;
  }

  .project-detail-menu-panel,
  .structure-row-menu-panel{
    position:absolute;
    top:calc(100% + 8px);
    right:0;
    z-index:20;
    min-width:190px;
    display:grid;
    gap:4px;
    padding:8px;
    border:1px solid rgba(255,140,60,.22);
    border-radius:12px;
    background:rgba(12,15,20,.96);
    box-shadow:0 18px 50px rgba(0,0,0,.34);
  }

  .project-detail-menu-panel a,
  .project-detail-menu-panel button,
  .structure-row-menu-panel a,
  .structure-row-menu-panel button{
    width:100%;
    min-height:38px;
    border:0;
    border-radius:9px;
    padding:0 12px;
    color:var(--text);
    background:transparent;
    text-align:left;
    text-decoration:none;
    cursor:pointer;
    font:inherit;
  }

  .project-detail-menu-panel a:hover,
  .project-detail-menu-panel button:hover,
  .structure-row-menu-panel a:hover,
  .structure-row-menu-panel button:hover{
    background:rgba(255,255,255,.06);
  }

  .project-detail-menu-panel button[type="submit"],
  .structure-row-menu-panel button[type="submit"]{
    color:#ffb4b4;
  }

  .project-tabs{
    display:flex;
    flex-wrap:wrap;
    gap:18px;
    margin-bottom:18px;
    border-bottom:1px solid rgba(255,255,255,.08);
  }

  .project-tab{
    position:relative;
    padding:0 2px 14px;
    color:rgba(233,236,241,.62);
    text-decoration:none;
    font-size:14px;
  }

  .project-tab.is-active{
    color:#fff;
  }

  .project-tab.is-active::after{
    content:'';
    position:absolute;
    left:0;
    right:0;
    bottom:-1px;
    height:2px;
    border-radius:999px;
    background:linear-gradient(90deg, #ff8a23, #ff5f00);
    box-shadow:0 0 14px rgba(255,120,0,.42);
  }

  .project-tab.is-soon{
    opacity:.48;
    pointer-events:none;
  }

  .structure-toolbar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:14px;
  }

  .structure-toolbar-tools{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
  }

  .structure-tool{
    min-height:40px;
    padding-left:14px;
    padding-right:14px;
    font-size:13px;
  }

  .structure-add-round{
    min-height:40px;
    padding-left:14px;
    padding-right:14px;
    font-size:13px;
  }

  .structure-rounds{
    display:grid;
    gap:10px;
  }

  .structure-round{
    overflow:hidden;
    border:1px solid rgba(255,140,60,.20);
    border-radius:14px;
    background:rgba(8,10,14,.28);
  }

  .structure-round-summary{
    min-height:56px;
    display:flex;
    align-items:center;
    gap:12px;
    padding:10px 14px;
    list-style:none;
    cursor:pointer;
    background:linear-gradient(90deg, rgba(255,130,70,.16), rgba(255,255,255,.03));
  }

  .structure-round-summary::-webkit-details-marker{
    display:none;
  }

  .structure-round-toggle{
    width:10px;
    height:10px;
    flex:0 0 10px;
    border-right:2px solid rgba(233,236,241,.72);
    border-bottom:2px solid rgba(233,236,241,.72);
    transform:rotate(-45deg);
    transition:transform .18s ease;
  }

  .structure-round[open] .structure-round-toggle{
    transform:rotate(45deg);
  }

  .structure-round-main{
    min-width:0;
    display:grid;
    gap:2px;
  }

  .structure-round-main b{
    color:#fff;
    font-size:15px;
  }

  .structure-round-main small{
    color:rgba(233,236,241,.62);
    font-size:12px;
  }

  .structure-row-menu{
    position:relative;
    margin-left:auto;
  }

  .structure-round-body{
    padding:0 14px 14px 36px;
  }

  .structure-round-title{
    margin-bottom:10px;
    color:rgba(233,236,241,.72);
    font-size:13px;
  }

  .structure-questions{
    display:grid;
    gap:8px;
  }

  .structure-question{
    min-height:44px;
    display:flex;
    align-items:center;
    gap:10px;
    border:1px solid rgba(255,255,255,.06);
    border-radius:11px;
    padding:8px 10px;
    background:rgba(255,255,255,.03);
  }

  .structure-question-icon{
    width:28px;
    height:28px;
    flex:0 0 28px;
    display:grid;
    place-items:center;
    border-radius:8px;
    color:#ffb36d;
    background:rgba(255,120,55,.12);
    font-size:13px;
  }

  .structure-question-link{
    min-width:0;
    flex:1 1 auto;
    overflow:hidden;
    color:#fff;
    text-decoration:none;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:14px;
  }

  .structure-question-link:hover{
    color:#ffb36d;
  }

  .structure-question-star{
    color:#ffd166;
    font-size:14px;
  }

  .structure-add-question,
  .structure-add-round-bottom{
    display:inline-flex;
    align-items:center;
    min-height:38px;
    margin-top:4px;
    color:#ff9b3d;
    text-decoration:none;
    font-size:14px;
  }

  .structure-add-round-bottom{
    margin-top:14px;
  }

  .structure-empty{
    padding:18px 4px;
  }
}

@media (max-width: 720px){
  .library-project-row{
    display:grid;
  }

  .library-project-row form{
    width:100%;
  }

  .library-project-row .btn-row-action{
    width:100%;
  }
}

/* Вкладка импорта JSON-игр в админке. */
.admin-import-card{
  max-width:760px;
}

.admin-import-json{
  min-height:220px;
  resize:vertical;
  line-height:1.45;
  font-family:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

.admin-import-standard{
  margin-top:18px;
  display:grid;
  gap:12px;
  max-width:960px;
}

.admin-import-standard h3{
  margin:10px 0 0;
  color:rgba(255,255,255,.92);
}

.admin-import-standard pre{
  margin:0;
  overflow:auto;
  padding:14px;
  border:1px solid rgba(255,140,60,.22);
  border-radius:16px;
  background:rgba(0,0,0,.26);
  color:rgba(233,236,241,.86);
  line-height:1.45;
  font-size:13px;
}

/* Импорт JSON-викторин для Vip и администратора. */
.projects-toolbar-actions{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
}

.projects-import-btn{
  color:rgba(233,236,241,.82);
  border-color:rgba(255,255,255,.18);
  background:rgba(255,255,255,.04);
}

.ai-import-view{
  gap:18px;
  padding:6px;
  overflow:auto !important;
}

.ai-import-head,
.ai-prompt-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
}

.ai-import-head h2,
.ai-prompt-head h3{
  margin:4px 0 6px;
}

.ai-import-head p,
.ai-prompt-head p{
  margin:0;
  color:var(--muted);
  line-height:1.5;
}

.ai-import-form{
  display:grid;
  gap:8px;
}

.ai-import-options{
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);
  gap:14px;
}

.ai-import-option{
  align-content:start;
  min-width:0;
  padding:14px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:8px;
  background:rgba(8,10,14,.20);
}

.ai-import-option-head{
  display:grid;
  gap:3px;
  min-height:46px;
}

.ai-import-option-head strong{
  color:rgba(233,236,241,.94);
  font-size:16px;
}

.ai-import-option-head span{
  color:var(--muted);
  font-size:13px;
}

.ai-import-option .json-dropzone{
  min-height:260px;
}

.ai-import-json-text{
  box-sizing:border-box;
  width:100%;
  min-height:260px;
  resize:vertical;
  padding:14px;
  border:1px solid rgba(255,255,255,.15);
  border-radius:8px;
  color:rgba(233,236,241,.94);
  background:rgba(0,0,0,.28);
  font:13px/1.5 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

.ai-import-json-text:focus{
  outline:none;
  border-color:#ff8b32;
  box-shadow:0 0 0 2px rgba(255,120,30,.14);
}

.ai-import-text-submit{
  justify-self:end;
  width:auto;
}

.json-dropzone{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  box-sizing:border-box;
  min-height:210px;
  padding:28px;
  border:2px dashed rgba(255,140,60,.38);
  border-radius:8px;
  color:rgba(233,236,241,.86);
  background:rgba(8,10,14,.30);
  text-align:center;
  cursor:pointer;
  transition:border-color .16s ease, background .16s ease;
}

.json-dropzone:hover,
.json-dropzone.is-dragover{
  border-color:#ff8b32;
  background:rgba(255,100,0,.10);
}

.json-dropzone.has-file{
  border-style:solid;
}

.json-dropzone input[type="file"]{
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  opacity:0;
  pointer-events:none;
}

.json-dropzone-icon{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  margin-bottom:12px;
  border:1px solid rgba(255,140,60,.38);
  border-radius:8px;
  color:#ff9b3d;
  font-size:25px;
}

.json-dropzone strong{
  font-size:17px;
}

.json-dropzone > span:not(.json-dropzone-icon),
.json-dropzone small{
  margin-top:7px;
  color:var(--muted);
}

.json-import-status{
  min-height:20px;
  color:#ffb36d;
  font-size:13px;
}

.ai-import-form.is-uploading .json-dropzone{
  opacity:.65;
  pointer-events:none;
}

.ai-import-form.is-uploading .ai-import-json-text,
.ai-import-form.is-uploading .ai-import-text-submit{
  opacity:.65;
  pointer-events:none;
}

.ai-prompt-section{
  display:grid;
  gap:12px;
}

.ai-prompt-copy{
  flex:0 0 auto;
}

.ai-prompt-section pre{
  margin:0;
  overflow:auto;
  padding:16px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:8px;
  background:rgba(0,0,0,.28);
  color:rgba(233,236,241,.86);
  font:13px/1.55 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  white-space:pre-wrap;
}

.admin-json-dropzone{
  min-height:180px;
}

@media (max-width: 860px){
  .projects-content-toolbar{
    align-items:flex-start;
  }

  .projects-toolbar-actions{
    flex-wrap:wrap;
    justify-content:flex-end;
  }

  .ai-import-head,
  .ai-prompt-head{
    align-items:stretch;
    flex-direction:column;
  }

  .ai-prompt-copy{
    align-self:flex-start;
  }

  .ai-import-options{
    grid-template-columns:1fr;
  }
}

/* Обучение редактора: фирменные подсказки конструктора. */
.editor-tutorial-modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 9000;
  background: rgba(0, 0, 0, .62);
  backdrop-filter: blur(4px);
}

.editor-tutorial-mask {
  position: fixed;
  z-index: 9000;
  background: rgba(0, 0, 0, .62);
  backdrop-filter: blur(4px);
  pointer-events: none;
}

.editor-tutorial-spotlight {
  position: fixed;
  z-index: 9010;
  border: 2px dashed rgba(255, 138, 0, 1);
  box-shadow: 0 0 0 1px rgba(255, 138, 0, .15), 0 0 30px rgba(255, 138, 0, .42);
  pointer-events: none;
}

.editor-tutorial-connector {
  position: fixed;
  inset: 0;
  z-index: 9018;
  width: 100vw;
  height: 100vh;
  pointer-events: none;
  overflow: visible;
}

.editor-tutorial-connector line {
  stroke: rgba(255, 138, 0, 1);
  stroke-width: 2;
  stroke-dasharray: 7 5;
  filter: drop-shadow(0 0 8px rgba(255, 138, 0, .5));
}

.editor-tutorial-connector marker path {
  fill: rgba(255, 138, 0, 1);
}

.editor-tutorial-modal {
  position: fixed;
  left: 50%;
  top: 50%;
  width: min(420px, calc(100vw - 32px));
  transform: translate(-50%, -50%);
  padding: 22px;
  border: 1px dashed rgba(255, 138, 0, 1);
  border-radius: 18px;
  background: rgba(255, 138, 0, .1);
  color: #fff;
  box-shadow: 0 24px 70px rgba(0, 0, 0, .45);
  backdrop-filter: blur(10px);
}

.editor-tutorial-modal h2 {
  margin: 0 0 10px;
  font-size: 20px;
  line-height: 1.25;
}

.editor-tutorial-modal p {
  margin: 0;
  color: rgba(255, 255, 255, .94);
}

.editor-tutorial-modal-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 18px;
}

.editor-tutorial-bubble {
  position: fixed;
  z-index: 9020;
  min-width: min(280px, calc(100vw - 24px));
  padding: 16px 48px 16px 16px;
  border: 1px dashed rgba(255, 138, 0, 1);
  border-radius: 16px;
  background: rgba(255, 138, 0, .05);
  color: #fff;
  box-shadow: 0 18px 50px rgba(0, 0, 0, .44), 0 0 28px rgba(255, 138, 0, .22);
  backdrop-filter: blur(10px);
}

.editor-tutorial-counter {
  margin: 0 0 8px;
  font-size: 12px;
  letter-spacing: .08em;
  color: rgba(255, 255, 255, .9);
}

.editor-tutorial-text {
  font-size: 15px;
  line-height: 1.35;
  color: #fff;
}

.editor-tutorial-arrow {
  position: absolute;
  right: 10px;
  top: 50%;
  width: 30px;
  height: 30px;
  transform: translateY(-50%);
  border: 1px dashed rgba(255, 138, 0, 1);
  border-radius: 999px;
  background: rgba(0, 0, 0, .20);
  color: #fff;
  font-size: 20px;
  font-weight: 900;
  line-height: 1;
  cursor: pointer;
}

.editor-tutorial-arrow:hover,
.editor-tutorial-arrow:focus-visible {
  background: rgba(255, 255, 255, .18);
  outline: none;
}

.editor-tutorial-finish {
  position: fixed;
  z-index: 9030;
  top: max(14px, env(safe-area-inset-top));
  right: 14px;
  padding: 10px 16px;
  border: 1px dashed rgba(255, 138, 0, 1);
  border-radius: 999px;
  background: rgba(255, 138, 0, .1);
  color: #fff;
  cursor: pointer;
  box-shadow: 0 14px 36px rgba(0, 0, 0, .34);
  backdrop-filter: blur(10px);
}

body.editor-tutorial-active {
  overflow-x: hidden;
}

@media (max-width: 640px) {
  .editor-tutorial-bubble {
    left: 12px !important;
    right: 12px;
    width: auto;
    min-width: 0;
  }

  .editor-tutorial-finish {
    left: 12px;
    right: 12px;
  }
}


.editor-edit-counter{
  display:inline-flex;
  align-items:center;
  min-height:36px;
  padding:0 12px;
  border:1px solid rgba(255,122,24,.26);
  border-radius:999px;
  color:var(--text);
  background:rgba(255,122,24,.10);
  font-size:13px;
  white-space:nowrap;
}

.edit-left-modal{
  padding:22px 24px;
  border:1px solid rgba(255,122,24,.22);
  border-radius:22px;
  background:rgba(15,18,26,.94);
  box-shadow:0 24px 80px rgba(0,0,0,.45);
}

.edit-left-modal .modal-actions{
  grid-template-columns:1fr;
  margin-top:16px;
}

.game-splash-logo{
  width:clamp(86px, 13vw, 150px);
  height:auto;
  margin:0 auto 18px;
}

@media (max-width: 640px),
  (orientation: portrait) and (min-width: 641px) and (max-width: 1180px),
  (orientation: landscape) and (min-width: 641px) and (max-width: 1400px) and (max-height: 1100px){
  .mobile-app-body{
    padding-bottom:calc(82px + env(safe-area-inset-bottom, 0px));
  }

  .mobile-app-body .dashboard-topbar{
    display:none !important;
  }

  .mobile-app-body .dashboard-shell{
    display:block;
    min-height:100vh;
  }

  .mobile-app-body .dashboard-workspace{
    width:100%;
    max-width:480px;
    margin:0 auto;
    padding:10px 10px calc(96px + env(safe-area-inset-bottom, 0px));
  }

  .mobile-app-body .dashboard-board .mobile-project-card{
    border:1px solid rgba(255,255,255,.10);
    background:rgba(8,10,14,.22);
  }

  .mobile-app-body .dashboard-board .mobile-project-card .project-summary{
    list-style:none;
    cursor:default;
  }

  .mobile-app-body .dashboard-board .mobile-project-card .project-summary::-webkit-details-marker{
    display:none;
  }

  .mobile-app-body .dashboard-board .mobile-project-card .project-delete-button{
    display:none;
  }

  .mobile-app-body .dashboard-board .mobile-games-list .quiz-row{
    border:1px solid rgba(255,255,255,.10);
    background:rgba(8,10,14,.22);
  }

  .mobile-projects-shell{
    display:flex;
    flex-direction:column;
    gap:12px;
    min-height:0;
  }

  .mobile-projects-screen{
    display:none;
    flex-direction:column;
    gap:12px;
    min-height:0;
  }

  .mobile-projects-screen.is-active{
    display:flex;
  }

  .mobile-projects-hero{
    display:grid;
    gap:12px;
    padding:14px;
    border:1px solid rgba(255,140,60,.18);
    border-radius:16px;
    background:linear-gradient(135deg, rgba(255,255,255,.04), rgba(255,90,0,.06));
  }

  .mobile-projects-stats{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
  }

  .mobile-projects-stat{
    display:grid;
    gap:2px;
    padding:10px 12px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:12px;
    background:rgba(8,10,14,.34);
    text-align:center;
  }

  .mobile-projects-stat b{
    color:#fff;
    font-size:22px;
    line-height:1;
  }

  .mobile-projects-stat small{
    color:rgba(233,236,241,.62);
    font-size:11px;
    line-height:1.2;
  }

  .mobile-projects-lead{
    margin:0;
    color:rgba(233,236,241,.72);
    font-size:13px;
    line-height:1.45;
  }

  .mobile-projects-library-btn{
    min-height:42px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    border:1px solid rgba(255,140,60,.34);
    border-radius:12px;
    color:#ffd9bd;
    background:rgba(255,90,0,.14);
    font:inherit;
    font-size:13px;
    font-weight:700;
    cursor:pointer;
  }

  .mobile-projects-library-btn span:first-child{
    width:22px;
    height:22px;
    display:inline-grid;
    place-items:center;
    border-radius:8px;
    background:rgba(255,90,0,.24);
    font-size:18px;
    line-height:1;
  }

  .mobile-projects-help-btn{
    width:100%;
    min-height:62px;
    display:grid;
    grid-template-columns:38px minmax(0, 1fr) auto;
    align-items:center;
    gap:12px;
    padding:10px 12px;
    border:1px solid rgba(255,140,60,.22);
    border-radius:14px;
    color:inherit;
    background:linear-gradient(135deg, rgba(255,255,255,.045), rgba(255,90,0,.075));
    font:inherit;
    text-align:left;
    cursor:pointer;
  }

  .mobile-projects-help-btn:active{
    transform:translateY(1px);
    background:rgba(255,90,0,.12);
  }

  .mobile-projects-help-icon{
    width:38px;
    height:38px;
    display:grid;
    place-items:center;
    border:1px solid rgba(255,140,60,.42);
    border-radius:12px;
    color:#ffad62;
    background:rgba(255,90,0,.10);
    font-size:19px;
    font-weight:800;
    line-height:1;
  }

  .mobile-projects-help-copy{
    display:grid;
    gap:3px;
    min-width:0;
  }

  .mobile-projects-help-copy b{
    color:#fff;
    font-size:14px;
    line-height:1.2;
  }

  .mobile-projects-help-copy small{
    color:rgba(233,236,241,.62);
    font-size:11px;
    line-height:1.25;
  }

  .mobile-projects-help-arrow{
    color:#ffad62;
    font-size:24px;
    line-height:1;
  }

  .mobile-folder-list{
    display:grid;
    gap:8px;
  }

  .mobile-folder-card{
    width:100%;
    min-height:64px;
    display:grid;
    grid-template-columns:auto 1fr auto;
    align-items:center;
    gap:12px;
    padding:10px 12px;
    border:1px solid rgba(255,255,255,.10);
    border-radius:14px;
    color:inherit;
    background:rgba(8,10,14,.34);
    text-align:left;
    cursor:pointer;
    transition:border-color .15s ease, background .15s ease, transform .15s ease;
  }

  .mobile-folder-card:active{
    transform:scale(.99);
    border-color:rgba(255,140,60,.28);
    background:rgba(255,255,255,.05);
  }

  .mobile-folder-card-loose{
    border-style:dashed;
    border-color:rgba(255,140,60,.22);
  }

  .mobile-folder-icon{
    width:44px;
    height:44px;
    display:grid;
    place-items:center;
    border:1px solid rgba(255,140,60,.22);
    border-radius:12px;
    background:rgba(255,90,0,.10);
    overflow:hidden;
    flex:0 0 auto;
  }

  .mobile-folder-glyph{
    font-size:20px;
    line-height:1;
  }

  .mobile-folder-image{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
  }

  .mobile-folder-body{
    min-width:0;
    display:grid;
    gap:3px;
  }

  .mobile-folder-body b{
    color:#fff;
    font-size:15px;
    line-height:1.2;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }

  .mobile-folder-body small{
    color:rgba(233,236,241,.58);
    font-size:12px;
    line-height:1.25;
  }

  .mobile-folder-chevron{
    color:rgba(255,183,107,.72);
    font-size:24px;
    line-height:1;
  }

  .mobile-projects-folder-head{
    display:grid;
    grid-template-columns:auto 1fr;
    align-items:center;
    gap:10px;
    padding:2px 0 4px;
  }

  .mobile-projects-back{
    width:40px;
    height:40px;
    display:inline-grid;
    place-items:center;
    border:1px solid rgba(255,255,255,.12);
    border-radius:12px;
    color:rgba(233,236,241,.84);
    background:rgba(8,10,14,.34);
    font:inherit;
    font-size:20px;
    line-height:1;
    cursor:pointer;
  }

  .mobile-projects-folder-title{
    min-width:0;
  }

  .mobile-projects-folder-title h2{
    margin:0;
    color:#fff;
    font-size:18px;
    line-height:1.15;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }

  .mobile-projects-folder-title p{
    margin:4px 0 0;
    color:rgba(233,236,241,.58);
    font-size:12px;
    line-height:1.3;
  }

  .mobile-launch-list{
    display:grid;
    gap:8px;
    padding-bottom:8px;
  }

  .mobile-launch-card{
    width:100%;
    min-height:68px;
    display:grid;
    grid-template-columns:auto 1fr auto;
    align-items:center;
    gap:12px;
    padding:8px 10px 8px 8px;
    border:1px solid rgba(255,255,255,.10);
    border-radius:14px;
    color:inherit;
    background:rgba(8,10,14,.34);
    text-align:left;
    cursor:pointer;
    transition:border-color .15s ease, background .15s ease, transform .15s ease;
  }

  .mobile-launch-card:active{
    transform:scale(.99);
    border-color:rgba(255,140,60,.28);
    background:rgba(255,255,255,.05);
  }

  .mobile-launch-card.is-launch-blocked,
  .mobile-launch-card:disabled{
    opacity:.55;
    cursor:not-allowed;
    border-color:rgba(255,255,255,.06);
    background:rgba(8,10,14,.22);
  }

  .mobile-launch-card.is-launch-blocked:active,
  .mobile-launch-card:disabled:active{
    transform:none;
    border-color:rgba(255,255,255,.06);
    background:rgba(8,10,14,.22);
  }

  .mobile-launch-card.is-launch-blocked .mobile-launch-play,
  .mobile-launch-card:disabled .mobile-launch-play{
    opacity:.35;
  }

  .quiz-launch.is-launch-blocked,
  .quiz-launch:disabled{
    cursor:not-allowed;
  }

  .quiz-row.is-launch-blocked .quiz-launch.is-launch-blocked,
  .quiz-row.is-launch-blocked .quiz-launch:disabled{
    opacity:1;
  }

  .mobile-launch-cover{
    position:relative;
    width:72px;
    height:44px;
    flex:0 0 auto;
    overflow:hidden;
    border-radius:10px;
    border:1px solid rgba(255,140,60,.20);
    background:rgba(8,10,14,.34);
  }

  .mobile-launch-cover-image{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
  }

  .mobile-launch-age{
    position:absolute;
    top:4px;
    right:4px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:2px 5px;
    border:1px solid rgba(255,140,60,.42);
    border-radius:6px;
    color:#ffd9bd;
    background:rgba(255,90,0,.24);
    font-size:9px;
    font-weight:700;
    line-height:1;
  }

  .mobile-launch-count{
    position:absolute;
    left:4px;
    bottom:4px;
    padding:2px 5px;
    border-radius:6px;
    color:rgba(233,236,241,.92);
    background:rgba(0,0,0,.58);
    font-size:9px;
    font-weight:700;
    line-height:1;
    white-space:nowrap;
  }

  .mobile-launch-body{
    min-width:0;
    display:grid;
    gap:4px;
  }

  .mobile-launch-title{
    color:#fff;
    font-size:14px;
    font-weight:700;
    line-height:1.25;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }

  .mobile-launch-meta{
    color:rgba(233,236,241,.56);
    font-size:11px;
    line-height:1.3;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }

  .mobile-launch-play{
    width:34px;
    height:34px;
    display:inline-grid;
    place-items:center;
    border-radius:50%;
    color:#fff3df;
    background:linear-gradient(135deg, rgba(255,120,40,.92), rgba(255,90,0,.72));
    box-shadow:0 8px 18px rgba(255,90,0,.18);
    font-size:12px;
    line-height:1;
  }

  .mobile-folder-empty{
    padding:18px 14px;
  }

  .mobile-app-body .dashboard-board .quiz-launch{
    width:100%;
    cursor:pointer;
  }

  .mobile-app-body .dashboard-board{
    padding:14px;
    border-radius:18px;
  }

  .mobile-app-body .dashboard-board .quiz-list{
    gap:8px;
  }

  .mobile-app-body .dashboard-board .quiz-row{
    min-height:44px;
    padding:7px 9px;
    border-radius:11px;
  }

  .mobile-app-body .dashboard-board .project-card{
    border-radius:14px;
  }

  .mobile-app-body .dashboard-board .project-summary{
    min-height:58px;
  }

  .mobile-app-body .site-footer{
    display:none;
  }

  .mobile-app-body .mobile-view{
    display:none;
  }

  .mobile-app-body .mobile-view.is-active{
    display:block;
  }

  .mobile-profile-panel{
    display:flex;
    flex-direction:column;
    min-height:calc(100dvh - 120px);
    min-height:calc(100vh - 120px);
    padding:14px;
    border-radius:18px;
    background:linear-gradient(135deg, rgba(255,255,255,.055), rgba(255,90,0,.045));
  }

  .mobile-help-panel{
    min-height:calc(100dvh - 120px);
    min-height:calc(100vh - 120px);
    padding:14px 14px 88px;
    border-radius:18px;
    background:linear-gradient(135deg, rgba(255,255,255,.055), rgba(255,90,0,.045));
  }

  .mobile-help-panel .help-panel-compact,
  .mobile-help-panel .help-workspace,
  .mobile-help-panel .help-sidebar,
  .mobile-help-panel .help-main{
    height:auto;
    min-height:0;
    overflow:visible;
  }

  .mobile-help-panel .help-workspace{
    display:flex;
    flex-direction:column;
    gap:12px;
  }

  .mobile-help-panel .help-sidebar{
    display:none;
  }

  .mobile-help-panel .help-chapter-panel[hidden]{
    display:block !important;
  }

  .mobile-help-panel .help-nav,
  .mobile-help-panel .help-main-scroll{
    max-height:none;
    overflow:visible;
  }

  .mobile-profile-panel .profile-panel-compact{
    max-width:none;
    min-height:100%;
  }

  .mobile-admin-panel{
    display:flex;
    flex-direction:column;
    min-height:calc(100dvh - 120px);
    min-height:calc(100vh - 120px);
    padding:14px 14px 88px;
    border-radius:18px;
    background:linear-gradient(135deg, rgba(255,255,255,.055), rgba(255,90,0,.045));
  }

  .mobile-admin-panel-compact{
    display:flex;
    flex-direction:column;
    gap:12px;
    min-height:100%;
  }

  .mobile-admin-head{
    display:grid;
    gap:4px;
  }

  .mobile-admin-title{
    margin:0;
    font-size:20px;
    line-height:1.2;
  }

  .mobile-admin-lead{
    margin:0;
    color:rgba(233,236,241,.68);
    font-size:13px;
    line-height:1.45;
  }

  .mobile-admin-payments-list{
    display:grid;
    gap:10px;
  }

  .mobile-admin-payment-card{
    display:grid;
    gap:10px;
    padding:12px;
    border:1px solid rgba(255,255,255,.10);
    border-radius:14px;
    background:rgba(8,10,14,.34);
  }

  .mobile-admin-payment-top{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:10px;
  }

  .mobile-admin-payment-main{
    display:grid;
    gap:2px;
  }

  .mobile-admin-payment-amount{
    font-size:18px;
    line-height:1.1;
  }

  .mobile-admin-payment-tariff{
    color:rgba(233,236,241,.72);
    font-size:13px;
  }

  .mobile-admin-payment-meta{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:8px 12px;
    margin:0;
  }

  .mobile-admin-payment-meta > div{
    display:grid;
    gap:2px;
    min-width:0;
  }

  .mobile-admin-payment-meta dt{
    margin:0;
    color:rgba(233,236,241,.52);
    font-size:11px;
    line-height:1.2;
  }

  .mobile-admin-payment-meta dd{
    margin:0;
    font-size:12px;
    line-height:1.35;
    word-break:break-word;
  }

  .mobile-admin-payment-meta dd small{
    display:block;
    margin-top:2px;
    color:rgba(233,236,241,.58);
    font-size:11px;
  }

  .mobile-admin-payment-note,
  .mobile-admin-payment-sent,
  .mobile-admin-payment-error{
    margin:0;
    font-size:12px;
    line-height:1.4;
  }

  .mobile-admin-payment-sent{
    color:rgba(120,220,160,.88);
  }

  .mobile-admin-payment-error{
    color:#ff9b9b;
  }

  .mobile-admin-receipt-form{
    display:grid;
    gap:8px;
    margin-top:2px;
    padding-top:10px;
    border-top:1px solid rgba(255,255,255,.08);
  }

  .mobile-admin-receipt-field{
    display:grid;
    gap:6px;
  }

  .mobile-admin-receipt-field span{
    font-size:12px;
    color:rgba(233,236,241,.72);
  }

  .mobile-admin-receipt-form .editor-input{
    width:100%;
    min-height:42px;
    font-size:14px;
  }

  .mobile-admin-receipt-submit{
    width:100%;
    min-height:42px;
  }

  .mobile-admin-receipt-sent-block{
    display:grid;
    gap:6px;
    margin-top:2px;
    padding-top:10px;
    border-top:1px solid rgba(255,255,255,.08);
  }

  .mobile-admin-receipt-link{
    color:#ff9b3d;
    font-size:12px;
    text-decoration:none;
  }

  .mobile-bottom-nav{
    position:fixed;
    left:10px;
    right:10px;
    bottom:10px;
    z-index:80;
    display:grid;
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:4px;
    max-width:480px;
    margin:0 auto;
    padding:6px;
    border:1px solid rgba(255,140,60,.22);
    border-radius:18px;
    background:rgba(11,13,18,.86);
    box-shadow:0 18px 50px rgba(0,0,0,.40);
    backdrop-filter:blur(12px);
  }

  .mobile-bottom-nav.mobile-bottom-nav-admin{
    grid-template-columns:repeat(5, minmax(0, 1fr));
    max-width:none;
    left:6px;
    right:6px;
  }

  .mobile-bottom-nav.mobile-bottom-nav-admin .mobile-nav-item{
    min-width:0;
    padding:0 2px;
  }

  .mobile-bottom-nav.mobile-bottom-nav-admin .mobile-nav-item b{
    font-size:9px;
    white-space:nowrap;
  }

  .mobile-nav-item{
    min-height:52px;
    display:grid;
    place-items:center;
    gap:2px;
    border:0;
    border-radius:13px;
    color:rgba(233,236,241,.62);
    background:transparent;
    text-decoration:none;
    cursor:pointer;
  }

  .mobile-nav-item span{
    font-size:18px;
    line-height:1;
  }

  .mobile-nav-item b{
    font-size:10px;
    line-height:1;
  }

  .mobile-nav-item.is-active{
    color:#ff9b3d;
    background:rgba(255,90,0,.12);
  }

  .mobile-app-body .dashboard-board > .dashboard-view{
    display:none;
  }

  .mobile-app-body .dashboard-board > .dashboard-view.is-active{
    display:block;
  }

  .mobile-app-body .dashboard-board.is-hidden{
    display:none;
  }

  .mobile-app-body .library-browser{
    min-height:0;
  }

  .mobile-games-tabs{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:6px;
    margin:0 0 12px;
    padding:4px;
    border:1px solid rgba(255,255,255,.10);
    border-radius:14px;
    background:rgba(8,10,14,.34);
  }

  .mobile-games-tab{
    min-height:38px;
    border:0;
    border-radius:10px;
    color:rgba(233,236,241,.68);
    background:transparent;
    font:inherit;
    font-size:13px;
    font-weight:700;
    line-height:1;
    cursor:pointer;
    transition:background .15s ease, color .15s ease;
  }

  .mobile-games-tab.is-active{
    color:#ffb36d;
    background:rgba(255,100,0,.14);
  }

  .mobile-app-body .mobile-library-in-games{
    display:flex;
    flex-direction:column;
    min-height:0;
    gap:10px;
  }

  .mobile-app-body .mobile-library-in-games .library-browser-head .eyebrow{
    display:none;
  }

  .mobile-app-body .mobile-library-in-games .library-panel-title{
    font-size:17px;
    margin:0;
  }

  .mobile-app-body .mobile-library-in-games .library-browser-head{
    margin-bottom:0;
  }

  .mobile-app-body .mobile-library-in-games .library-browser-head h2{
    font-size:18px;
    margin:2px 0 0;
  }

  .mobile-app-body .mobile-library-in-games .library-count{
    font-size:12px;
    white-space:nowrap;
  }

  .mobile-app-body .mobile-library-in-games .library-browser-toolbar{
    gap:8px;
  }

  .mobile-app-body .mobile-library-in-games .library-search-input{
    width:100%;
  }

  .mobile-app-body .mobile-library-in-games .library-toolbar-controls{
    display:grid;
    grid-template-columns:1fr;
    gap:8px;
  }

  .mobile-app-body .mobile-library-in-games .library-filter-chips{
    width:100%;
    display:flex;
  }

  .mobile-app-body .mobile-library-in-games .library-filter-chip{
    flex:1 1 0;
    padding:0 8px;
    font-size:11px;
  }

  .mobile-app-body .mobile-library-in-games .library-sort-field,
  .mobile-app-body .mobile-library-in-games .library-sort-select{
    width:100%;
  }

  .mobile-app-body .mobile-library-in-games .library-view-toggle{
    width:100%;
    margin-left:0;
    display:grid;
    grid-template-columns:1fr 1fr;
    height:auto;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.12);
    border-radius:12px;
    background:rgba(8,10,14,.34);
  }

  .mobile-app-body .mobile-library-in-games .library-view-toggle .projects-view-btn{
    width:100%;
    min-height:38px;
    height:auto;
    padding:10px 12px;
    border:0;
    border-radius:0;
    color:rgba(233,236,241,.68);
    background:transparent;
    font:inherit;
    font-size:12px;
    font-weight:600;
    line-height:1;
    cursor:pointer;
    -webkit-appearance:none;
    appearance:none;
  }

  .mobile-app-body .mobile-library-in-games .library-view-toggle .projects-view-btn + .projects-view-btn{
    border-left:1px solid rgba(255,255,255,.10);
  }

  .mobile-app-body .mobile-library-in-games .library-view-toggle .projects-view-btn.is-active{
    color:#ffb36d;
    background:rgba(255,100,0,.14);
  }

  .mobile-app-body .mobile-library-in-games.is-detail-open .library-browser-head,
  .mobile-app-body .mobile-library-in-games.is-detail-open .library-browser-toolbar,
  .mobile-app-body .mobile-library-in-games.is-detail-open .library-status{
    display:none !important;
  }

  .mobile-app-body .mobile-library-in-games .library-browser-body{
    position:relative;
    flex:1 1 auto;
    min-height:0;
  }

  .mobile-app-body .mobile-library-in-games .library-catalog.is-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:10px;
  }

  .mobile-app-body .mobile-library-in-games .library-card-cover{
    height:78px;
  }

  .library-mobile-detail-backdrop{
    position:fixed;
    inset:0;
    z-index:110;
    background:rgba(0,0,0,.58);
  }

  .library-mobile-detail-backdrop.is-hidden{
    display:none;
  }

  .library-detail-panel-mobile{
    position:fixed !important;
    inset:0 !important;
    width:100% !important;
    max-width:none !important;
    height:100dvh !important;
    max-height:100dvh !important;
    z-index:120 !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
    background:#0b0d12 !important;
  }

  .library-detail-panel-mobile .library-detail-close{
    top:max(12px, env(safe-area-inset-top, 0px));
    right:12px;
  }

  .library-detail-panel-mobile .library-detail-cover{
    padding:max(12px, env(safe-area-inset-top, 0px)) 12px 0;
  }

  .library-detail-panel-mobile .library-detail-cover-image{
    border-radius:0;
    aspect-ratio:16 / 9;
    max-height:42vh;
    object-fit:cover;
  }

  .library-detail-panel-mobile .library-detail-body{
    flex:1 1 auto;
    min-height:0;
  }

  .library-detail-panel-mobile .library-detail-content{
    padding:12px 14px 20px;
  }

  .library-detail-panel-mobile .library-detail-footer{
    padding:12px 14px max(14px, env(safe-area-inset-bottom, 0px));
    border-top:1px solid rgba(255,255,255,.08);
    background:rgba(8,10,14,.98);
    box-shadow:0 -12px 32px rgba(0,0,0,.28);
  }

  .library-detail-panel-mobile .library-detail-add{
    min-height:52px;
    border:0 !important;
    color:#fff !important;
    background:linear-gradient(90deg, #ff5a00, #ff7a12) !important;
    box-shadow:0 16px 30px rgba(255,106,0,.24), 0 2px 0 rgba(255,255,255,.08) inset !important;
    -webkit-appearance:none;
    appearance:none;
  }

  body.library-detail-sheet-open .mobile-bottom-nav{
    z-index:90;
  }

  .mobile-app-body .mobile-library-in-games.is-detail-open .library-catalog{
    pointer-events:none;
  }

  .mobile-app-body .mobile-library-in-games.is-detail-open .library-detail-panel:not(.library-detail-panel-mobile){
    position:fixed;
    inset:0;
    z-index:90;
    width:100%;
    height:100dvh;
    max-height:100dvh;
    border-radius:0;
    border:0;
  }

  .mobile-app-body .dashboard-board{
    height:auto;
    max-height:none;
    min-height:0;
    overflow:visible;
  }

  .mobile-app-body .dashboard-board .quiz-list,
  .mobile-app-body .dashboard-board .library-catalog,
  .mobile-app-body .dashboard-board .billing-panel-scroll{
    overflow:visible;
    flex:none;
    min-height:0;
  }

  .mobile-app-body .library-browser-body{
    flex-direction:column;
  }

  .mobile-app-body .library-detail-panel{
    width:100%;
    flex-basis:auto;
  }

  .mobile-app-body .library-toolbar-controls{
    gap:6px;
  }

  .mobile-app-body .library-view-toggle{
    margin-left:0;
  }

  .mobile-app-body .tariff-grid-compact{
    grid-template-columns:1fr;
  }

  .mobile-app-body .settings-modal,
  .mobile-app-body .rules-modal{
    width:min(100%, 460px);
    max-height:calc(100dvh - 22px);
  }

  .legal-modal-backdrop{
    padding:12px 12px max(12px, env(safe-area-inset-bottom, 0px));
    align-items:stretch;
  }

  .legal-modal{
    width:100%;
    max-height:none;
    height:calc(100dvh - 24px - env(safe-area-inset-bottom, 0px));
    display:flex;
    flex-direction:column;
    padding:14px 12px 12px;
  }

  .legal-modal-scroll{
    flex:1 1 auto;
    min-height:0;
    max-height:none;
    padding:0 4px 12px 0;
  }
}

@media (min-width: 641px){
  .mobile-bottom-nav,
  .mobile-help-panel,
  .mobile-profile-panel,
  .mobile-admin-panel{
    display:none;
  }
}

@media (orientation: portrait) and (min-width: 641px) and (max-width: 1180px){
  .mobile-app-body{
    padding-bottom:calc(82px + env(safe-area-inset-bottom, 0px));
  }

  .mobile-app-body .dashboard-topbar{
    display:none !important;
  }

  .mobile-app-body .dashboard-shell{
    display:block;
    min-height:100dvh;
    min-height:100vh;
  }

  .mobile-app-body .dashboard-workspace{
    width:100%;
    max-width:720px;
    margin:0 auto;
    padding:12px 12px calc(96px + env(safe-area-inset-bottom, 0px));
  }

  .mobile-app-body .mobile-view{
    display:none;
  }

  .mobile-app-body .mobile-view.is-active{
    display:block;
  }

  .mobile-bottom-nav{
    position:fixed;
    left:12px;
    right:12px;
    bottom:max(10px, env(safe-area-inset-bottom, 0px));
    z-index:80;
    display:grid;
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:4px;
    max-width:620px;
    margin:0 auto;
    padding:6px;
    border:1px solid rgba(255,140,60,.22);
    border-radius:18px;
    background:rgba(11,13,18,.86);
    box-shadow:0 18px 50px rgba(0,0,0,.40);
    backdrop-filter:blur(12px);
  }

  .mobile-bottom-nav.mobile-bottom-nav-admin{
    grid-template-columns:repeat(5, minmax(0, 1fr));
    max-width:720px;
    left:10px;
    right:10px;
  }

  .mobile-nav-item{
    min-height:52px;
    display:grid;
    place-items:center;
    gap:2px;
    border:0;
    border-radius:13px;
    color:rgba(233,236,241,.62);
    background:transparent;
    text-decoration:none;
    cursor:pointer;
  }

  .mobile-nav-item span{
    font-size:18px;
    line-height:1;
  }

  .mobile-nav-item b{
    font-size:10px;
    line-height:1;
  }

  .mobile-nav-item.is-active{
    color:#ff9b3d;
    background:rgba(255,90,0,.12);
  }
}

@media (orientation: landscape) and (min-width: 641px) and (max-width: 1400px) and (max-height: 1100px){
  .mobile-app-body{
    padding-right:calc(86px + env(safe-area-inset-right, 0px));
    padding-bottom:0;
  }

  .mobile-app-body .dashboard-topbar{
    display:none !important;
  }

  .mobile-app-body .dashboard-shell{
    display:block;
    min-height:100dvh;
    min-height:100vh;
  }

  .mobile-app-body .dashboard-workspace{
    width:100%;
    max-width:none;
    min-height:100dvh;
    min-height:100vh;
    margin:0;
    padding:10px 10px 10px max(10px, env(safe-area-inset-left, 0px));
  }

  .mobile-app-body .dashboard-board{
    min-height:calc(100dvh - 20px);
    min-height:calc(100vh - 20px);
  }

  .mobile-app-body .mobile-view{
    display:none;
  }

  .mobile-app-body .mobile-view.is-active{
    display:block;
  }

  .mobile-bottom-nav{
    position:fixed;
    top:50%;
    right:max(10px, env(safe-area-inset-right, 0px));
    bottom:auto;
    left:auto;
    z-index:80;
    display:grid;
    width:68px;
    max-width:none;
    grid-template-columns:1fr;
    grid-auto-rows:minmax(58px, 100px);
    align-content:center;
    gap:6px;
    margin:0;
    padding:6px;
    transform:translateY(-50%);
    border:1px solid rgba(255,140,60,.22);
    border-radius:18px;
    background:rgba(11,13,18,.86);
    box-shadow:0 18px 50px rgba(0,0,0,.40);
    backdrop-filter:blur(12px);
  }

  .mobile-bottom-nav.mobile-bottom-nav-admin{
    left:auto;
    right:max(10px, env(safe-area-inset-right, 0px));
    width:72px;
    grid-template-columns:1fr;
    max-width:none;
  }

  .mobile-bottom-nav.mobile-bottom-nav-admin .mobile-nav-item{
    min-width:0;
    padding:0 2px;
  }

  .mobile-bottom-nav.mobile-bottom-nav-admin .mobile-nav-item b,
  .mobile-nav-item b{
    max-width:100%;
    font-size:10px;
    line-height:1.1;
    white-space:normal;
    overflow:hidden;
    text-overflow:ellipsis;
  }

  .mobile-nav-item{
    min-height:0;
    display:grid;
    place-items:center;
    gap:2px;
    padding:6px 2px;
    border:0;
    border-radius:12px;
    color:rgba(233,236,241,.62);
    background:transparent;
    text-decoration:none;
    cursor:pointer;
  }

  .mobile-nav-item span{
    font-size:18px;
    line-height:1;
  }

  .mobile-nav-item.is-active{
    color:#ff9b3d;
    background:rgba(255,90,0,.12);
  }
}

/* Dashboard showcase for the game Zagovor. */
.dashboard-nav-item.dashboard-nav-conspiracy{
  overflow:hidden;
  border-radius:14px;
  justify-content:flex-start;
  gap:10px;
  padding-left:8px;
  padding-right:18px;
  background:
    linear-gradient(90deg,rgba(8,6,4,.2),rgba(8,6,4,.5) 55%,rgba(8,6,4,.78)),
    url("media/conspiracy-dashboard.png") center center/cover no-repeat;
}
.dashboard-nav-item.dashboard-nav-conspiracy:hover,
.dashboard-nav-item.dashboard-nav-conspiracy.is-active{
  border-color:#d59643;
  color:#fff0d0;
  background:
    linear-gradient(90deg,rgba(8,6,4,.08),rgba(8,6,4,.4) 55%,rgba(8,6,4,.66)),
    url("media/conspiracy-dashboard.png") center center/cover no-repeat;
  box-shadow:inset 0 0 0 1px #17100b,inset 0 0 18px rgba(255,145,37,.16),0 0 18px rgba(221,126,32,.22);
}
.dashboard-nav-item.dashboard-nav-conspiracy .dashboard-nav-conspiracy-label{
  position:relative;
  z-index:1;
  min-width:0;
  transform:none;
  text-shadow:0 2px 5px #000,0 0 12px #000;
}
.conspiracy-game-logo{
  background-image:url("../conspiracy/assets/conspiracy-logo.png");
  background-repeat:no-repeat;
  background-position:center 47%;
  background-size:132% auto;
  border-radius:50%;
}
.dashboard-nav-conspiracy-logo{
  flex:0 0 50px;
  width:50px;
  height:50px;
  box-shadow:0 0 12px rgba(225,144,46,.2);
}
.mobile-nav-item.mobile-nav-conspiracy .conspiracy-game-logo{
  background-image:url("../conspiracy/assets/conspiracy-logo.png");
  background-position:center 47%;
  background-size:132% auto;
}
.conspiracy-showcase{
  width:100%;
  min-height:0;
  overflow:auto!important;
  gap:18px;
  padding:2px;
  color:#eadfce;
  scrollbar-gutter:stable;
}
.conspiracy-showcase-hero{
  position:relative;
  min-height:min(61vh,560px);
  overflow:hidden;
  display:flex;
  align-items:stretch;
  border:1px solid rgba(210,132,47,.72);
  border-radius:20px;
  background:
    linear-gradient(90deg,rgba(5,5,5,.97) 0%,rgba(7,6,5,.88) 36%,rgba(5,5,5,.18) 67%,rgba(5,5,5,.1) 100%),
    url("../conspiracy/assets/conspiracy-splash-v1.png") center/cover no-repeat;
  box-shadow:inset 0 0 0 1px rgba(255,193,102,.08),0 20px 44px rgba(0,0,0,.34);
}
.conspiracy-showcase-hero::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(255,255,255,.025),transparent 24%,rgba(0,0,0,.22));
}
.conspiracy-showcase-rules-trigger{
  position:absolute;
  z-index:2;
  top:20px;
  right:20px;
  display:flex;
  align-items:center;
  gap:9px;
  padding:11px 18px;
  border:1px solid rgba(210,132,47,.55);
  border-radius:999px;
  background:rgba(8,7,6,.62);
  backdrop-filter:blur(3px);
  color:#ead5aa;
  font:600 13px/1 Inter,system-ui,sans-serif;
  letter-spacing:.04em;
  cursor:pointer;
  transition:background .2s ease,border-color .2s ease,transform .2s ease;
}
.conspiracy-showcase-rules-trigger svg{
  width:18px;
  height:18px;
  fill:none;
  stroke:#e6b568;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.conspiracy-showcase-rules-trigger:hover{
  background:rgba(19,15,12,.82);
  border-color:rgba(242,119,24,.85);
  transform:translateY(-1px);
}
.conspiracy-showcase-copy{
  position:relative;
  z-index:1;
  width:min(51%,610px);
  min-width:460px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  padding:clamp(30px,4vw,62px);
}
.conspiracy-showcase-brand{
  display:flex;
  align-items:center;
  gap:24px;
  margin-bottom:14px;
}
.conspiracy-showcase-brand-text{
  display:flex;
  flex-direction:column;
  align-items:center;
  min-width:0;
}
.conspiracy-showcase-mark{
  width:102px;
  height:102px;
  flex:0 0 102px;
  box-shadow:0 0 20px rgba(219,132,39,.2);
}
.conspiracy-showcase-kicker{
  display:flex;
  align-items:center;
  gap:11px;
  margin:9px 0 0;
  color:#d18435;
  font:700 13px/1.2 Inter,system-ui,sans-serif;
  letter-spacing:.22em;
  text-transform:uppercase;
  white-space:nowrap;
}
.conspiracy-showcase-kicker::before,
.conspiracy-showcase-kicker::after{
  /*content:"";/**/
  width:42px;
  height:7px;
  flex:0 0 42px;
  background:
    linear-gradient(currentColor,currentColor) right center/33px 1px no-repeat,
    linear-gradient(45deg,transparent 39%,currentColor 40% 60%,transparent 61%) left center/7px 7px no-repeat;
  opacity:.9;
}
.conspiracy-showcase-kicker::after{
  transform:scaleX(-1);
}
.conspiracy-showcase h2{
  margin:0;
  color:#ead5aa;
  font:700 clamp(48px,6vw,86px)/.98 Georgia,"Times New Roman",serif;
  letter-spacing:.025em;
  text-shadow:0 3px 14px #000;
}
.conspiracy-showcase-lead{
  max-width:520px;
  margin:8px 0 24px;
  color:rgba(244,238,228,.9);
  font-size:clamp(15px,1.3vw,19px);
  line-height:1.55;
}
.conspiracy-showcase-facts{
  display:flex;
  flex-wrap:nowrap;
  gap:12px;
  width:max-content;
  max-width:100%;
  margin-bottom:28px;
}
.conspiracy-showcase-facts span{
  display:grid;
  grid-template-columns:32px auto;
  grid-template-rows:auto auto;
  column-gap:7px;
  min-width:94px;
}
.conspiracy-showcase-facts svg{
  grid-column:1;
  grid-row:1 / span 2;
  width:30px;
  height:30px;
  align-self:center;
  overflow:visible;
  fill:none;
  stroke:#f27718;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.conspiracy-showcase-facts b,
.conspiracy-showcase-facts small{grid-column:2}
.conspiracy-showcase-facts b{color:#e6b568;font-size:15px}
.conspiracy-showcase-facts small{color:rgba(235,228,216,.62);font-size:11px}
.conspiracy-showcase-launch{
  position:relative;
  isolation:isolate;
  min-width:min(100%,390px);
  min-height:74px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  overflow:hidden;
  border:0;
  border-radius:0;
  color:#ff9631;
  background:linear-gradient(180deg,#ffad43 0%,#e56f0c 48%,#ff9a2c 100%);
  clip-path:polygon(7% 0,93% 0,100% 50%,93% 100%,7% 100%,0 50%);
  filter:drop-shadow(0 0 10px rgba(255,120,0,.28));
  text-decoration:none;
  text-transform:uppercase;
  transition:transform .18s ease,filter .18s ease,color .18s ease;
}
.conspiracy-showcase-launch::before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:3px;
  background:
    linear-gradient(180deg,rgba(82,43,16,.96),rgba(18,12,8,.98)),
    repeating-linear-gradient(115deg,rgba(255,255,255,.025) 0 1px,transparent 1px 5px);
  clip-path:polygon(7% 0,93% 0,100% 50%,93% 100%,7% 100%,0 50%);
  box-shadow:inset 0 0 0 2px rgba(255,163,62,.38),inset 0 0 30px rgba(255,116,0,.13);
}
.conspiracy-showcase-launch span,
.conspiracy-showcase-launch strong{position:relative;z-index:1}
.conspiracy-showcase-launch span{font-size:31px;filter:drop-shadow(0 0 8px #ff7b21aa)}
.conspiracy-showcase-launch strong{font-size:clamp(18px,1.7vw,27px);letter-spacing:.07em}
.conspiracy-showcase-launch:hover{
  color:#ffd39b;
  transform:translateY(-2px);
  filter:drop-shadow(0 0 15px rgba(255,126,19,.48));
}
.conspiracy-showcase-about{padding:0 4px 4px}
.conspiracy-showcase-about h3{
  margin:0 0 14px;
  color:#cf914a;
  font:700 17px/1.2 Georgia,"Times New Roman",serif;
}
.conspiracy-showcase-about h3::before{content:"◆";margin-right:10px;color:#a96225;font-size:10px}
.conspiracy-showcase-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.conspiracy-showcase-steps article{
  min-height:138px;
  display:grid;
  grid-template-columns:46px minmax(0,1fr);
  grid-template-rows:auto 1fr;
  column-gap:14px;
  align-content:center;
  padding:20px;
  border:1px solid rgba(179,111,47,.46);
  border-radius:15px;
  background:linear-gradient(145deg,rgba(25,20,17,.92),rgba(10,11,14,.92));
}
.conspiracy-step-icon{
  grid-column:1;
  grid-row:1 / span 2;
  width:44px;
  height:44px;
  align-self:center;
  overflow:visible;
  fill:none;
  stroke:#ff720f;
  stroke-width:3;
  stroke-linecap:round;
  stroke-linejoin:round;
  filter:drop-shadow(0 0 5px rgba(255,105,0,.18));
}
.conspiracy-step-icon.conspiracy-step-gavel{
  fill:none;
  stroke:#ff720f;
  stroke-width:3.2;
}
.conspiracy-showcase-steps h4{margin:0 0 8px;color:#ead7b8;font:700 16px/1.2 Georgia,"Times New Roman",serif}
.conspiracy-showcase-steps p{margin:0;color:rgba(232,229,224,.68);font-size:13px;line-height:1.55}
@media (max-width:1200px) and (min-width:761px){
  .conspiracy-showcase-copy{width:66%;min-width:560px;padding:30px}
  .conspiracy-showcase-brand{gap:18px}
  .conspiracy-showcase-mark{width:88px;height:88px;flex-basis:88px}
  .conspiracy-showcase-kicker::before,
  .conspiracy-showcase-kicker::after{width:30px;flex-basis:30px;background-size:22px 1px,7px 7px}
  .conspiracy-showcase-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Measure final geometry without restarting entrance/reveal animations. */
.game-stage.is-measuring-layout .game-answer,
.game-stage.is-measuring-layout .game-scene-title,
.game-stage.is-measuring-layout .game-scene-media,
.game-stage.is-measuring-layout .game-media,
.game-stage.is-measuring-layout .game-free-answer{
  transform:none !important;
}

/* Slow TV browsers: static decorative layers, same controls and modal layout. */
.screen-light-mode .game-theme-geometry::after,
.screen-light-mode .game-theme-neon::after{
  animation:none;
}
.screen-light-mode .dashboard-sidebar{
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
}
@media (min-width:761px){
  .dashboard-sidebar{
    overflow:hidden;
  }
  .dashboard-sidebar > .dashboard-brand,
  .dashboard-sidebar > .dashboard-nav,
  .dashboard-sidebar > .dashboard-sidebar-bottom{
    flex-shrink:0;
  }
}

/* Matrix: muted amber rain, with stable text geometry. */
.game-theme-matrix{background:#151413;isolation:isolate;position:relative;overflow:hidden}
.game-theme-matrix > canvas.quiz-matrix-rain{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
.quiz-matrix-text{position:relative}
.quiz-matrix-text > .quiz-matrix-glyphs{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:3}
.game-question-animation-matrix.is-question-entering .game-scene-title,
.game-answer-animation-matrix.is-question-entering .game-answer{animation:none!important}

.game-answer > span.quiz-matrix-text{display:block}

.question-preview.is-preview-entering.preview-question-animation-matrix .preview-question-input,
.question-preview.is-preview-entering.preview-answer-animation-matrix .preview-answer{animation:none!important}

/* Matrix owns text visibility; stagger's CSS fade must not hide its canvas. */
.game-stage.is-question-entering.game-answer-animation-matrix.game-answer-sequence-stagger .game-answer:not(.is-hidden-answer),
.question-preview.is-preview-entering.preview-answer-animation-matrix.preview-answer-sequence-stagger .preview-answer{opacity:1}

.question-preview.game-theme-fire{
  isolation:isolate;
  background:
    radial-gradient(78% 111% at 70% 20%,rgba(255,81,0,.10),transparent 60%),
    radial-gradient(70% 125% at 20% 80%,rgba(255,83,31,.08),transparent 60%),
    linear-gradient(180deg,var(--bg1),var(--bg0));
}
.question-preview > canvas.preview-fire-particles{
  position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;
}

.game-theme-stars{background:#090d16;isolation:isolate;position:relative;overflow:hidden}

.game-theme-aurora{background:#090d16;isolation:isolate;position:relative;overflow:hidden}

.game-theme-sparks{background:#090d16;isolation:isolate;position:relative;overflow:hidden}

.game-theme-blueprint{background:#090d16;isolation:isolate;position:relative;overflow:hidden}

.game-theme-spotlight{background:#090d16;isolation:isolate;position:relative;overflow:hidden}
.quiz-atmosphere-canvas{position:absolute!important;inset:0;width:100%;height:100%;z-index:0!important;pointer-events:none}
.game-stage.is-question-entering.game-question-animation-stars .game-scene-title,
.question-preview.is-preview-entering.preview-question-animation-stars .preview-question-input,
.game-stage.is-question-entering.game-answer-animation-stars .game-answer:not(.is-hidden-answer),
.question-preview.is-preview-entering.preview-answer-animation-stars .preview-answer{animation:none!important;opacity:1!important}
.game-stage.is-question-entering.game-question-animation-aurora .game-scene-title,
.question-preview.is-preview-entering.preview-question-animation-aurora .preview-question-input,
.game-stage.is-question-entering.game-answer-animation-aurora .game-answer:not(.is-hidden-answer),
.question-preview.is-preview-entering.preview-answer-animation-aurora .preview-answer{animation:none!important;opacity:1!important}
.game-stage.is-question-entering.game-question-animation-sparks .game-scene-title,
.question-preview.is-preview-entering.preview-question-animation-sparks .preview-question-input,
.game-stage.is-question-entering.game-answer-animation-sparks .game-answer:not(.is-hidden-answer),
.question-preview.is-preview-entering.preview-answer-animation-sparks .preview-answer{animation:none!important;opacity:1!important}
.game-stage.is-question-entering.game-question-animation-blueprint .game-scene-title,
.question-preview.is-preview-entering.preview-question-animation-blueprint .preview-question-input,
.game-stage.is-question-entering.game-answer-animation-blueprint .game-answer:not(.is-hidden-answer),
.question-preview.is-preview-entering.preview-answer-animation-blueprint .preview-answer{animation:none!important;opacity:1!important}
.game-stage.is-question-entering.game-question-animation-spotlight .game-scene-title,
.question-preview.is-preview-entering.preview-question-animation-spotlight .preview-question-input,
.game-stage.is-question-entering.game-answer-animation-spotlight .game-answer:not(.is-hidden-answer),
.question-preview.is-preview-entering.preview-answer-animation-spotlight .preview-answer{animation:none!important;opacity:1!important}
.game-stage.is-question-entering.game-question-animation-typewriter .game-scene-title,
.question-preview.is-preview-entering.preview-question-animation-typewriter .preview-question-input,
.game-stage.is-question-entering.game-answer-animation-typewriter .game-answer:not(.is-hidden-answer),
.question-preview.is-preview-entering.preview-answer-animation-typewriter .preview-answer{animation:none!important;opacity:1!important}

.blitz-clock{position:fixed;right:16px;top:12px;z-index:100;padding:6px 12px;border-radius:10px;background:#111c;color:#ffac62;font-size:16px;pointer-events:none}.blitz-result{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;text-align:center;font-size:clamp(20px,3vw,46px)}[data-blitz-controls] .btn-ghost{margin:4px}

.blitz-pause{position:fixed;inset:0;z-index:90;background:#090d16e8;display:grid;place-items:center;font-size:clamp(30px,5vw,72px)}

/* Uploaded quiz backgrounds preserve proportions and fill the available area. */
.game-stage.game-theme-service,.question-preview.game-theme-service,.game-stage.game-theme-custom,.question-preview.game-theme-custom{background-color:#0b0d12;background-size:cover;background-position:center;background-repeat:no-repeat}
.game-theme-custom::before,.game-theme-custom::after{display:none!important}
#customBackgroundControls:not([hidden]){display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:6px}
#customBackgroundControls small{font-size:11px;color:var(--muted);overflow-wrap:anywhere;max-width:100%}

.game-theme-service::before,.game-theme-service::after{display:none!important}
#serviceBackgroundControls{margin:8px 0 12px}
.service-background-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;max-height:230px;overflow:auto;padding:3px}
.service-background-option{position:relative;display:flex;flex-direction:column;min-width:0;cursor:pointer;border:1px solid rgba(255,255,255,.15);border-radius:9px;overflow:hidden;background:#15171c}
.service-background-option input{position:absolute;opacity:0;width:1px;height:1px}
.service-background-option img{width:100%;aspect-ratio:16/9;object-fit:cover}
.service-background-option span{font-size:11px;padding:5px 7px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.service-background-option:has(input:checked){outline:2px solid var(--orange)}
.service-background-option:focus-within{outline:2px solid var(--orange)}

/* Reserve the upload slot so selecting a custom theme does not shift the editor. */
.quiz-meta-row.quiz-meta-background-row{grid-template-columns:minmax(0,1fr) 140px 190px minmax(170px,220px)}
.quiz-meta-background-row > *{min-width:0}
.quiz-meta-background-row #customBackgroundControls{display:flex;flex-direction:column;align-items:stretch;gap:6px;margin:0;min-width:0}
.quiz-meta-background-row #customBackgroundControls[hidden]{visibility:hidden;pointer-events:none}
.quiz-meta-background-row #customBackgroundControls small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:18px}
.quiz-meta-background-row #chooseQuizBackground{height:34px;min-height:34px;padding:0 10px;white-space:nowrap}
@media(max-width:800px){.quiz-meta-row.quiz-meta-background-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
@media(max-width:480px){.quiz-meta-row.quiz-meta-background-row{grid-template-columns:minmax(0,1fr)}.quiz-meta-background-row #customBackgroundControls[hidden]{display:none}}

/* Readable glass panels only for static image themes. */
:is(.game-theme-custom,.game-theme-service) :is(.game-scene-title,.preview-question-input.is-scene-text){
  background:rgba(8,11,17,.68);border-radius:12px;
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
}
:is(.game-theme-custom,.game-theme-service) :is(.game-answer,.preview-answer){
  background:rgba(12,16,23,.76);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
}
:is(.game-theme-custom,.game-theme-service) .game-answer.is-selected{background:rgba(108,49,8,.86)}
:is(.game-theme-custom,.game-theme-service) :is(.game-answer,.preview-answer).is-correct{background:rgba(8,73,48,.86)}
:is(.game-theme-custom,.game-theme-service) .game-answer.is-wrong{background:rgba(102,25,31,.86)}

/* Phone tariff document: readable full-width cards, including the legal modal. */
@media (max-width: 640px){
  .tariff-grid{
    grid-template-columns:minmax(0, 1fr);
    align-items:start;
  }
  .tariff-grid > article{
    min-width:0;
  }
  .tariff-card ul{
    line-height:1.45;
  }
}

/* Individual discount: amount and lifetime stay together. */
.admin-discount-controls{display:flex;align-items:flex-end;gap:8px;min-width:0;}
.admin-discount-controls .admin-field-discount{width:64px;flex:0 0 64px;}
.admin-discount-once{gap:5px;min-height:30px;font-size:10px;line-height:1.2;color:var(--muted);cursor:pointer;}
.admin-discount-once input[type="checkbox"]{width:18px;height:18px;flex:0 0 18px;margin:0;}
.payment-discount-note{display:block;margin-top:3px;color:#ffc58a;font-size:11px;line-height:1.35;white-space:normal;}
@media(max-width:1100px){
  .admin-row.admin-row-discount{grid-template-columns:repeat(2,minmax(0,1fr));}
  .admin-row-discount .admin-user-cell{grid-column:1/-1;}
  .admin-row-discount .admin-discount-controls{flex-wrap:wrap;gap:4px 8px;}
}

/* Blitz answer duration: explicit buttons and immediate-save feedback. */
.settings-blitz{cursor:default;}
.settings-blitz-copy{min-width:0;flex:1 1 auto;padding-left:43px;}
.settings-blitz-copy label{cursor:text;}
.blitz-seconds-box{flex:0 0 auto;margin-left:auto;}
.blitz-seconds-controls{display:flex;align-items:center;justify-content:flex-end;gap:6px;}
.settings-blitz .blitz-seconds-input{width:60px;height:36px;padding:6px;border:1px solid rgba(255,255,255,.16);border-radius:9px;background:rgba(0,0,0,.22);color:var(--text);text-align:center;appearance:textfield;-moz-appearance:textfield;}
.blitz-seconds-input::-webkit-inner-spin-button,.blitz-seconds-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0;}
.blitz-seconds-controls .blitz-step-button{width:36px;height:36px;min-height:36px;padding:0;font-size:22px;line-height:1;touch-action:manipulation;}
.blitz-step-button:disabled{opacity:.35;cursor:default;}
.blitz-step-button:focus-visible,.blitz-seconds-input:focus-visible{outline:2px solid var(--orange,#ff7a18);outline-offset:2px;}
.settings-blitz .blitz-save-status{display:block;min-height:14px;margin-top:3px;text-align:right;font-size:10px;line-height:1.3;max-width:230px;}
.settings-blitz .blitz-save-status.is-error{color:#ffb0b0;}
@media(max-width:520px){.settings-blitz{flex-wrap:wrap;gap:8px;}.settings-blitz-copy{flex-basis:100%;}}
