:root {
  --ink:#1b2540; --muted:#72809a; --line:#e5eaf5; --bg:#f5f7fc;
  --primary:#4b5cf4; --primary-dark:#3646d9; --light:#eff1ff;
  --ai:#442c9d; --ai-ink:#f5f2ff; --shadow:0 20px 55px rgba(30,43,96,.055);
  font-family:Montserrat,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--ink); background:var(--bg);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;min-height:100vh;line-height:1.56;background:radial-gradient(circle at 7% 0%,#edf0ff 0,transparent 32%),radial-gradient(circle at 95% 32%,#e9f4ff 0,transparent 28%),var(--bg)}
[hidden]{display:none!important}
.shell{max-width:1220px;margin:auto;padding:0 32px}
.site-header{background:rgba(255,255,255,.86);border-bottom:1px solid rgba(229,234,245,.86);backdrop-filter:blur(18px);position:sticky;top:0;z-index:10}
.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:78px;gap:24px}
.brand{display:inline-flex;align-items:center;gap:10px;color:var(--ink);font-size:1.35rem;font-weight:850;letter-spacing:-.065em;text-decoration:none;white-space:nowrap}
.brand-mark{display:inline-grid;place-items:center;width:35px;height:35px;background:linear-gradient(140deg,#596bff,#794de4);border-radius:11px;color:#fff;font-size:1.12rem;box-shadow:0 7px 17px rgba(75,92,244,.25)}
.brand-accent{color:var(--primary)}
nav{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
nav a,nav button{display:inline-flex;align-items:center;color:#45516d;background:transparent;border:0;padding:9px 13px;border-radius:10px;font:inherit;font-size:.92rem;font-weight:650;text-decoration:none;cursor:pointer;transition:color .2s,background .2s}
nav a:hover,nav button:hover{color:var(--primary);background:var(--light)}
main{padding-top:42px!important;padding-bottom:92px!important}
main>h1{font-size:clamp(1.8rem,3.5vw,2.9rem);line-height:1.16;margin:0 0 26px;letter-spacing:-.055em;font-weight:820}
h2{font-size:1.32rem;line-height:1.27;letter-spacing:-.035em}
h3{line-height:1.3}
a{color:var(--primary)}
a:hover{color:var(--primary-dark)}
.muted{color:var(--muted)}
.card{display:block;background:rgba(255,255,255,.97);border:1px solid var(--line);border-radius:22px;padding:28px;margin-bottom:20px;box-shadow:var(--shadow);animation:rise-in .48s both}
a.card{text-decoration:none;color:var(--ink);transition:transform .25s,box-shadow .25s}
a.card:hover{transform:translateY(-4px);box-shadow:0 23px 48px rgba(30,43,96,.11)}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}
.cards .card{margin:0}
.narrow{max-width:680px}
.eyebrow{color:var(--primary);font-weight:800;text-transform:uppercase;letter-spacing:.14em;font-size:.7rem}
.pill{display:inline-flex;align-items:center;gap:6px;background:var(--light);color:var(--primary);border-radius:999px;padding:6px 11px;font-size:.74rem;font-weight:800}
.pill-success{background:#e9f8ef;color:#19754a}
.button,button:not(.quiet):not(.suggestion):not(.nav-logout):not(.builder-type):not(.builder-option-remove):not(.builder-add-option):not(.builder-cancel){display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:11px 19px;background:var(--primary);border:1px solid var(--primary);color:#fff!important;border-radius:11px;font:inherit;font-weight:750;text-decoration:none;cursor:pointer;box-shadow:0 7px 18px rgba(75,92,244,.16);transition:transform .23s,box-shadow .23s,background .23s}
.button:hover,button:not(.quiet):not(.suggestion):not(.nav-logout):not(.builder-type):not(.builder-option-remove):not(.builder-add-option):not(.builder-cancel):hover{background:var(--primary-dark);transform:translateY(-2px);box-shadow:0 12px 24px rgba(75,92,244,.24)}
button:disabled{opacity:.6!important;cursor:wait!important;transform:none!important}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #a6aefe;outline-offset:2px}
.quiet{border:0;background:transparent;color:#bc4860;cursor:pointer;padding:6px 0;font:inherit;font-weight:700}
.toolbar,.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}
.toolbar{margin:0 0 22px}
.section-heading{margin-bottom:22px}
.section-heading h2{margin:4px 0 0;font-size:1.5rem}
.text-link{font-weight:750;text-decoration:none;white-space:nowrap}
.grid-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.form{display:grid;gap:19px}
.form label,.ai-panel label{display:grid;gap:8px;color:#33415e;font-size:.91rem;font-weight:720}
.form input:not([type=checkbox]):not([type=radio]),.form select,.form textarea,.ai-panel input,.ai-panel textarea,.task-question input[type=text],.task-question textarea{width:100%;min-width:0;border:1px solid #d6dded;border-radius:12px;padding:13px 15px;color:var(--ink);font:inherit;background:#fff;transition:border-color .2s,box-shadow .2s}
.form input:focus,.form textarea:focus,.form select:focus,.ai-panel input:focus,.ai-panel textarea:focus,.task-question textarea:focus{outline:none;border-color:#6e7cf9;box-shadow:0 0 0 4px rgba(75,92,244,.12)}
.form textarea,.ai-panel textarea{resize:vertical}
.form .check{display:flex;flex-direction:row;align-items:center;gap:10px;font-weight:600;color:#53617b}
.form .check input{width:18px;height:18px;accent-color:var(--primary);flex:none}
.optional{font-weight:500;color:var(--muted);font-size:.78rem}
.form label small{display:block;color:var(--muted);font-size:.76rem;font-weight:500}
.create-intro{max-width:660px;margin-bottom:22px}
.create-intro p{color:var(--muted);margin:8px 0 0}
.create-card{padding:34px}
.create-card button{justify-self:start}
.hero{position:relative;isolation:isolate;display:grid;grid-template-columns:1fr minmax(280px,.85fr);align-items:center;gap:26px;overflow:hidden;border-radius:32px;padding:clamp(36px,5vw,74px);margin:14px 0 28px;background:linear-gradient(115deg,#192348,#27357a 65%,#6351c5);color:#fff;box-shadow:0 30px 70px rgba(30,43,96,.15)}
.hero::before,.hero::after{content:"";position:absolute;width:390px;height:390px;border-radius:50%;z-index:-1;filter:blur(2px)}
.hero::before{background:radial-gradient(circle,#6979f477,transparent 70%);top:-190px;left:-90px;animation:float-orb 10s ease-in-out infinite}
.hero::after{background:radial-gradient(circle,#a988f066,transparent 70%);right:-115px;bottom:-250px;animation:float-orb 12s ease-in-out infinite reverse}
.hero-content{max-width:650px}
.hero-kicker{color:#cbcaff;text-transform:uppercase;letter-spacing:.16em;font-size:.7rem;font-weight:800}
.hero h2{font-size:clamp(2.65rem,5vw,4.8rem);max-width:690px;line-height:1.07;margin:18px 0 22px;letter-spacing:-.07em}
.hero h2 em{font-style:normal;color:#b9c8ff}
.hero p{max-width:540px;margin:0 0 28px;color:#dce2fb;font-size:1.05rem}
.hero .hero-button{background:#fff;border-color:#fff;color:#263777!important;box-shadow:0 12px 32px rgba(8,14,53,.22)}
.hero .hero-button:hover{background:#edf0ff;color:#263777!important}
.hero-note{display:block;margin-top:15px;color:#acb9e9;font-size:.77rem}
.hero-art{position:relative;display:grid;place-items:center;min-height:330px}
.hero-art-card{width:min(100%,390px);background:#fff;color:var(--ink);padding:28px 25px;border-radius:20px;box-shadow:0 36px 70px #101a5980;transform:rotate(5deg);animation:card-float 7s ease-in-out infinite}
.art-step{color:var(--primary);font-size:.68rem;font-weight:850;letter-spacing:.15em}
.art-heading{font-size:1.32rem;line-height:1.28;font-weight:800;letter-spacing:-.03em;margin:14px 0 17px}
.art-option{padding:10px 13px;margin:9px 0;border:1px solid #e4e7f5;border-radius:10px;color:#5e6981;font-size:.82rem}
.art-selected{color:var(--primary);border-color:#b8c0ff;background:#f1f2ff;font-weight:700}
.art-spark{position:absolute;right:4%;top:8%;padding:13px 17px;border-radius:15px;background:#dab9ff;color:#462b84;font-weight:850;box-shadow:0 12px 30px #17164955;transform:rotate(12deg);animation:card-float 6s ease-in-out infinite reverse}
.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.feature{padding:26px 28px}
.feature-icon{display:inline-grid;place-items:center;width:45px;height:45px;border-radius:13px;background:#edf0ff;color:var(--primary);font-size:.82rem;font-weight:850}
.feature h3{font-size:1.12rem;margin:20px 0 8px}
.feature p{color:var(--muted);font-size:.91rem;margin:0}
.dashboard-hero{position:relative;display:flex;align-items:center;justify-content:space-between;gap:24px;overflow:hidden;padding:38px clamp(24px,5vw,54px);margin:0 0 34px;border-radius:24px;background:linear-gradient(113deg,#202c64,#4348a1 72%,#6154c0);color:#fff;box-shadow:0 20px 44px rgba(52,62,139,.16);animation:rise-in .5s both}
.dashboard-hero .eyebrow{color:#c8ceff}
.dashboard-hero h2{font-size:clamp(1.8rem,3vw,2.7rem);letter-spacing:-.055em;margin:10px 0 6px}
.dashboard-hero p{color:#d8defb;margin:0 0 22px}
.dashboard-create{background:#fff;border-color:#fff;color:#354289!important}
.dashboard-create:hover{background:#f3f3ff;color:#354289!important}
.dashboard-stat{display:grid;justify-items:center;z-index:1;min-width:125px;padding:17px 22px;border:1px solid #ffffff45;border-radius:18px;background:#ffffff18;backdrop-filter:blur(8px)}
.dashboard-stat strong{font-size:2.5rem;line-height:1}
.dashboard-stat span{font-weight:700}
.dashboard-stat small{color:#cdd5ff}
.dashboard-decor{color:#c9cbff;font-size:6rem;opacity:.5}
.dashboard-heading{margin-bottom:18px}
.assignment-card{padding:25px;transition:transform .25s,box-shadow .25s}
.assignment-card:hover{transform:translateY(-4px);box-shadow:0 25px 50px rgba(30,43,96,.1)}
.assignment-card-top{display:flex;justify-content:space-between;align-items:center}
.assignment-id{color:#9ba6ba;font-size:.75rem;font-weight:700}
.assignment-card h3{font-size:1.22rem;margin:20px 0 8px}
.assignment-card p{color:var(--muted);font-size:.89rem;margin:0 0 22px}
.assignment-links{border-top:1px solid var(--line);padding-top:15px;display:flex;justify-content:space-between;gap:12px}
.assignment-links a{text-decoration:none;font-size:.86rem;font-weight:750}
.builder{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(315px,.85fr);align-items:start;gap:22px}
.builder-toolbar{margin-bottom:16px}
.builder-toolbar .muted{margin:4px 0 0}
.builder-main{min-width:0;padding:30px}
.builder-side{position:sticky;top:100px;min-width:0;padding:13px}
.builder-side .ai-panel{padding:22px}
.count-badge{display:inline-grid;place-items:center;min-width:29px;height:29px;border-radius:9px;margin-left:6px;background:#edf0ff;color:var(--primary);font-size:.85rem;vertical-align:middle}
.builder-description{margin:-8px 0 25px;color:#606d87}
.empty-questions{display:grid;justify-items:center;text-align:center;padding:35px 20px;margin:0 0 24px;border:1px dashed #cbd4f0;border-radius:17px;background:#f9faff}
.empty-questions .empty-icon{display:grid;place-items:center;width:50px;height:50px;border-radius:16px;background:#ebedff;color:var(--primary);font-size:1.6rem}
.empty-questions h3{margin:14px 0 3px}
.empty-questions p{color:var(--muted);margin:0;max-width:360px;font-size:.9rem}
.question-card{border:1px solid var(--line);border-radius:17px;padding:23px;margin:16px 0;background:#fff;box-shadow:0 9px 22px rgba(30,43,96,.035);animation:rise-in .45s both}
.question-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:.86rem}
.question-number{color:#a8b2c6;font-size:.75rem;font-weight:850;letter-spacing:.08em}
.question-card h3{font-size:1.08rem;margin:15px 0 12px}
.question-card .question-option{padding:8px 11px;margin:6px 0;border-radius:8px;background:#f8f9fd;color:#52607a;font-size:.9rem}
.question-card .question-option.is-correct{background:#eef9f2;color:#147d4e}
.question-form{border-top:1px solid var(--line);padding-top:29px;margin-top:27px}
.question-form>.section-heading{margin-bottom:0}
.question-form button{justify-self:start}
.ai-panel{border-radius:16px;background:linear-gradient(145deg,#332777,#5140a8 64%,#5d4ec0);color:#fff;box-shadow:0 15px 34px rgba(59,41,151,.18)}
.ai-heading{display:flex;align-items:center;gap:10px}
.ai-symbol{display:grid;place-items:center;flex:none;width:37px;height:37px;border-radius:12px;background:#ffffff28;box-shadow:inset 0 0 0 1px #ffffff39;font-size:1.2rem;animation:ai-pulse 3.5s ease-in-out infinite}
.ai-label{color:#e1d9ff;font-size:.72rem;font-weight:800;letter-spacing:.04em}
.ai-panel h2{font-size:1.64rem;line-height:1.15;margin:20px 0 10px}
.ai-panel p{color:#ddd8fa;font-size:.9rem;margin:0 0 21px}
.ai-panel form{display:grid;gap:17px}
.ai-panel label{color:#fff;font-size:.86rem}
.ai-panel .optional{color:#d3c9ff}
.ai-panel textarea,.ai-panel input{border-color:#ffffff7a;background:#fff}
.ai-panel .ai-submit{background:#fff!important;border-color:#fff!important;color:#352875!important;justify-content:space-between;width:100%;box-shadow:0 10px 24px #130b5a33}
.ai-panel .ai-submit:hover{background:#eeebff!important;color:#352875!important}
.ai-suggestions{display:flex;gap:7px;flex-wrap:wrap;margin-top:-9px}
.ai-panel .suggestion{border:1px solid #ffffff66;border-radius:999px;background:#ffffff1a;color:#fff;min-height:31px;padding:4px 10px;font:inherit;font-size:.76rem;font-weight:680;cursor:pointer;transition:background .2s}
.ai-panel .suggestion:hover{background:#ffffff39}
.ai-status{padding:12px 13px;margin-top:17px;border-radius:10px;background:#ffffff17;color:#e8e3ff;font-size:.83rem;overflow-wrap:anywhere}
.ai-status[data-state=error]{background:#fff1e8;color:#923e25}
.ai-status[data-state=success]{background:#eafbf1;color:#14663c}
.ai-status[data-state=pending]::before{content:"";display:inline-block;width:7px;height:7px;margin-right:8px;border-radius:50%;background:#e8b6ff;animation:ai-pulse 1.3s infinite}
.publish-panel{padding:19px 10px 11px}
.publish-panel span{font-weight:800}
.publish-panel p{color:var(--muted);font-size:.81rem;margin:4px 0 15px}
.publish-panel button{width:100%}
.progress-label{color:var(--muted);margin-bottom:20px}
.task-question{max-width:800px}
.task-question h2{font-size:1.2rem;margin:19px 0}
.answer-option{display:flex;gap:12px;align-items:center;padding:13px;border:1px solid var(--line);border-radius:12px;margin:9px 0;cursor:pointer;transition:background .2s,border-color .2s}
.answer-option:hover{border-color:#9ca8fc}
.answer-option:has(input:checked){border-color:var(--primary);background:var(--light)}
.answer-option input{width:20px;height:20px;accent-color:var(--primary)}
.save-state{display:block;color:var(--muted);margin-top:12px}
.submit-bar{max-width:800px;display:flex;justify-content:space-between;align-items:center;gap:15px}
.inline{display:flex;align-items:end;flex-wrap:wrap;gap:10px}
.inline label{flex:1 1 150px}
table{width:100%;border-collapse:collapse}
td,th{padding:13px 9px;border-bottom:1px solid var(--line);text-align:left}
th{color:#5b6884;font-size:.82rem}
#toast{position:fixed;z-index:20;bottom:22px;left:50%;transform:translate(-50%,20px);background:var(--ink);color:#fff;padding:12px 20px;border-radius:12px;box-shadow:0 15px 30px #1c225747;opacity:0;transition:opacity .2s,transform .2s;pointer-events:none;max-width:90vw}
#toast.show{opacity:1;transform:translate(-50%,0)}
.question-image{display:block;width:auto;max-width:100%;max-height:420px;object-fit:contain;border-radius:12px;margin:16px 0}
.image-form{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:13px 0}
.image-form label{display:grid;gap:6px;flex:1 1 190px}
.image-form input{width:100%}
.image-form button{white-space:nowrap}
.table-scroll{overflow-x:auto}
nav form{margin:0}
nav button.nav-logout{background:transparent!important;border:0!important;color:#45516d!important;padding:9px 13px!important;min-height:auto!important;font-weight:650!important;box-shadow:none!important;transform:none!important}
nav button.nav-logout:hover{color:var(--primary)!important;background:var(--light)!important}
@keyframes rise-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@keyframes card-float{50%{transform:rotate(3deg) translateY(-12px)}}
@keyframes float-orb{50%{transform:translate(24px,24px)}}
@keyframes ai-pulse{50%{transform:scale(1.17);opacity:.72}}
@media(max-width:980px){
  .builder{grid-template-columns:minmax(0,1fr) minmax(280px,.8fr)}
  .hero-art-card{transform:rotate(3deg)}
}
@media(max-width:780px){
  .shell{padding-left:18px;padding-right:18px}
  .header-inner{min-height:68px}
  nav{gap:1px}
  nav a,nav button{padding:7px 8px;font-size:.84rem}
  nav button.nav-logout{padding:7px 8px!important}
  main{padding-top:28px!important}
  .grid-two,.builder,.hero{grid-template-columns:1fr}
  .builder-side{position:static}
  .hero{padding:38px 26px;gap:14px}
  .hero-art{min-height:260px}
  .hero-art-card{max-width:360px}
  .feature-grid{grid-template-columns:1fr}
  .feature{margin:0}
  .dashboard-hero{align-items:flex-start}
  .dashboard-stat{min-width:100px}
  .toolbar,.submit-bar{align-items:stretch;flex-direction:column}
  .submit-bar button{width:100%}
  .card{padding:22px}
  .builder-side{padding:10px}
  .builder-main{padding:22px}
  .create-card{padding:25px}
  table{font-size:.85rem}
  td,th{padding:9px 5px}
}
@media(max-width:480px){
  .brand{font-size:1.12rem;gap:7px}
  .brand-mark{width:29px;height:29px;border-radius:9px}
  nav a,nav button{font-size:.75rem;padding:6px 5px}
  nav button.nav-logout{padding:6px 5px!important}
  .shell{padding-left:14px;padding-right:14px}
  main>h1{font-size:1.85rem}
  .hero{border-radius:22px}
  .hero h2{font-size:2.55rem}
  .hero-art{min-height:220px}
  .hero-art-card{padding:18px;font-size:.85rem}
  .art-spark{font-size:.85rem}
  .dashboard-hero{padding:26px}
  .dashboard-stat{display:none}
  .section-heading{align-items:flex-start}
  .builder-toolbar{flex-direction:row;align-items:center}
  .question-card{padding:17px}
  .ai-panel h2{font-size:1.4rem}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}
.ai-diagnostics-link{display:inline-block;margin-top:12px;color:#e1d9ff;font-size:.82rem;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.ai-diagnostics-link:hover{color:#fff}
.diagnostic-command{overflow-x:auto;border-radius:10px;background:#eef0fb;padding:16px;color:#233064;white-space:pre-wrap;overflow-wrap:anywhere}

/* Редактор 2.5 */
:root{--ink:#202945;--muted:#65738b;--line:#dce5f3;--bg:#f5f7fd;--primary:#5348dd;--primary-dark:#3e34b7;--light:#eeedff;--shadow:0 22px 55px rgba(33,45,97,.075)}
body{background:radial-gradient(circle at 12% 5%,#eae8ff 0,transparent 30%),radial-gradient(circle at 94% 27%,#def6f6 0,transparent 26%),#f5f7fd}
.site-header{background:rgba(255,255,255,.88);box-shadow:0 8px 35px rgba(36,43,80,.03)}
.brand-mark{background:linear-gradient(135deg,#5147e2,#9480fb);box-shadow:0 9px 22px #6356d849}
.card{border-color:#e0e7f4;box-shadow:var(--shadow)}
.hero{background:linear-gradient(120deg,#1b2445,#35347a 62%,#6e59cc)}
.dashboard-hero{background:linear-gradient(120deg,#232a58,#443e94 76%,#7764cf)}
.builder{grid-template-columns:minmax(0,1.9fr) minmax(280px,.76fr)}
.builder-main{padding:clamp(18px,2.4vw,34px)}
.builder-toolbar-links{display:flex;gap:23px;align-items:center;flex-wrap:wrap}
.builder-toolbar-links .text-link{font-size:.86rem}
.builder-side{display:flex;flex-direction:column;gap:14px;background:#fff}
.builder-side-intro{order:0;padding:21px 18px 9px}
.builder-side-intro h2{font-size:1.5rem;margin:11px 0}
.builder-side-intro p{color:var(--muted);font-size:.84rem;margin:0 0 14px}
.builder-side-intro a{font-size:.81rem;font-weight:750;text-decoration:none}
.builder-side .publish-panel{order:1;padding:18px;border:1px solid #dad6ff;border-radius:16px;background:#f4f2ff}
.builder-side .ai-panel{order:2;background:linear-gradient(145deg,#323164,#5544a2 75%,#6e5ac3)}
.builder-side #cancel-ai{order:3;padding:8px 13px;font-size:.78rem;text-align:left}
.question-card{border-left:3px solid #a79cff;box-shadow:0 14px 30px #293b6820}
.question-answer-note{margin:14px 0 8px;padding:11px 13px;border-radius:11px;background:#effaf7;color:#246659;font-size:.81rem;overflow-wrap:anywhere}
.question-actions{display:flex;flex-wrap:wrap;align-items:center;gap:6px 15px;margin:15px 0 7px;padding-top:12px;border-top:1px solid var(--line)}
.question-actions .quiet{color:#4c48a0;font-size:.8rem}
.question-actions .question-remove{color:#af4a61;margin-left:auto}
.question-actions button:disabled{opacity:.35!important;cursor:default!important}
.builder-workspace{margin-top:32px;border-top:1px solid var(--line);padding-top:28px;scroll-margin-top:98px}
.builder-workspace-heading{display:flex;justify-content:space-between;align-items:start;gap:20px;margin-bottom:20px}
.builder-workspace-heading h2{font-size:clamp(1.35rem,2.6vw,1.9rem);margin:7px 0}
.builder-workspace-heading p{color:var(--muted);font-size:.81rem;margin:0;max-width:490px}
.builder-step{white-space:nowrap;color:#7874a6;background:#f2f0ff;padding:9px 11px;border-radius:10px;font-size:.7rem;font-weight:800}
.builder-editor-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(205px,.86fr);gap:20px;align-items:start}
.builder-form{min-width:0;gap:19px}
.builder-types{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;border:0;padding:0;margin:0;min-width:0}
.builder-types legend{display:block;width:100%;padding:0 0 10px;color:#33415e;font-size:.86rem;font-weight:750}
.builder-type{border:1px solid #dce2f0;background:#fff;color:#515d78;border-radius:12px;min-height:52px;padding:9px 11px;text-align:left;font:inherit;font-size:.76rem;font-weight:730;cursor:pointer;transition:transform .2s,border-color .2s,background .2s,box-shadow .2s}
.builder-type span{display:inline-grid;place-items:center;width:23px;height:23px;margin-right:3px;color:#746ce0;font-size:1rem}
.builder-type:hover{transform:translateY(-2px);border-color:#bcb6fb}
.builder-type.is-active{background:#f2f0ff;border-color:#8a7ff4;color:#3e36a1;box-shadow:0 8px 19px #7164d11f}
.builder-choice-fields,.builder-open-fields{display:grid;gap:11px}
.builder-field-heading{display:grid;gap:3px}
.builder-field-heading strong{font-size:.87rem}
.builder-field-heading small{font-size:.72rem;color:var(--muted)}
.builder-options{display:grid;gap:8px}
.builder-option-row{display:flex;align-items:center;gap:9px;padding:6px 9px;border:1px solid #dce3f0;border-radius:11px;background:#fff}
.builder-option-row:focus-within{border-color:#8e85ef;box-shadow:0 0 0 3px #887deb1d}
.builder-option-row input[name="builder-correct"]{width:19px;height:19px;padding:0;border:0;accent-color:var(--primary);flex:none;cursor:pointer}
.builder-option-row input[type="text"]{flex:1;min-width:0;border:0!important;background:transparent!important;padding:8px 2px!important;box-shadow:none!important;font-size:.82rem}
.builder-option-remove{border:0;background:#f2f4fb;color:#7b849b;border-radius:8px;min-width:29px;min-height:29px;cursor:pointer;font-size:1.2rem;line-height:1}
.builder-option-remove:hover{color:#a53553;background:#ffebef}
.builder-add-option,.builder-cancel{justify-self:start;border:1px dashed #a8a0ef;border-radius:10px;background:#f8f7ff;color:#4d43af;padding:10px 12px;font:inherit;font-size:.77rem;font-weight:750;cursor:pointer}
.builder-cancel{border-style:solid;border-color:#d8def0;background:#fff;color:#535f7c}
.builder-open-fields label{display:grid;gap:8px}
.builder-form-footer{display:flex;align-items:end;justify-content:space-between;gap:13px;flex-wrap:wrap;padding-top:14px;border-top:1px solid var(--line)}
.builder-form-footer>label{width:118px}
.builder-buttons{display:flex;align-items:center;justify-content:end;gap:9px;flex-wrap:wrap}
.builder-buttons button{font-size:.8rem}
.builder-feedback{min-height:1.2em;margin:-5px 0 0;color:#27785a;font-size:.79rem}
.builder-feedback.is-error{color:#a23a53}
.builder-live{position:sticky;top:102px;min-width:0;padding:17px;background:linear-gradient(165deg,#272d56,#444493);border-radius:16px;color:#fff;box-shadow:0 20px 36px #28236d27}
.builder-live .eyebrow{color:#c6c8ff;font-size:.63rem}
.builder-live-card{margin:14px 0;background:#fff;color:var(--ink);border-radius:13px;padding:16px 14px;min-height:206px;box-shadow:0 14px 25px #111c5b44}
.builder-live-top{display:flex;align-items:center;gap:8px;color:#6e7594;font-size:.63rem;font-weight:700}
.builder-live-num{display:grid;place-items:center;width:25px;height:25px;background:#eeedff;color:var(--primary);border-radius:7px}
.builder-live-card h3{font-size:.9rem;margin:15px 0;overflow-wrap:anywhere}
.builder-live-card>p{font-size:.6rem;color:#a8b0c5;margin:13px 0 0}
.preview-option{display:flex;gap:9px;border:1px solid #e4e8f2;border-radius:8px;padding:7px 8px;margin:7px 0;font-size:.69rem;color:#4d5874;overflow-wrap:anywhere}
.preview-option span:first-child{color:#756ce0}
.preview-placeholder{border:1px dashed #cfd5e7;border-radius:9px;padding:12px 9px;color:#8792ad;font-size:.68rem}
.builder-live>small{display:block;color:#cdd2fc;font-size:.63rem}

/* Обучение учителя */
.teacher-guide{display:grid;gap:20px}
.guide-hero{position:relative;display:grid;grid-template-columns:1.35fr .65fr;align-items:center;overflow:hidden;gap:18px;padding:clamp(26px,4vw,55px);border-radius:25px;background:linear-gradient(125deg,#232b57,#5049a8 78%,#7c6de0);color:#fff;box-shadow:0 24px 52px #2527772e}
.guide-hero .eyebrow{color:#d3d1ff}
.guide-hero h2{font-size:clamp(2.15rem,4.2vw,3.9rem);line-height:1.07;letter-spacing:-.065em;margin:18px 0}
.guide-hero p{max-width:590px;color:#dfe2ff;font-size:.91rem;margin:0 0 23px}
.guide-start{background:#fff!important;border-color:#fff!important;color:#403b99!important}
.guide-hero-art{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;transform:rotate(-8deg)}
.guide-hero-art span{display:grid;place-items:center;aspect-ratio:1.3;max-width:125px;border:1px solid #ffffff57;border-radius:17px;background:#ffffff28;backdrop-filter:blur(8px);font-size:2.3rem;font-weight:800;box-shadow:0 16px 26px #12153e27;animation:rise-in .7s both}
.guide-hero-art span:nth-child(2){animation-delay:.12s}.guide-hero-art span:nth-child(3){animation-delay:.24s}.guide-hero-art span:nth-child(4){background:#c9fff1;color:#26585b;animation-delay:.36s}
.guide-progress{position:relative;overflow:hidden;isolation:isolate;padding:15px 18px;border:1px solid #d9d5fa;border-radius:13px;background:#f1efff;color:#3c388e;font-size:.82rem;font-weight:760}
.guide-progress::before{content:"";position:absolute;z-index:-1;inset:0 auto 0 0;width:var(--progress,0%);background:#c9c3ff;transition:width .35s}
.guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.guide-card{margin:0;min-height:230px;display:flex;flex-direction:column;align-items:start;transition:transform .23s,box-shadow .23s}
.guide-card:hover{transform:translateY(-3px);box-shadow:0 23px 42px #28397220}
.guide-card-top{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--primary);font-size:.7rem;letter-spacing:.08em;font-weight:800;text-transform:uppercase}
.guide-check{display:flex;align-items:center;gap:6px;color:#5e6a84;font-size:.68rem;letter-spacing:0;text-transform:none;white-space:nowrap;cursor:pointer}
.guide-check input{accent-color:var(--primary);width:16px;height:16px}
.guide-card h3{font-size:1.25rem;margin:19px 0 6px}
.guide-card p{color:var(--muted);font-size:.84rem;margin:0 0 17px}
.guide-card>a{font-size:.8rem;font-weight:760;text-decoration:none;margin-top:auto}
.guide-tips,.guide-faq{margin:0}
.guide-tips h2,.guide-faq h2{margin:8px 0 22px}
.guide-tip-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.guide-tip-grid>div{padding:15px;background:#f6f6ff;border:1px solid #e5e2fa;border-radius:13px}
.guide-tip-grid strong{font-size:.77rem;color:#42439b}
.guide-tip-grid p{color:var(--muted);font-size:.73rem;margin:8px 0 0}
.guide-faq details{border-top:1px solid var(--line);padding:13px 0}
.guide-faq summary{font-weight:760;font-size:.84rem;cursor:pointer}
.guide-faq details p{color:var(--muted);font-size:.82rem;max-width:750px;margin:10px 0 3px}

@media(max-width:1130px){.builder-editor-grid{grid-template-columns:1fr}.builder-live{position:static}.guide-tip-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:780px){.builder{grid-template-columns:1fr}.builder-side{position:static}.builder-editor-grid{grid-template-columns:minmax(0,1.2fr) minmax(205px,.8fr)}.guide-hero{grid-template-columns:1fr}.guide-hero-art{display:none}}
@media(max-width:650px){.builder-editor-grid,.guide-grid{grid-template-columns:1fr}.builder-toolbar-links{gap:10px}.builder-toolbar{flex-wrap:wrap}.builder-workspace-heading{flex-wrap:wrap}.builder-types{grid-template-columns:repeat(2,minmax(0,1fr))}.builder-form-footer{align-items:stretch}.builder-buttons{width:100%}.builder-buttons #builder-save{flex:1}.guide-tip-grid{grid-template-columns:1fr 1fr}.guide-hero h2{font-size:2.35rem}}
@media(max-width:420px){.guide-tip-grid{grid-template-columns:1fr}.builder-buttons{flex-direction:column;align-items:stretch}.builder-buttons button{width:100%}.builder-step{display:none}}
