:root{
      --blue:#4057aa;
      --blue-2:#5966d3;
      --blue-3:#263184;
      --cyan:#45b8e6;
      --violet:#7258d9;
      --deep:#172064;
      --text:#142332;
      --muted:#67778f;
      --line:rgba(64,87,170,.15);
      --card:#ffffff;
      --card-soft:#f7f9ff;
      --shadow:0 18px 42px rgba(16,25,89,.18);
      --radius:20px;
    }

    *{box-sizing:border-box}
    html{scroll-behavior:smooth;scroll-padding-top:94px}
    body{
      margin:0;
      min-height:100vh;
      font-family:'Roboto', Arial, Helvetica, sans-serif;
      color:var(--text);
      background:
        radial-gradient(circle at 82% 18%, rgba(69,184,230,.46), transparent 24%),
        radial-gradient(circle at 48% -8%, rgba(138,119,255,.42), transparent 32%),
        radial-gradient(circle at 9% 68%, rgba(80,138,255,.30), transparent 31%),
        linear-gradient(135deg, #24378b 0%, #4057aa 45%, #2f2a8f 100%);
      background-attachment:fixed;
      overflow-x:hidden;
    }

    body:before{
      content:"";
      position:fixed;
      inset:0;
      pointer-events:none;
      background:
        linear-gradient(115deg, transparent 0 53%, rgba(255,255,255,.10) 53% 53.45%, transparent 53.45% 100%),
        radial-gradient(ellipse at 93% 82%, rgba(255,255,255,.18), transparent 34%),
        radial-gradient(ellipse at 2% 5%, rgba(255,255,255,.08), transparent 28%);
      opacity:.8;
    }

    a{color:inherit;text-decoration:none}

    .mobile-topbar{
      display:none;
      position:sticky;
      top:0;
      z-index:90;
      align-items:center;
      justify-content:space-between;
      padding:12px 16px;
      color:#fff;
      background:rgba(43,52,145,.86);
      backdrop-filter:blur(14px);
      border-bottom:1px solid rgba(255,255,255,.16);
    }

    .menu-button{
      border:1px solid rgba(255,255,255,.23);
      border-radius:11px;
      background:rgba(255,255,255,.12);
      color:#fff;
      padding:9px 12px;
      font:500 14px/1 'Roboto', Arial, sans-serif;
      cursor:pointer;
    }

    .app{
      position:relative;
      z-index:1;
      display:grid;
      grid-template-columns:292px minmax(0,1fr);
      min-height:100vh;
    }

    .sidebar{
      position:sticky;
      top:0;
      height:100vh;
      padding:18px 16px 18px 12px;
      overflow-y:auto;
      overflow-x:hidden;
      scrollbar-gutter:stable;
      color:#fff;
      background:
        radial-gradient(circle at 40% 0%, rgba(255,255,255,.19), transparent 32%),
        linear-gradient(180deg, rgba(52,66,169,.92), rgba(35,43,132,.80));
      border-right:1px solid rgba(255,255,255,.13);
      box-shadow:16px 0 48px rgba(9,14,58,.18);
      backdrop-filter:blur(10px);
    }

    .sidebar::-webkit-scrollbar{width:8px}
    .sidebar::-webkit-scrollbar-thumb{background:rgba(255,255,255,.22);border-radius:999px}

    .brand{
      padding:4px 4px 16px;
      margin-bottom:12px;
      border-bottom:1px solid rgba(255,255,255,.14);
    }

    .brand-line{display:flex;align-items:center;gap:11px}

    .brand-mark{
      width:42px;
      height:42px;
      flex:0 0 auto;
      border-radius:13px;
      display:grid;
      place-items:center;
      padding:5px;
      background:rgba(255,255,255,.96);
      border:1px solid rgba(255,255,255,.28);
      box-shadow:0 12px 28px rgba(40,190,238,.18);
      overflow:hidden;
    }

    .brand-mark img,
    .title-logo img{
      display:block;
      width:100%;
      height:100%;
      object-fit:contain;
    }

    .brand-title strong{
      display:block;
      font-size:15px;
      font-weight:600;
      color:#fff;
    }

    .brand-title span{
      display:block;
      margin-top:2px;
      font-size:12px;
      color:rgba(255,255,255,.68);
    }

    .nav-title{
      margin:16px 9px 8px;
      font-size:11px;
      font-weight:700;
      letter-spacing:.12em;
      text-transform:uppercase;
      color:rgba(255,255,255,.54);
    }

    .nav-link{
      display:flex;
      align-items:flex-start;
      justify-content:space-between;
      gap:10px;
      min-height:38px;
      margin-bottom:3px;
      padding:9px 10px;
      border-radius:11px;
      color:rgba(255,255,255,.88);
      font-size:13px;
      font-weight:400;
      transition:.15s ease;
      border:1px solid transparent;
    }

    .nav-link span{
      min-width:0;
      flex:1 1 auto;
      overflow:visible;
      white-space:normal;
      text-overflow:clip;
      overflow-wrap:anywhere;
      word-break:normal;
      line-height:1.28;
    }

    .nav-link:hover,
    .nav-link.active{
      background:linear-gradient(90deg, rgba(255,255,255,.22), rgba(255,255,255,.10));
      border-color:rgba(255,255,255,.16);
      color:#fff;
      box-shadow:inset 3px 0 0 #43c1ee;
    }

    .nav-link small{
      min-width:24px;
      margin-right:4px;
      margin-top:-2px;
      flex:0 0 auto;
      height:22px;
      display:grid;
      place-items:center;
      border-radius:999px;
      color:rgba(255,255,255,.76);
      background:rgba(255,255,255,.11);
      font-size:11px;
      font-weight:500;
    }

    .sidebar-note{
      margin:18px 6px 0;
      padding:13px;
      border-radius:14px;
      background:rgba(255,255,255,.11);
      border:1px solid rgba(255,255,255,.13);
      color:rgba(255,255,255,.78);
      font-size:13px;
      line-height:1.45;
    }

    .main{
      min-width:0;
      padding:22px 28px 34px;
    }

    .workspace-head{
      position:sticky;
      top:14px;
      z-index:24;
      min-height:52px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:16px;
      margin-bottom:18px;
      padding:10px 16px 10px 22px;
      border-radius:18px;
      background:linear-gradient(90deg, rgba(255,255,255,.20), rgba(255,255,255,.12));
      border:1px solid rgba(255,255,255,.20);
      backdrop-filter:blur(18px);
      -webkit-backdrop-filter:blur(18px);
      box-shadow:0 14px 38px rgba(18,24,84,.18);
      color:#fff;
      transition:background .22s ease, box-shadow .22s ease, border-color .22s ease, transform .22s ease;
    }

    .workspace-head.is-scrolled{
      background:
        radial-gradient(circle at 78% 0%, rgba(69,184,230,.34), transparent 30%),
        linear-gradient(90deg, rgba(38,49,132,.97), rgba(64,87,170,.95) 50%, rgba(54,86,181,.94));
      border-color:rgba(255,255,255,.26);
      box-shadow:0 18px 46px rgba(16,25,89,.34), inset 0 1px 0 rgba(255,255,255,.16);
    }

    .workspace-title{
      display:flex;
      align-items:center;
      gap:10px;
      font-size:19px;
      font-weight:600;
      letter-spacing:-.01em;
    }

    .workspace-title .title-logo{
      display:inline-grid;
      place-items:center;
      width:28px;
      height:28px;
      flex:0 0 auto;
      padding:4px;
      border-radius:9px;
      background:rgba(255,255,255,.96);
      border:1px solid rgba(255,255,255,.22);
      overflow:hidden;
      box-shadow:0 8px 18px rgba(24,33,104,.16);
    }

    .workspace-tabs{
      display:flex;
      flex-wrap:wrap;
      gap:6px;
      justify-content:flex-end;
    }

    .workspace-tabs a{
      padding:8px 12px;
      border-radius:10px;
      color:rgba(255,255,255,.82);
      background:rgba(255,255,255,.08);
      border:1px solid rgba(255,255,255,.10);
      font-size:13px;
      font-weight:400;
    }

    .workspace-tabs a.active,
    .workspace-tabs a:hover{
      color:#22316e;
      background:#fff;
      border-color:#fff;
      box-shadow:0 10px 24px rgba(255,255,255,.15);
    }

    .hero{
      position:relative;
      overflow:hidden;
      border-radius:26px;
      padding:28px 32px 30px;
      background:
        radial-gradient(circle at 92% 8%, rgba(69,184,230,.24), transparent 30%),
        linear-gradient(135deg, rgba(255,255,255,.98), rgba(241,246,255,.94));
      border:1px solid rgba(255,255,255,.88);
      box-shadow:var(--shadow);
    }

    .hero:before{
      content:"";
      position:absolute;
      right:-90px;
      top:-120px;
      width:310px;
      height:310px;
      border-radius:50%;
      background:radial-gradient(circle, rgba(64,87,170,.20), transparent 67%);
      pointer-events:none;
    }

    

    

    .kicker{
      position:relative;
      z-index:1;
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:6px 11px;
      border-radius:999px;
      background:#eef5ff;
      border:1px solid rgba(64,87,170,.14);
      color:#4057aa;
      font-size:13px;
      font-weight:500;
    }

    h1{
      position:relative;
      z-index:1;
      max-width:840px;
      margin:18px 0 0;
      font-size:clamp(29px, 3vw, 40px);
      line-height:1.13;
      letter-spacing:-.02em;
      font-weight:500;
      color:#14233a;
    }

    .lead{
      position:relative;
      z-index:1;
      max-width:900px;
      margin:14px 0 0;
      color:#617086;
      font-size:16px;
      line-height:1.62;
      font-weight:400;
    }

    .layout{
      display:grid;
      grid-template-columns:minmax(0,1fr) 320px;
      gap:20px;
      align-items:start;
      margin-top:20px;
    }

    .panel,
    .info-card{
      background:rgba(255,255,255,.96);
      border:1px solid rgba(255,255,255,.84);
      border-radius:var(--radius);
      box-shadow:var(--shadow);
    }

    .panel{padding:22px}

    .panel-head{
      display:flex;
      align-items:flex-end;
      justify-content:space-between;
      gap:18px;
      margin-bottom:16px;
    }

    h2{
      margin:0;
      color:#14243a;
      font-size:23px;
      line-height:1.22;
      letter-spacing:-.012em;
      font-weight:500;
    }

    .sub{
      margin:7px 0 0;
      color:var(--muted);
      font-size:14px;
      line-height:1.5;
    }

    .search{position:relative;flex:0 0 min(390px,100%)}

    .search input{
      width:100%;
      height:45px;
      border:1px solid rgba(64,87,170,.16);
      border-radius:12px;
      background:#f8faff;
      padding:0 42px 0 14px;
      color:var(--text);
      font:400 14px/1 'Roboto', Arial, sans-serif;
      outline:none;
      transition:.15s ease;
    }

    .search input:focus{
      background:#fff;
      border-color:rgba(64,87,170,.55);
      box-shadow:0 0 0 4px rgba(64,87,170,.10);
    }

    .search span{
      position:absolute;
      right:15px;
      top:50%;
      transform:translateY(-50%);
      color:#7b89a6;
      font-size:17px;
    }

    .terms{display:grid;gap:12px}

    .term{
      scroll-margin-top:94px;
      padding:18px;
      border-radius:16px;
      background:linear-gradient(135deg, #ffffff, #f8fbff);
      border:1px solid rgba(64,87,170,.13);
      transition:.15s ease;
    }

    .term:hover{
      transform:translateY(-1px);
      border-color:rgba(64,87,170,.28);
      box-shadow:0 14px 30px rgba(64,87,170,.10);
    }

    .term-head{
      display:flex;
      align-items:flex-start;
      justify-content:space-between;
      gap:14px;
      margin-bottom:12px;
    }

    .term-title-wrap{
      display:flex;
      gap:11px;
      align-items:flex-start;
      min-width:0;
    }

    .section-number{
      width:34px;
      height:28px;
      flex:0 0 auto;
      display:grid;
      place-items:center;
      border-radius:10px;
      color:#4057aa;
      background:linear-gradient(135deg, rgba(64,87,170,.10), rgba(69,184,230,.16));
      border:1px solid rgba(64,87,170,.10);
      font-size:12px;
      font-weight:600;
    }

    h3{
      margin:2px 0 0;
      color:#12233a;
      font-size:20px;
      line-height:1.24;
      letter-spacing:-.006em;
      font-weight:500;
    }

    .badge{
      flex:0 0 auto;
      padding:5px 9px;
      border-radius:999px;
      background:#eef4ff;
      color:#4057aa;
      border:1px solid rgba(64,87,170,.12);
      font-size:11px;
      font-weight:500;
    }

    .section-body{
      margin-left:45px;
      color:#41536b;
      font-size:15px;
      line-height:1.58;
      font-weight:400;
    }

    .section-body p{
      margin:0 0 10px;
    }

    .section-body .intro-line{
      color:#263854;
      font-weight:500;
      margin-top:14px;
      margin-bottom:7px;
    }

    .section-body .quote-line{
      margin:11px 0;
      padding:12px 14px;
      border-radius:14px;
      background:linear-gradient(135deg, rgba(64,87,170,.08), rgba(69,184,230,.12));
      border:1px solid rgba(64,87,170,.12);
      color:#344762;
    }

    .section-body h4{
      margin:18px 0 8px;
      color:#152942;
      font-size:17px;
      line-height:1.26;
      font-weight:600;
    }

    .mini-title{
      display:inline-flex;
      margin:12px 0 6px;
      padding:5px 9px;
      border-radius:9px;
      background:rgba(64,87,170,.08);
      color:#4057aa;
      font-size:13px;
      line-height:1.2;
      font-weight:600;
    }

    .bullet-list{
      margin:7px 0 13px;
      padding:0;
      display:grid;
      gap:6px;
      list-style:none;
    }

    .bullet-list li{
      position:relative;
      padding-left:19px;
      color:#41536b;
    }

    .bullet-list li:before{
      content:"";
      position:absolute;
      left:0;
      top:.72em;
      width:6px;
      height:6px;
      border-radius:50%;
      background:linear-gradient(135deg, #45b8e6, #4057aa);
      transform:translateY(-50%);
    }

    .aside{
      position:sticky;
      top:22px;
      display:grid;
      gap:16px;
    }

    .info-card{padding:19px}
    .info-card h2{font-size:21px}

    .check-list{display:grid;gap:9px;margin-top:14px}

    .scroll-card .check-list{
      max-height:238px;
      overflow-y:auto;
      padding-right:6px;
      scrollbar-gutter:stable;
    }

    .scroll-card .check-list::-webkit-scrollbar{width:6px}
    .scroll-card .check-list::-webkit-scrollbar-thumb{background:rgba(64,87,170,.22);border-radius:999px}

    .check{
      display:flex;
      gap:10px;
      align-items:flex-start;
      padding:10px 11px;
      border-radius:13px;
      background:#f7f9ff;
      border:1px solid rgba(64,87,170,.10);
      color:#45576f;
      font-size:14px;
      line-height:1.42;
    }

    .check i{
      width:22px;
      height:22px;
      flex:0 0 auto;
      display:grid;
      place-items:center;
      border-radius:8px;
      background:linear-gradient(135deg, rgba(64,87,170,.14), rgba(69,184,230,.18));
      color:#4057aa;
      font-style:normal;
      font-size:12px;
      font-weight:600;
    }

    .quote{
      padding:16px;
      border-radius:16px;
      background:linear-gradient(135deg, rgba(64,87,170,.08), rgba(69,184,230,.12));
      border:1px solid rgba(64,87,170,.12);
      color:#40516b;
      font-size:15px;
      line-height:1.55;
    }

    .quick-grid{
      display:grid;
      grid-template-columns:repeat(2,minmax(0,1fr));
      gap:9px;
      margin-top:14px;
    }

    .quick-section-title{
      grid-column:1 / -1;
      display:flex;
      align-items:center;
      gap:8px;
      margin:4px 0 -1px;
      color:#4057aa;
      font-size:12px;
      line-height:1.2;
      font-weight:700;
      letter-spacing:.045em;
      text-transform:uppercase;
    }

    .quick-section-title:before{
      content:"";
      width:7px;
      height:7px;
      flex:0 0 auto;
      border-radius:999px;
      background:linear-gradient(135deg, #45b8e6, #4057aa);
      box-shadow:0 0 0 4px rgba(69,184,230,.12);
    }

    .quick{
      padding:12px;
      border-radius:14px;
      background:#f7f9ff;
      border:1px solid rgba(64,87,170,.10);
    }

    .quick strong{
      display:block;
      color:#14243a;
      font-size:18px;
      line-height:1.1;
      font-weight:600;
    }

    .quick span{
      display:block;
      margin-top:4px;
      color:#718096;
      font-size:12px;
      line-height:1.35;
    }

    .empty{
      display:none;
      padding:18px;
      border-radius:16px;
      background:#fff;
      border:1px dashed rgba(64,87,170,.26);
      color:#65758c;
      text-align:center;
    }

    .is-hidden{display:none!important}



    .side-search-block{
      margin:10px 4px 15px;
      padding:12px;
      border-radius:16px;
      background:rgba(255,255,255,.12);
      border:1px solid rgba(255,255,255,.15);
      box-shadow:inset 0 1px 0 rgba(255,255,255,.14);
    }

    .side-search-label{
      margin:0 0 8px;
      color:rgba(255,255,255,.72);
      font-size:11px;
      line-height:1.2;
      font-weight:600;
      letter-spacing:.08em;
      text-transform:uppercase;
    }

    .side-search{position:relative}

    .side-search input{
      width:100%;
      height:40px;
      border:1px solid rgba(255,255,255,.18);
      border-radius:12px;
      background:rgba(255,255,255,.92);
      padding:0 38px 0 36px;
      outline:none;
      color:#182742;
      font:400 13px/1 'Roboto', Arial, sans-serif;
      box-shadow:0 10px 24px rgba(8,13,58,.10);
      transition:.15s ease;
    }

    .side-search input:focus{
      background:#fff;
      border-color:rgba(69,184,230,.78);
      box-shadow:0 0 0 3px rgba(69,184,230,.18), 0 10px 24px rgba(8,13,58,.12);
    }

    .search-icon{
      position:absolute;
      left:13px;
      top:50%;
      transform:translateY(-50%);
      color:#60739b;
      font-size:15px;
      pointer-events:none;
    }

    .clear-search{
      position:absolute;
      right:7px;
      top:50%;
      transform:translateY(-50%);
      width:27px;
      height:27px;
      display:none;
      place-items:center;
      border:0;
      border-radius:9px;
      background:rgba(64,87,170,.10);
      color:#4057aa;
      font:500 18px/1 'Roboto', Arial, sans-serif;
      cursor:pointer;
    }

    .clear-search.is-visible{display:grid}
    .clear-search:hover{background:rgba(64,87,170,.18)}

    .search-status{
      margin-top:8px;
      color:rgba(255,255,255,.68);
      font-size:12px;
      line-height:1.3;
    }

    .nav-group{margin:0 0 12px}

    .nav-group-title{
      position:relative;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:10px;
      min-height:36px;
      margin:16px 0 8px;
      padding:10px 12px 10px 14px;
      color:#ffffff;
      font-size:11px;
      line-height:1.15;
      font-weight:700;
      letter-spacing:.07em;
      text-transform:uppercase;
      border-radius:14px;
      background:linear-gradient(180deg, rgba(24,34,106,.92), rgba(31,44,130,.88));
      border:1px solid rgba(255,255,255,.08);
      box-shadow:inset 0 1px 0 rgba(255,255,255,.05), 0 10px 22px rgba(10,15,56,.14);
    }

    .nav-group-title span{
      opacity:1;
    }

    .nav-group-title small{
      min-width:22px;
      height:22px;
      display:grid;
      place-items:center;
      border-radius:999px;
      background:rgba(255,255,255,.12);
      color:#ffffff;
      font-size:10px;
      font-weight:700;
      letter-spacing:0;
      border:1px solid rgba(255,255,255,.10);
      box-shadow:none;
    }

    .nav-group-list{
      display:grid;
      gap:3px;
      margin-left:6px;
      padding-left:8px;
      border-left:1px solid rgba(255,255,255,.08);
    }
    .sidebar *{max-width:100%}
        .nav-group.is-hidden{display:none}

    .result-chip{
      flex:0 0 auto;
      display:inline-flex;
      align-items:center;
      min-height:38px;
      padding:9px 13px;
      border-radius:12px;
      background:linear-gradient(135deg, rgba(64,87,170,.08), rgba(69,184,230,.12));
      border:1px solid rgba(64,87,170,.12);
      color:#4057aa;
      font-size:13px;
      font-weight:500;
      white-space:nowrap;
    }

    .term.has-media{
      display:grid;
      grid-template-columns:minmax(0,1fr) 230px;
      gap:18px;
      align-items:start;
    }

    .term-main{min-width:0}

    .term-media{
      border-radius:16px;
      padding:10px;
      background:
        linear-gradient(135deg, rgba(64,87,170,.08), rgba(69,184,230,.13)),
        #f6f9ff;
      border:1px solid rgba(64,87,170,.12);
    }

    .media-inner{
      height:auto;
      min-height:0;
      display:flex;
      flex-direction:column;
      align-items:center;
      justify-content:center;
      gap:8px;
      text-align:center;
      border-radius:13px;
      border:1px dashed rgba(64,87,170,.26);
      background:
        repeating-linear-gradient(135deg, rgba(64,87,170,.05) 0 10px, rgba(69,184,230,.08) 10px 20px),
        rgba(255,255,255,.58);
      color:#4057aa;
    }

    .media-icon{
      width:42px;
      height:42px;
      display:grid;
      place-items:center;
      border-radius:14px;
      background:linear-gradient(135deg, #45b8e6, #4057aa);
      color:#fff;
      font-size:20px;
      box-shadow:0 10px 24px rgba(64,87,170,.18);
    }

    .media-inner strong{
      display:block;
      max-width:170px;
      color:#16263e;
      font-size:14px;
      line-height:1.25;
      font-weight:600;
    }

    .media-inner small{
      display:block;
      max-width:178px;
      color:#6b7a92;
      font-size:12px;
      line-height:1.35;
    }



    .scroll-top-button{
      position:fixed;
      right:24px;
      bottom:24px;
      z-index:120;
      width:50px;
      height:50px;
      display:grid;
      place-items:center;
      border:1px solid rgba(255,255,255,.28);
      border-radius:16px;
      background:
        radial-gradient(circle at 30% 20%, rgba(69,184,230,.78), transparent 42%),
        linear-gradient(135deg, rgba(64,87,170,.98), rgba(38,49,132,.96));
      color:#fff;
      font:700 24px/1 'Roboto', Arial, sans-serif;
      cursor:pointer;
      box-shadow:0 18px 42px rgba(16,25,89,.34), inset 0 1px 0 rgba(255,255,255,.16);
      opacity:0;
      visibility:hidden;
      transform:translateY(14px) scale(.94);
      transition:opacity .18s ease, visibility .18s ease, transform .18s ease, box-shadow .18s ease;
    }

    .scroll-top-button.is-visible{
      opacity:1;
      visibility:visible;
      transform:translateY(0) scale(1);
    }

    .scroll-top-button:hover{
      box-shadow:0 20px 48px rgba(16,25,89,.42), 0 0 0 4px rgba(69,184,230,.18), inset 0 1px 0 rgba(255,255,255,.2);
      transform:translateY(-2px) scale(1.02);
    }

    .scroll-top-button:active{
      transform:translateY(0) scale(.98);
    }

    @media (max-width:860px){
      .scroll-top-button{
        right:16px;
        bottom:16px;
        width:46px;
        height:46px;
        border-radius:15px;
        font-size:22px;
      }
      body.menu-open .scroll-top-button{display:none}
    }


    .term.has-variants{
      display:block;
    }

    .variant-intro{
      margin:18px 0 12px;
      color:#4057aa;
      font-weight:600;
    }

    .variant-grid{
      display:grid;
      grid-template-columns:repeat(auto-fit, minmax(190px, 1fr));
      gap:12px;
      margin:12px 0 2px;
    }

    .variant-card{
      display:grid;
      grid-template-columns:82px minmax(0,1fr);
      gap:12px;
      align-items:center;
      padding:10px;
      border-radius:15px;
      background:linear-gradient(135deg, #ffffff, #f6f9ff);
      border:1px solid rgba(64,87,170,.13);
      box-shadow:0 10px 22px rgba(64,87,170,.06);
    }

    .variant-thumb{
      position:relative;
      width:82px;
      height:70px;
      flex:0 0 auto;
      overflow:hidden;
      border-radius:12px;
      background:#ffffff;
      border:1px solid rgba(64,87,170,.14);
    }

    .variant-thumb-link,
    .media-photo-link{
      display:block;
      width:100%;
      height:100%;
      cursor:zoom-in;
    }

    .variant-thumb img,
    .media-photo-link img{
      width:100%;
      height:100%;
      display:block;
      object-fit:contain;
      background:#ffffff;
    }

    .variant-zoom{
      position:absolute;
      right:6px;
      bottom:6px;
      width:22px;
      height:22px;
      display:grid;
      place-items:center;
      border-radius:8px;
      color:#fff;
      background:rgba(64,87,170,.86);
      font-size:13px;
      line-height:1;
      pointer-events:none;
    }

    .variant-card-body{
      min-width:0;
    }

    .variant-card-body strong{
      display:block;
      color:#14243a;
      font-size:14px;
      line-height:1.25;
      font-weight:700;
    }

    .variant-card-body small{
      display:block;
      margin-top:4px;
      color:#6b7a92;
      font-size:12px;
      line-height:1.35;
    }

    .media-inner-photo{
      padding:0;
      overflow:hidden;
      gap:0;
      justify-content:flex-end;
      background:#eef7ff;
      border-style:solid;
    }

    .media-photo-link{
      width:100%;
      aspect-ratio:4/3;
      min-height:0;
      flex:0 0 auto;
      background:#ffffff;
      border-radius:12px 12px 0 0;
      overflow:hidden;
    }

    .media-caption{
      width:100%;
      padding:10px 11px 12px;
      text-align:left;
      background:rgba(255,255,255,.78);
      border-top:1px solid rgba(64,87,170,.10);
    }

    .media-caption strong{
      display:block;
      color:#16263e;
      font-size:13px;
      line-height:1.25;
      font-weight:700;
    }

    .media-caption small{
      display:block;
      margin-top:3px;
      color:#6b7a92;
      font-size:11px;
      line-height:1.3;
    }

    .lightbox{
      position:fixed;
      inset:0;
      z-index:300;
      display:none;
      align-items:center;
      justify-content:center;
      padding:24px;
      background:rgba(8,12,42,.72);
      backdrop-filter:blur(3px);
      -webkit-backdrop-filter:blur(3px);
    }

    .lightbox.is-open{
      display:flex;
    }

    

    

    .lightbox-caption{
      margin:10px 44px 0 4px;
      color:#344762;
      font-size:14px;
      line-height:1.35;
      font-weight:600;
    }

    

    .lightbox-close:hover{
      background:#14233a;
    }

    @media (max-width:620px){
      .variant-grid{grid-template-columns:1fr}
      .variant-card{grid-template-columns:74px minmax(0,1fr)}
      .variant-thumb{width:74px;height:64px}
      .lightbox{padding:12px}
      
    }



    .variant-section-divider{
      display:grid;
      grid-template-columns:minmax(32px, 1fr) auto minmax(32px, 1fr);
      align-items:center;
      gap:14px;
      margin:26px 0 18px;
    }

    .divider-line{
      height:1px;
      background:linear-gradient(90deg, rgba(69,184,230,.12), rgba(64,87,170,.34), rgba(69,184,230,.12));
    }

    .divider-content{
      max-width:560px;
      padding:10px 16px;
      border-radius:16px;
      text-align:center;
      background:
        radial-gradient(circle at 20% 0%, rgba(69,184,230,.14), transparent 42%),
        linear-gradient(135deg, rgba(64,87,170,.08), rgba(69,184,230,.08));
      border:1px solid rgba(64,87,170,.14);
      box-shadow:0 10px 24px rgba(64,87,170,.07);
    }

    .divider-label{
      display:inline-flex;
      align-items:center;
      min-height:22px;
      margin-bottom:5px;
      padding:4px 8px;
      border-radius:999px;
      color:#4057aa;
      background:#eef4ff;
      border:1px solid rgba(64,87,170,.12);
      font-size:11px;
      line-height:1;
      font-weight:700;
      letter-spacing:.04em;
      text-transform:uppercase;
    }

    .divider-content strong{
      display:block;
      color:#14243a;
      font-size:17px;
      line-height:1.22;
      font-weight:700;
    }

    .divider-content small{
      display:block;
      max-width:500px;
      margin-top:5px;
      color:#65758c;
      font-size:13px;
      line-height:1.38;
      font-weight:400;
    }

    @media (max-width:620px){
      .variant-section-divider{
        grid-template-columns:1fr;
        gap:8px;
        margin:22px 0 16px;
      }

      .divider-line{
        display:none;
      }

      .divider-content{
        text-align:left;
      }
    }

    .variant-inline-stack{
      display:grid;
      gap:0;
      margin-top:10px;
    }

    .variant-inline-row{
      display:grid;
      grid-template-columns:minmax(0,1fr) 230px;
      gap:18px;
      align-items:start;
    }

    .variant-inline-row.is-not-first{
      margin-top:22px;
      padding-top:22px;
      border-top:1px solid rgba(64,87,170,.14);
      position:relative;
    }

    .variant-inline-row.is-not-first:before{
      content:"";
      position:absolute;
      left:0;
      right:0;
      top:-1px;
      height:1px;
      background:linear-gradient(90deg, rgba(69,184,230,.18), rgba(64,87,170,.42), rgba(69,184,230,.18));
    }

    .variant-inline-content{
      min-width:0;
    }

    .variant-inline-content h4{
      margin:0 0 8px;
      color:#14243a;
      font-size:17px;
      line-height:1.26;
      font-weight:700;
    }

    .variant-inline-content > :last-child{
      margin-bottom:0;
    }

    .variant-inline-media{
      align-self:start;
    }

    .variant-inline-media .media-photo-link{
      aspect-ratio:4/3;
    }

    .variant-inline-media .media-caption strong{
      font-size:12px;
    }

    @media (max-width:980px){
      .variant-inline-row{
        grid-template-columns:1fr;
      }
      .variant-inline-media{
        max-width:230px;
      }
    }

    @media (max-width:1120px){
      .hero{padding-right:32px}
      
      .app{grid-template-columns:272px minmax(0,1fr)}
      .main{padding:20px}
      .layout{grid-template-columns:1fr}
      .aside{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}
    }

    @media (max-width:860px){
      .mobile-topbar{display:flex}
      .app{
        display:block;
        z-index:auto;
      }
      .sidebar{
        position:fixed;
        z-index:80;
        inset:56px auto 0 0;
        width:min(86vw, 310px);
        transform:translateX(-105%);
        transition:.2s ease;
      }
      body.menu-open{overflow:hidden}
      body.menu-open .sidebar{transform:translateX(0)}
      body.menu-open:after{
        content:"";
        position:fixed;
        inset:56px 0 0 0;
        z-index:60;
        background:rgba(10,16,55,.52);
        backdrop-filter:blur(2px);
        -webkit-backdrop-filter:blur(2px);
      }
      .main{padding:16px}
      .workspace-head{display:none}
      .hero{padding:22px;border-radius:22px}
      .panel-head{display:block}
      .search{margin-top:14px}
      .aside{grid-template-columns:1fr}
    }

    @media (max-width:540px){
      .main{padding:12px}
      .hero,.panel,.info-card{padding:17px;border-radius:18px}
      h1{font-size:28px}
      .lead{font-size:15px}
      .term{padding:16px}
      .term-head{display:block}
      .term-title-wrap{gap:9px}
      .badge{display:inline-flex;margin-top:10px;margin-left:45px}
      .section-body{margin-left:0;margin-top:12px}
      .quick-grid{grid-template-columns:1fr}
    }
  

    @media (max-width:980px){
      .term.has-media{grid-template-columns:1fr}
      .term-media{min-height:0}
      .media-inner{min-height:0}
    }

    @media (max-width:540px){
      .result-chip{margin-top:14px}
      .term.has-media{gap:13px}
      .term-media{min-height:0}
      .media-inner{min-height:0}
    }


/* ===== Лайтбокс: листание галереи ===== */


.lightbox-nav:hover{
  background:#14233a;
}





.lightbox-nav.is-hidden{
  display:none;
}

.lightbox-counter{
  color:#718096;
  font-weight:500;
}

@media (max-width:620px){
  

  

  
}

/* ===== Первый экран: сова ===== */
.hero{
  position: relative;
  padding-right: 220px;
}

.hero:after{
  display:none;
}

.hero-owl{
  position:absolute;
  right:36px;
  top:50%;
  transform:translateY(-50%);
  width:auto;
  height:auto;
  max-width:130px;
  max-height:170px;
  object-fit:contain;
  filter:drop-shadow(0 12px 24px rgba(20,35,58,.18));
  z-index:1;
}

.hero > *:not(.hero-owl){
  position:relative;
  z-index:2;
}

/* ===== Лайтбокс: окно и картинка в границах ===== */
.lightbox{
  position:fixed;
  inset:0;
  z-index:300;
  display:none;
  align-items:center;
  justify-content:center;
  padding:20px;
  background:rgba(8,12,42,.72);
  backdrop-filter:blur(3px);
  -webkit-backdrop-filter:blur(3px);
}

.lightbox.is-open{
  display:flex;
}

.lightbox-panel{
  position:relative;
  width:min(1120px, calc(100vw - 40px));
  max-width:1120px;
  max-height:calc(100vh - 40px);
  padding:14px 14px 12px;
  border-radius:22px;
  background:#ffffff;
  box-shadow:0 24px 80px rgba(0,0,0,.38);
  overflow:hidden;
  display:flex;
  flex-direction:column;
}

.lightbox img{
  display:block;
  width:auto;
  height:auto;
  max-width:100%;
  max-height:calc(100vh - 150px);
  object-fit:contain;
  margin:0 auto;
  border-radius:14px;
  background:#eef3ff;
}

.lightbox-caption{
  margin:12px 54px 0 4px;
  color:#344762;
  font-size:14px;
  line-height:1.35;
  font-weight:600;
  overflow-wrap:anywhere;
}

.lightbox-close{
  position:absolute;
  right:14px;
  top:12px;
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border:0;
  border-radius:11px;
  background:rgba(20,35,58,.82);
  color:#fff;
  font:500 22px/1 Roboto, Arial, sans-serif;
  cursor:pointer;
  z-index:3;
}

.lightbox-close:hover{
  background:#14233a;
}

.lightbox-nav{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:44px;
  height:58px;
  display:grid;
  place-items:center;
  border:0;
  border-radius:14px;
  background:rgba(20,35,58,.72);
  color:#fff;
  font:500 38px/1 Roboto, Arial, sans-serif;
  cursor:pointer;
  z-index:3;
  transition:.12s ease;
}

.lightbox-nav:hover{
  background:#14233a;
}

.lightbox-prev{
  left:16px;
}

.lightbox-next{
  right:16px;
}

.lightbox-nav.is-hidden{
  display:none;
}

@media (max-width:980px){
  .hero{
    padding-right:32px;
  }

  .hero-owl{
    position:static;
    display:block;
    margin:18px 0 0 auto;
    transform:none;
    max-width:110px;
    max-height:145px;
  }
}

@media (max-width:620px){
  .lightbox{
    padding:10px;
  }

  .lightbox-panel{
    width:calc(100vw - 20px);
    max-height:calc(100vh - 20px);
    padding:10px 10px 12px;
    border-radius:16px;
  }

  .lightbox img{
    max-height:calc(100vh - 120px);
    border-radius:10px;
  }

  .lightbox-caption{
    margin:10px 42px 0 2px;
    font-size:13px;
  }

  .lightbox-nav{
    width:38px;
    height:50px;
    border-radius:12px;
    font-size:32px;
  }

  .lightbox-prev{
    left:8px;
  }

  .lightbox-next{
    right:8px;
  }
}


/* ===== Фото + видео справа от карточек ===== */
.term.has-media{
  grid-template-columns:minmax(0, 1fr) minmax(430px, 490px);
}

.variant-inline-row{
  grid-template-columns:minmax(0, 1fr) minmax(430px, 490px);
}

.media-cluster{
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);
  gap:12px;
  align-items:start;
}

.media-cluster .term-media,
.media-cluster .term-video{
  min-width:0;
}

.term-video{
  border-radius:16px;
  padding:10px;
  background:
    linear-gradient(135deg, rgba(64,87,170,.08), rgba(69,184,230,.13)),
    #f6f9ff;
  border:1px solid rgba(64,87,170,.12);
}

.video-inner{
  height:auto;
  min-height:0;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  text-align:left;
  border-radius:13px;
  border:1px solid rgba(64,87,170,.18);
  background:#eef7ff;
  color:#4057aa;
}

.video-thumb{
  position:relative;
  width:100%;
  aspect-ratio:4/3;
  min-height:0;
  display:block;
  overflow:hidden;
  border:0;
  border-radius:12px 12px 0 0;
  padding:0;
  background:
    radial-gradient(circle at 50% 34%, rgba(69,184,230,.20), transparent 26%),
    repeating-linear-gradient(135deg, rgba(64,87,170,.05) 0 10px, rgba(69,184,230,.08) 10px 20px),
    #ffffff;
  cursor:pointer;
}

.video-thumb:disabled{
  cursor:default;
}

.video-thumb-img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  display:block;
  object-fit:contain;
  background:#fff;
}

.video-thumb-img.is-hidden{
  display:none;
}

.video-play{
  position:absolute;
  left:50%;
  top:44%;
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  transform:translate(-50%, -50%);
  border-radius:999px;
  color:#fff;
  background:
    radial-gradient(circle at 30% 22%, rgba(69,184,230,.95), transparent 46%),
    linear-gradient(135deg, #4057aa, #263184);
  box-shadow:0 14px 30px rgba(64,87,170,.28);
  font-size:18px;
  line-height:1;
  z-index:2;
}

.video-thumb.is-empty .video-play{
  opacity:.58;
}

.video-thumb-text{
  position:absolute;
  left:10px;
  right:10px;
  bottom:10px;
  z-index:2;
  display:block;
  padding:8px 9px;
  border-radius:12px;
  background:rgba(255,255,255,.82);
  border:1px solid rgba(64,87,170,.10);
  box-shadow:0 10px 24px rgba(64,87,170,.08);
}

.video-thumb-text strong{
  display:block;
  color:#16263e;
  font-size:12px;
  line-height:1.15;
  font-weight:700;
}

.video-thumb-text small{
  display:block;
  margin-top:3px;
  color:#6b7a92;
  font-size:11px;
  line-height:1.25;
}

.video-caption{
  width:100%;
  padding:10px 11px 12px;
  background:rgba(255,255,255,.78);
  border-top:1px solid rgba(64,87,170,.10);
}

.video-caption strong{
  display:block;
  color:#16263e;
  font-size:12px;
  line-height:1.25;
  font-weight:700;
}

.video-caption small{
  display:block;
  margin-top:3px;
  color:#6b7a92;
  font-size:11px;
  line-height:1.3;
}

/* ===== Лайтбокс видео ===== */
.video-lightbox{
  position:fixed;
  inset:0;
  z-index:310;
  display:none;
  align-items:center;
  justify-content:center;
  padding:20px;
  background:rgba(8,12,42,.74);
  backdrop-filter:blur(3px);
  -webkit-backdrop-filter:blur(3px);
}

.video-lightbox.is-open{
  display:flex;
}

.video-panel{
  position:relative;
  width:min(1120px, calc(100vw - 40px));
  max-width:1120px;
  max-height:calc(100vh - 40px);
  padding:14px 14px 12px;
  border-radius:22px;
  background:#ffffff;
  box-shadow:0 24px 80px rgba(0,0,0,.38);
  overflow:hidden;
  display:flex;
  flex-direction:column;
}

.video-panel video{
  display:block;
  width:100%;
  max-height:calc(100vh - 150px);
  border-radius:14px;
  background:#050814;
  outline:none;
}

.video-lightbox-caption{
  margin:12px 54px 0 4px;
  color:#344762;
  font-size:14px;
  line-height:1.35;
  font-weight:600;
  overflow-wrap:anywhere;
}

.video-close{
  position:absolute;
  right:14px;
  top:12px;
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border:0;
  border-radius:11px;
  background:rgba(20,35,58,.82);
  color:#fff;
  font:500 22px/1 Roboto, Arial, sans-serif;
  cursor:pointer;
  z-index:4;
}

.video-close:hover{
  background:#14233a;
}

.video-nav{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:44px;
  height:58px;
  display:grid;
  place-items:center;
  border:0;
  border-radius:14px;
  background:rgba(20,35,58,.72);
  color:#fff;
  font:500 38px/1 Roboto, Arial, sans-serif;
  cursor:pointer;
  z-index:4;
  transition:.12s ease;
}

.video-nav:hover{
  background:#14233a;
}

.video-prev{
  left:16px;
}

.video-next{
  right:16px;
}

.video-nav.is-hidden{
  display:none;
}

.video-counter{
  color:#718096;
  font-weight:500;
}

@media (max-width:1280px){
  .term.has-media,
  .variant-inline-row{
    grid-template-columns:minmax(0, 1fr) minmax(390px, 440px);
  }
}

@media (max-width:1120px){
  .term.has-media,
  .variant-inline-row{
    grid-template-columns:1fr;
  }

  .media-cluster{
    grid-template-columns:repeat(2, minmax(0, 230px));
  }
}

@media (max-width:620px){
  .media-cluster{
    grid-template-columns:1fr;
  }

  .video-lightbox{
    padding:10px;
  }

  .video-panel{
    width:calc(100vw - 20px);
    max-height:calc(100vh - 20px);
    padding:10px 10px 12px;
    border-radius:16px;
  }

  .video-panel video{
    max-height:calc(100vh - 120px);
    border-radius:10px;
  }

  .video-lightbox-caption{
    margin:10px 42px 0 2px;
    font-size:13px;
  }

  .video-nav{
    width:38px;
    height:50px;
    border-radius:12px;
    font-size:32px;
  }

  .video-prev{
    left:8px;
  }

  .video-next{
    right:8px;
  }
}


/* ===== v26: выравнивание высоты фото- и видео-карточек ===== */
.media-cluster{
  align-items:stretch;
}

.media-cluster .term-media,
.media-cluster .term-video{
  display:flex;
  flex-direction:column;
  height:100%;
}

.media-cluster .media-inner-photo,
.media-cluster .video-inner{
  height:100%;
  min-height:0;
}

.media-cluster .media-photo-link,
.media-cluster .video-thumb{
  flex:0 0 auto;
}

.media-cluster .media-caption,
.media-cluster .video-caption{
  min-height:58px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.media-cluster .media-caption strong,
.media-cluster .video-caption strong{
  display:block;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.media-cluster .media-caption small,
.media-cluster .video-caption small{
  display:block;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.media-cluster .video-caption small{
  max-width:100%;
}


/* ===== v27: заполнение посадочного места фото-превью ===== */
/*
  Для фото-превью используем cover: карточка заполняется полностью,
  без пустой полосы снизу. В лайтбоксе изображение по-прежнему
  открывается целиком через object-fit: contain.
*/
.media-cluster .media-photo-link{
  display:block;
  width:100%;
  aspect-ratio:4/3;
  overflow:hidden;
  background:#ffffff;
}

.media-cluster .media-photo-link img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center center;
  background:#ffffff;
}

/* Для фото в карточках вариантов — то же поведение */
.variant-inline-media .media-photo-link img{
  object-fit:cover;
  object-position:center center;
}

/* Сам лайтбокс не трогаем: там картинка должна показываться целиком */
.lightbox img{
  object-fit:contain;
}

/* Если в видео появится реальная миниатюра, она тоже красиво заполнит место */
.media-cluster .video-thumb-img{
  object-fit:cover;
  object-position:center center;
}


/* ===== v28: превью вписываются целиком в 4:3 без обрезки ===== */
/*
  Карточка всегда имеет посадочное место 4:3.
  Картинка внутри вписывается через contain, то есть показывается целиком.
  Если исходник тоже 4:3, пустых полей не будет.
*/
.media-cluster .media-photo-link,
.variant-inline-media .media-photo-link,
.media-cluster .video-thumb{
  aspect-ratio:4 / 3;
}

.media-cluster .media-photo-link img,
.variant-inline-media .media-photo-link img{
  width:100%;
  height:100%;
  display:block;
  object-fit:contain;
  object-position:center center;
  background:#ffffff;
}

/* Миниатюры видео тоже вписываем целиком. Если кадр 4:3 — он заполнит место полностью. */
.media-cluster .video-thumb-img{
  width:100%;
  height:100%;
  display:block;
  object-fit:contain;
  object-position:center center;
  background:#ffffff;
}

/* Лайтбокс оставляем без обрезки */
.lightbox img{
  object-fit:contain;
}


/* ===== v29: фото-превью 4:3 без ухода картинки вверх ===== */
/*
  В ранних правилах у .media-photo-link оставалась высота height:100%.
  Из-за этого посадочное место растягивалось, а картинка с object-fit:contain
  визуально прижималась вверх и оставляла пустую полосу.
  Здесь фиксируем: само посадочное место строго 4:3, высота не 100%.
*/
.media-cluster{
  align-items:start;
}

.media-cluster .term-media,
.media-cluster .term-video{
  height:auto;
}

.media-cluster .media-inner-photo,
.media-cluster .video-inner{
  height:auto;
  min-height:0;
}

.media-cluster .media-photo-link,
.variant-inline-media .media-photo-link,
.media-cluster .video-thumb{
  width:100%;
  height:auto !important;
  aspect-ratio:4 / 3;
  flex:0 0 auto;
  overflow:hidden;
}

.media-cluster .media-photo-link img,
.variant-inline-media .media-photo-link img,
.media-cluster .video-thumb-img{
  width:100%;
  height:100%;
  display:block;
  object-fit:contain;
  object-position:center center;
  background:#ffffff;
}

.media-cluster .media-caption,
.media-cluster .video-caption{
  min-height:58px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

/* Лайтбокс не меняем: там всё изображение должно показываться целиком. */
.lightbox img{
  object-fit:contain;
}


/* ===== v30.1: миниатюра видео обрезается под 4:3, кнопка Play белая полупрозрачная ===== */
/*
  Видео-миниатюру показываем через cover, чтобы она полностью заполняла
  посадочное место 4:3. Если исходный кадр не 4:3, он аккуратно кадрируется.
*/
.video-thumb-img{
  object-fit:cover;
  object-position:center center;
}

/*
  Кнопку Play делаем полупрозрачной белой, более лёгкой визуально.
*/
.video-play{
  color:#4057aa;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(255,255,255,.58);
  box-shadow:
    0 12px 28px rgba(20,35,58,.16),
    inset 0 1px 0 rgba(255,255,255,.42);
  backdrop-filter:blur(5px);
  -webkit-backdrop-filter:blur(5px);
}

.video-thumb.is-empty .video-play{
  opacity:.78;
}


/* ===== v30.2: видео-превью заполняет посадку 4:3 ===== */
/*
  Даже если выше в CSS есть правило contain, здесь принудительно включаем cover.
  После обновлённого make_previews.py миниатюра сама будет 480×360,
  но это правило страхует карточку от старых/кэшированных превью.
*/
.media-cluster .video-thumb-img,
.variant-inline-media .video-thumb-img,
.video-thumb .video-thumb-img{
  object-fit:cover !important;
  object-position:center center !important;
}

/* Белая полупрозрачная кнопка Play */
.media-cluster .video-play,
.video-thumb .video-play{
  color:#4057aa;
  background:rgba(255,255,255,.74);
  border:1px solid rgba(255,255,255,.62);
  box-shadow:
    0 12px 28px rgba(20,35,58,.16),
    inset 0 1px 0 rgba(255,255,255,.42);
  backdrop-filter:blur(5px);
  -webkit-backdrop-filter:blur(5px);
}


/* ===== v30.3: чистая видео-миниатюра без плашки, Play по центру ===== */
/*
  Убираем внутреннюю белую плашку "Видео / 1 видео" поверх кадра.
  Нижняя подпись "Видео: ..." остаётся в карточке под превью.
*/
.video-thumb-text{
  display:none !important;
}

/*
  Кнопку Play ставим строго в центр посадочного места.
*/
.video-play{
  left:50% !important;
  top:50% !important;
  transform:translate(-50%, -50%) !important;
}


/* ===== v30.4: верхнее подменю "Что дальше?" ===== */
.workspace-tabs{
  align-items:center;
}

.workspace-more{
  position:relative;
  flex:0 0 auto;
}

.workspace-more-toggle{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:36px;
  padding:8px 14px;
  border-radius:10px;
  border:1px solid rgba(255,255,255,.30);
  color:#ffffff;
  background:
    radial-gradient(circle at 22% 12%, rgba(69,184,230,.34), transparent 42%),
    linear-gradient(135deg, rgba(69,184,230,.30), rgba(255,255,255,.12));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.18),
    0 10px 24px rgba(16,25,89,.12);
  font:500 13px/1 'Roboto', Arial, sans-serif;
  cursor:pointer;
  white-space:nowrap;
  transition:.15s ease;
}

.workspace-more-toggle:after{
  content:"";
  width:7px;
  height:7px;
  margin-left:8px;
  border-right:2px solid currentColor;
  border-bottom:2px solid currentColor;
  transform:translateY(-2px) rotate(45deg);
  opacity:.82;
}

.workspace-more:hover .workspace-more-toggle,
.workspace-more:focus-within .workspace-more-toggle{
  color:#22316e;
  background:#ffffff;
  border-color:#ffffff;
  box-shadow:0 12px 26px rgba(255,255,255,.16);
}

.workspace-more-menu{
  position:absolute;
  right:0;
  top:calc(100% + 9px);
  z-index:60;
  width:330px;
  display:grid;
  gap:6px;
  padding:10px;
  border-radius:16px;
  background:rgba(255,255,255,.97);
  border:1px solid rgba(64,87,170,.16);
  box-shadow:0 22px 54px rgba(16,25,89,.28);
  opacity:0;
  visibility:hidden;
  transform:translateY(-6px);
  pointer-events:none;
  transition:.14s ease;
}

.workspace-more:hover .workspace-more-menu,
.workspace-more:focus-within .workspace-more-menu{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
  pointer-events:auto;
}

.workspace-more-menu:before{
  content:"";
  position:absolute;
  right:26px;
  top:-7px;
  width:14px;
  height:14px;
  transform:rotate(45deg);
  background:rgba(255,255,255,.97);
  border-left:1px solid rgba(64,87,170,.12);
  border-top:1px solid rgba(64,87,170,.12);
}

.workspace-tabs .workspace-more-menu a{
  display:block;
  padding:10px 11px;
  border-radius:11px;
  color:#263854;
  background:#f7f9ff;
  border:1px solid rgba(64,87,170,.10);
  font-size:13px;
  line-height:1.32;
  font-weight:500;
  white-space:normal;
}

.workspace-tabs .workspace-more-menu a:hover,
.workspace-tabs .workspace-more-menu a:focus{
  color:#ffffff;
  background:linear-gradient(135deg, #4057aa, #45b8e6);
  border-color:rgba(64,87,170,.12);
  outline:none;
}

@media (max-width:1180px){
  .workspace-more-menu{
    right:auto;
    left:0;
  }

  .workspace-more-menu:before{
    right:auto;
    left:28px;
  }
}


/* ===== v30.5: подменю "Что дальше?" открывается только по клику ===== */
/*
  Отключаем раскрытие по hover/focus-within из предыдущей версии.
  Теперь меню открывает JS через класс .is-open.
*/
.workspace-more .workspace-more-menu{
  opacity:0 !important;
  visibility:hidden !important;
  transform:translateY(-6px) !important;
  pointer-events:none !important;
}

.workspace-more:hover .workspace-more-menu,
.workspace-more:focus-within .workspace-more-menu{
  opacity:0 !important;
  visibility:hidden !important;
  transform:translateY(-6px) !important;
  pointer-events:none !important;
}

.workspace-more.is-open .workspace-more-menu{
  opacity:1 !important;
  visibility:visible !important;
  transform:translateY(0) !important;
  pointer-events:auto !important;
}

.workspace-more:hover .workspace-more-toggle,
.workspace-more:focus-within .workspace-more-toggle{
  color:#ffffff;
  background:
    radial-gradient(circle at 22% 12%, rgba(69,184,230,.34), transparent 42%),
    linear-gradient(135deg, rgba(69,184,230,.30), rgba(255,255,255,.12));
  border-color:rgba(255,255,255,.30);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.18),
    0 10px 24px rgba(16,25,89,.12);
}

.workspace-more.is-open .workspace-more-toggle{
  color:#22316e;
  background:#ffffff;
  border-color:#ffffff;
  box-shadow:0 12px 26px rgba(255,255,255,.16);
}

.workspace-more.is-open .workspace-more-toggle:after{
  transform:translateY(2px) rotate(225deg);
}


/* ===== v30.6: "Что дальше?" — hover как у меню + радиоволны ===== */
/*
  Подменю по-прежнему открывается только по клику.
  Наведение теперь не раскрывает меню, а только подсвечивает кнопку
  и даёт мягкий эффект радиоволн.
*/
.workspace-more{
  position:relative;
  isolation:isolate;
}

.workspace-more:before,
.workspace-more:after{
  content:"";
  position:absolute;
  inset:-5px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.45);
  opacity:0;
  transform:scale(.86);
  pointer-events:none;
  z-index:-1;
}

.workspace-more:hover:before,
.workspace-more:focus-within:before{
  animation:workspaceMoreWave 1.65s ease-out infinite;
}

.workspace-more:hover:after,
.workspace-more:focus-within:after{
  animation:workspaceMoreWave 1.65s ease-out .55s infinite;
}

@keyframes workspaceMoreWave{
  0%{
    opacity:.52;
    transform:scale(.86);
    box-shadow:0 0 0 0 rgba(69,184,230,.20);
  }
  70%{
    opacity:.12;
    transform:scale(1.22);
    box-shadow:0 0 0 8px rgba(69,184,230,.06);
  }
  100%{
    opacity:0;
    transform:scale(1.32);
    box-shadow:0 0 0 12px rgba(69,184,230,0);
  }
}

/* Кнопка при наведении окрашивается как остальные пункты верхнего меню */
.workspace-more:hover .workspace-more-toggle,
.workspace-more:focus-within .workspace-more-toggle{
  color:#22316e !important;
  background:#ffffff !important;
  border-color:#ffffff !important;
  box-shadow:0 10px 24px rgba(255,255,255,.15) !important;
}

/* В открытом состоянии оставляем тот же активный вид */
.workspace-more.is-open .workspace-more-toggle{
  color:#22316e !important;
  background:#ffffff !important;
  border-color:#ffffff !important;
  box-shadow:0 10px 24px rgba(255,255,255,.15) !important;
}

/* При открытом меню радиоволны не мешают чтению выпадающего блока */
.workspace-more.is-open:before,
.workspace-more.is-open:after{
  animation:none !important;
  opacity:0 !important;
}

@media (prefers-reduced-motion: reduce){
  .workspace-more:hover:before,
  .workspace-more:hover:after,
  .workspace-more:focus-within:before,
  .workspace-more:focus-within:after{
    animation:none;
  }
}


/* ===== v30.7: усиленные радиоволны у "Что дальше?" ===== */
/*
  Предыдущие волны могли быть почти незаметны из-за z-index и фона верхней панели.
  Здесь делаем эффект через box-shadow самой кнопки — он не схлопывается и не прячется.
*/
.workspace-more-toggle{
  position:relative;
  overflow:visible;
}

.workspace-more:hover .workspace-more-toggle,
.workspace-more:focus-within .workspace-more-toggle{
  color:#22316e !important;
  background:#ffffff !important;
  border-color:#ffffff !important;
  animation:workspaceMorePulse 1.45s ease-out infinite;
}

.workspace-more.is-open .workspace-more-toggle{
  animation:none !important;
  color:#22316e !important;
  background:#ffffff !important;
  border-color:#ffffff !important;
}

@keyframes workspaceMorePulse{
  0%{
    box-shadow:
      0 10px 24px rgba(255,255,255,.15),
      0 0 0 0 rgba(255,255,255,.42),
      0 0 0 0 rgba(69,184,230,.28);
  }
  55%{
    box-shadow:
      0 10px 24px rgba(255,255,255,.15),
      0 0 0 8px rgba(255,255,255,.18),
      0 0 0 16px rgba(69,184,230,.10);
  }
  100%{
    box-shadow:
      0 10px 24px rgba(255,255,255,.15),
      0 0 0 14px rgba(255,255,255,0),
      0 0 0 28px rgba(69,184,230,0);
  }
}

/* Дополнительная тонкая бегущая рамка, чтобы кнопка точно считывалась как интерактивная */
.workspace-more:hover .workspace-more-toggle:before,
.workspace-more:focus-within .workspace-more-toggle:before{
  content:"";
  position:absolute;
  inset:-4px;
  border-radius:13px;
  border:1px solid rgba(255,255,255,.70);
  pointer-events:none;
  animation:workspaceMoreRing 1.45s ease-out infinite;
}

@keyframes workspaceMoreRing{
  0%{
    opacity:.8;
    transform:scale(.98);
  }
  100%{
    opacity:0;
    transform:scale(1.18);
  }
}

.workspace-more.is-open .workspace-more-toggle:before{
  display:none !important;
}

@media (prefers-reduced-motion: reduce){
  .workspace-more:hover .workspace-more-toggle,
  .workspace-more:focus-within .workspace-more-toggle,
  .workspace-more:hover .workspace-more-toggle:before,
  .workspace-more:focus-within .workspace-more-toggle:before{
    animation:none !important;
  }
}


/* ===== v31: отдельная страница "Порядок действий в холодном звонке" ===== */
.call-page .workspace-tabs .workspace-more-menu a.is-current{
  color:#ffffff;
  background:linear-gradient(135deg, #4057aa, #45b8e6);
  border-color:rgba(64,87,170,.12);
}

.call-hero .lead{
  max-width:920px;
}

.call-panel{
  overflow:hidden;
}

.call-sections{
  display:grid;
  gap:14px;
}

.call-section{
  padding:20px;
}

.call-section-head{
  display:flex;
  align-items:flex-start;
  gap:12px;
  margin-bottom:14px;
}

.call-section-head h3{
  margin:1px 0 8px;
}

.call-section-head p{
  margin:0;
  color:#53647b;
  font-size:15px;
  line-height:1.55;
}

.call-accent{
  background:
    radial-gradient(circle at 92% 10%, rgba(69,184,230,.16), transparent 28%),
    linear-gradient(135deg, #ffffff, #f4f8ff);
}

.call-finish{
  background:
    radial-gradient(circle at 12% 10%, rgba(69,184,230,.15), transparent 28%),
    linear-gradient(135deg, #ffffff, #f6fbff);
}

.script-note,
.soft-card,
.objection-card{
  margin-left:46px;
  padding:14px 15px;
  border-radius:15px;
  background:linear-gradient(135deg, rgba(64,87,170,.08), rgba(69,184,230,.12));
  border:1px solid rgba(64,87,170,.13);
  color:#344762;
  line-height:1.55;
}

.script-note strong,
.soft-card strong,
.objection-card strong{
  display:block;
  margin-bottom:5px;
  color:#152942;
  font-weight:700;
}

.script-note p,
.soft-card p,
.objection-card p{
  margin:0;
}

.script-phrase{
  margin-left:46px;
  padding:15px 16px;
  border-radius:16px;
  background:#eef7ff;
  border:1px solid rgba(69,184,230,.26);
  box-shadow:0 10px 22px rgba(64,87,170,.06);
}

.script-phrase span{
  display:inline-flex;
  margin-bottom:7px;
  padding:4px 9px;
  border-radius:999px;
  background:#ffffff;
  color:#4057aa;
  border:1px solid rgba(64,87,170,.12);
  font-size:12px;
  line-height:1.2;
  font-weight:700;
}

.script-phrase p{
  margin:0;
  color:#2d405b;
  font-size:16px;
  line-height:1.55;
  font-weight:500;
}

.question-grid,
.step-grid,
.fact-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:12px;
  margin-left:46px;
  margin-top:14px;
}

.question-card,
.step-card,
.fact-card{
  padding:14px;
  border-radius:15px;
  background:#f7f9ff;
  border:1px solid rgba(64,87,170,.11);
  box-shadow:0 10px 22px rgba(64,87,170,.05);
}

.question-card i{
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  margin-bottom:9px;
  border-radius:10px;
  color:#4057aa;
  background:linear-gradient(135deg, rgba(64,87,170,.12), rgba(69,184,230,.18));
  font-style:normal;
  font-size:13px;
  font-weight:700;
}

.question-card strong,
.step-card strong{
  display:block;
  color:#152942;
  font-size:14px;
  line-height:1.3;
  font-weight:700;
}

.question-card p,
.step-card p{
  margin:7px 0 0;
  color:#5c6b80;
  font-size:13px;
  line-height:1.45;
}

.flow-list{
  display:grid;
  gap:10px;
  margin-left:46px;
}

.flow-item{
  padding:14px 15px;
  border-radius:15px;
  background:#ffffff;
  border:1px solid rgba(64,87,170,.12);
  box-shadow:0 10px 22px rgba(64,87,170,.05);
}

.flow-item strong{
  display:block;
  margin-bottom:6px;
  color:#4057aa;
  font-size:13px;
}

.flow-item p{
  margin:0;
  color:#344762;
  font-size:15px;
  line-height:1.52;
}

.step-card span{
  display:inline-flex;
  margin-bottom:8px;
  padding:4px 8px;
  border-radius:999px;
  background:#eef4ff;
  color:#4057aa;
  border:1px solid rgba(64,87,170,.12);
  font-size:11px;
  line-height:1;
  font-weight:700;
  text-transform:uppercase;
}

.fact-grid{
  grid-template-columns:repeat(4, minmax(0, 1fr));
}

.fact-card{
  text-align:center;
  background:
    radial-gradient(circle at 50% 0%, rgba(69,184,230,.14), transparent 44%),
    #f7f9ff;
}

.fact-card strong{
  display:block;
  color:#14243a;
  font-size:18px;
  line-height:1.15;
  font-weight:700;
}

.fact-card span{
  display:block;
  margin-top:5px;
  color:#68778d;
  font-size:12px;
  line-height:1.35;
}

.argument-list{
  margin:15px 0 0 46px;
  padding:0;
  display:grid;
  gap:7px;
  list-style:none;
}

.argument-list li{
  position:relative;
  padding-left:20px;
  color:#41536b;
  line-height:1.5;
}

.argument-list li:before{
  content:"";
  position:absolute;
  left:0;
  top:.75em;
  width:7px;
  height:7px;
  border-radius:999px;
  transform:translateY(-50%);
  background:linear-gradient(135deg, #45b8e6, #4057aa);
}

.check-flow{
  margin-left:46px;
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:10px;
}

.check-flow div{
  position:relative;
  padding:12px 13px 12px 38px;
  border-radius:14px;
  background:#f7f9ff;
  border:1px solid rgba(64,87,170,.10);
  color:#344762;
  font-size:14px;
  line-height:1.4;
}

.check-flow div:before{
  content:"✓";
  position:absolute;
  left:12px;
  top:12px;
  width:20px;
  height:20px;
  display:grid;
  place-items:center;
  border-radius:8px;
  color:#ffffff;
  background:linear-gradient(135deg, #45b8e6, #4057aa);
  font-size:12px;
  font-weight:700;
}

@media (max-width:1280px){
  .question-grid,
  .step-grid{
    grid-template-columns:1fr;
  }

  .fact-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media (max-width:620px){
  .call-section{
    padding:16px;
  }

  .call-section-head{
    display:block;
  }

  .call-section-head .section-number{
    margin-bottom:10px;
  }

  .script-note,
  .script-phrase,
  .soft-card,
  .objection-card,
  .question-grid,
  .step-grid,
  .flow-list,
  .fact-grid,
  .argument-list,
  .check-flow{
    margin-left:0;
  }

  .check-flow,
  .fact-grid{
    grid-template-columns:1fr;
  }
}


/* ===== v32: отдельная страница "Морские контейнеры" ===== */
.containers-page .workspace-tabs .workspace-more-menu a.is-current{
  color:#ffffff;
  background:linear-gradient(135deg, #4057aa, #45b8e6);
  border-color:rgba(64,87,170,.12);
}

.containers-hero .lead{
  max-width:940px;
}

.container-sections{
  display:grid;
  gap:14px;
}

.container-section{
  padding:20px;
}

.container-accent,
.container-finish{
  background:
    radial-gradient(circle at 92% 10%, rgba(69,184,230,.16), transparent 28%),
    linear-gradient(135deg, #ffffff, #f4f8ff);
}

.container-size-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:12px;
  margin-left:46px;
  margin-top:14px;
}

.container-size-card{
  min-height:106px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:16px;
  border-radius:16px;
  color:#14243a;
  background:
    radial-gradient(circle at 70% 0%, rgba(69,184,230,.16), transparent 45%),
    #f7f9ff;
  border:1px solid rgba(64,87,170,.12);
  box-shadow:0 10px 22px rgba(64,87,170,.05);
  transition:.15s ease;
}

.container-size-card:hover{
  transform:translateY(-2px);
  border-color:rgba(64,87,170,.28);
  box-shadow:0 14px 30px rgba(64,87,170,.10);
}

.container-size-card strong{
  display:block;
  color:#4057aa;
  font-size:20px;
  line-height:1.1;
  font-weight:700;
}

.container-size-card span{
  display:block;
  margin-top:8px;
  color:#637188;
  font-size:13px;
  line-height:1.35;
}

.has-container-visual{
  display:grid;
  grid-template-columns:minmax(0, 1fr) 190px;
  gap:20px;
  align-items:center;
}

.container-visual{
  min-height:132px;
  border-radius:20px;
  display:grid;
  place-items:center;
  align-content:center;
  gap:5px;
  color:#ffffff;
  background:
    linear-gradient(90deg, rgba(255,255,255,.08) 0 7%, transparent 7% 14%),
    linear-gradient(135deg, #4057aa, #263184);
  border:1px solid rgba(255,255,255,.35);
  box-shadow:0 18px 34px rgba(64,87,170,.20), inset 0 1px 0 rgba(255,255,255,.20);
  position:relative;
  overflow:hidden;
}

.container-visual:before,
.container-visual:after{
  content:"";
  position:absolute;
  left:14px;
  right:14px;
  height:1px;
  background:rgba(255,255,255,.20);
}

.container-visual:before{
  top:24px;
}

.container-visual:after{
  bottom:24px;
}

.container-visual span{
  position:relative;
  z-index:1;
  display:block;
  font-size:34px;
  line-height:1;
  font-weight:700;
  letter-spacing:-.03em;
}

.container-visual small{
  position:relative;
  z-index:1;
  color:rgba(255,255,255,.82);
  font-size:12px;
  line-height:1.2;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.container-visual.is-20{
  background:
    linear-gradient(90deg, rgba(255,255,255,.08) 0 5%, transparent 5% 10%),
    linear-gradient(135deg, #3574b8, #263184);
}

.container-visual.is-40{
  background:
    linear-gradient(90deg, rgba(255,255,255,.08) 0 4%, transparent 4% 8%),
    linear-gradient(135deg, #2d8f9e, #263184);
}

.container-visual.is-45{
  background:
    linear-gradient(90deg, rgba(255,255,255,.08) 0 3.5%, transparent 3.5% 7%),
    linear-gradient(135deg, #7258d9, #263184);
}

.spec-table{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:10px;
  margin-left:46px;
  margin-bottom:12px;
}

.spec-table div{
  padding:12px 13px;
  border-radius:14px;
  background:#f7f9ff;
  border:1px solid rgba(64,87,170,.10);
}

.spec-table span{
  display:block;
  color:#718096;
  font-size:12px;
  line-height:1.2;
}

.spec-table strong{
  display:block;
  margin-top:4px;
  color:#152942;
  font-size:16px;
  line-height:1.2;
  font-weight:700;
}

.argument-list.compact{
  margin-top:12px;
}

.container-question-grid{
  grid-template-columns:repeat(3, minmax(0, 1fr));
}

.contact-route{
  display:grid;
  grid-template-columns:220px minmax(0, 1fr);
  gap:14px;
  margin-left:46px;
}

.contact-person{
  min-height:150px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:16px;
  border-radius:17px;
  color:#ffffff;
  background:
    radial-gradient(circle at 20% 0%, rgba(69,184,230,.40), transparent 45%),
    linear-gradient(135deg, #4057aa, #263184);
  box-shadow:0 16px 34px rgba(64,87,170,.18);
}

.contact-person.is-docs{
  background:
    radial-gradient(circle at 20% 0%, rgba(69,184,230,.36), transparent 45%),
    linear-gradient(135deg, #7258d9, #263184);
}

.contact-person span{
  color:rgba(255,255,255,.74);
  font-size:12px;
  line-height:1.2;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.contact-person strong{
  display:block;
  margin-top:8px;
  font-size:24px;
  line-height:1.1;
  font-weight:700;
}

.contact-person a{
  display:inline-flex;
  margin-top:10px;
  color:#ffffff;
  font-size:15px;
  line-height:1.2;
  font-weight:600;
}

.route-card{
  padding:15px 16px;
  border-radius:17px;
  background:#f7f9ff;
  border:1px solid rgba(64,87,170,.11);
}

.route-card strong{
  display:block;
  color:#152942;
  font-size:16px;
  line-height:1.25;
  font-weight:700;
}

.route-card ol{
  margin:10px 0 0;
  padding-left:20px;
  color:#45566d;
  line-height:1.5;
}

.route-card li + li{
  margin-top:5px;
}

.warehouse-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:12px;
  margin-left:46px;
}

.warehouse-card{
  min-height:96px;
  padding:15px;
  border-radius:16px;
  background:#f7f9ff;
  border:1px solid rgba(64,87,170,.11);
  box-shadow:0 10px 22px rgba(64,87,170,.05);
}

.warehouse-card span{
  display:block;
  color:#718096;
  font-size:12px;
  line-height:1.2;
}

.warehouse-card strong{
  display:block;
  margin-top:9px;
  color:#4057aa;
  font-size:18px;
  line-height:1.2;
  font-weight:700;
}

.warehouse-card.is-docs strong{
  color:#7258d9;
}

.container-check-flow{
  grid-template-columns:repeat(2, minmax(0, 1fr));
}

.container-quick-grid{
  grid-template-columns:repeat(2, minmax(0, 1fr));
}

@media (max-width:1280px){
  .container-size-grid,
  .container-question-grid,
  .warehouse-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .has-container-visual{
    grid-template-columns:1fr;
  }

  .container-visual{
    max-width:340px;
    margin-left:46px;
  }
}

@media (max-width:760px){
  .contact-route{
    grid-template-columns:1fr;
  }

  .contact-person{
    min-height:0;
  }
}

@media (max-width:620px){
  .container-section{
    padding:16px;
  }

  .container-size-grid,
  .spec-table,
  .contact-route,
  .warehouse-grid,
  .container-visual{
    margin-left:0;
  }

  .container-size-grid,
  .container-question-grid,
  .warehouse-grid,
  .spec-table,
  .container-check-flow{
    grid-template-columns:1fr;
  }

  .container-visual{
    max-width:none;
  }
}


/* ===== v33: отдельная страница "Регламент УПД" ===== */
.upd-page .workspace-tabs .workspace-more-menu a.is-current{
  color:#ffffff;
  background:linear-gradient(135deg, #4057aa, #45b8e6);
  border-color:rgba(64,87,170,.12);
}

.upd-hero .lead{
  max-width:940px;
}

.upd-sections{
  display:grid;
  gap:14px;
}

.upd-section{
  padding:20px;
}

.upd-accent,
.upd-finish{
  background:
    radial-gradient(circle at 92% 10%, rgba(69,184,230,.16), transparent 28%),
    linear-gradient(135deg, #ffffff, #f4f8ff);
}

.upd-timeline{
  margin-left:46px;
  display:grid;
  grid-template-columns:repeat(6, minmax(0, 1fr));
  gap:10px;
}

.upd-timeline div{
  position:relative;
  min-height:116px;
  padding:14px 12px;
  border-radius:16px;
  background:#f7f9ff;
  border:1px solid rgba(64,87,170,.11);
  box-shadow:0 10px 22px rgba(64,87,170,.05);
}

.upd-timeline span{
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  margin-bottom:8px;
  border-radius:10px;
  color:#ffffff;
  background:linear-gradient(135deg, #45b8e6, #4057aa);
  font-size:12px;
  font-weight:700;
}

.upd-timeline strong{
  display:block;
  color:#152942;
  font-size:14px;
  line-height:1.25;
  font-weight:700;
}

.upd-timeline small{
  display:block;
  margin-top:5px;
  color:#66758b;
  font-size:12px;
  line-height:1.35;
}

.responsibility-card{
  margin-left:46px;
  padding:17px 18px;
  border-radius:18px;
  color:#ffffff;
  background:
    radial-gradient(circle at 20% 0%, rgba(69,184,230,.42), transparent 45%),
    linear-gradient(135deg, #4057aa, #263184);
  box-shadow:0 16px 34px rgba(64,87,170,.18);
}

.responsibility-card.accountant{
  background:
    radial-gradient(circle at 20% 0%, rgba(69,184,230,.36), transparent 45%),
    linear-gradient(135deg, #7258d9, #263184);
}

.responsibility-card span{
  color:rgba(255,255,255,.74);
  font-size:12px;
  line-height:1.2;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.responsibility-card strong{
  display:block;
  margin-top:8px;
  font-size:24px;
  line-height:1.1;
  font-weight:700;
}

.responsibility-card p{
  max-width:760px;
  margin:10px 0 0;
  color:rgba(255,255,255,.84);
  line-height:1.55;
}

.upd-format-grid{
  margin-left:46px;
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:14px;
}

.upd-format-card{
  padding:15px;
  border-radius:17px;
  background:#f7f9ff;
  border:1px solid rgba(64,87,170,.12);
  box-shadow:0 10px 22px rgba(64,87,170,.05);
}

.upd-format-card span{
  display:inline-flex;
  margin-bottom:10px;
  padding:5px 9px;
  border-radius:999px;
  color:#4057aa;
  background:#eef4ff;
  border:1px solid rgba(64,87,170,.12);
  font-size:12px;
  line-height:1;
  font-weight:700;
}

.upd-format-card.is-partial span{
  color:#7258d9;
}

.upd-format-card pre{
  margin:0;
  padding:14px;
  border-radius:14px;
  color:#2f4058;
  background:#ffffff;
  border:1px solid rgba(64,87,170,.10);
  font:500 14px/1.5 'Roboto', Arial, sans-serif;
  white-space:pre-wrap;
}

.production-grid,
.driver-checklist{
  margin-left:46px;
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:14px;
}

.production-card,
.driver-checklist div{
  padding:15px;
  border-radius:17px;
  background:#f7f9ff;
  border:1px solid rgba(64,87,170,.11);
  box-shadow:0 10px 22px rgba(64,87,170,.05);
}

.production-card span{
  display:inline-flex;
  margin-bottom:8px;
  padding:5px 9px;
  border-radius:999px;
  background:#eef4ff;
  color:#4057aa;
  border:1px solid rgba(64,87,170,.12);
  font-size:12px;
  line-height:1;
  font-weight:700;
}

.production-card strong{
  display:block;
  color:#14243a;
  font-size:22px;
  line-height:1.15;
  font-weight:700;
}

.production-card p{
  margin:8px 0 0;
  color:#5e6d83;
  line-height:1.45;
}

.driver-checklist{
  grid-template-columns:repeat(3, minmax(0, 1fr));
}

.driver-checklist i{
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  margin-bottom:9px;
  border-radius:10px;
  color:#4057aa;
  background:linear-gradient(135deg, rgba(64,87,170,.12), rgba(69,184,230,.18));
  font-style:normal;
  font-size:13px;
  font-weight:700;
}

.driver-checklist strong{
  display:block;
  color:#152942;
  font-size:14px;
  line-height:1.3;
  font-weight:700;
}

.driver-checklist p{
  margin:7px 0 0;
  color:#5c6b80;
  font-size:13px;
  line-height:1.45;
}

.upd-check-flow{
  grid-template-columns:repeat(2, minmax(0, 1fr));
}

.upd-quick-grid{
  grid-template-columns:repeat(2, minmax(0, 1fr));
}

@media (max-width:1320px){
  .upd-timeline{
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }

  .driver-checklist{
    grid-template-columns:1fr;
  }
}

@media (max-width:760px){
  .upd-format-grid,
  .production-grid{
    grid-template-columns:1fr;
  }

  .upd-timeline{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media (max-width:620px){
  .upd-section{
    padding:16px;
  }

  .upd-timeline,
  .responsibility-card,
  .upd-format-grid,
  .production-grid,
  .driver-checklist,
  .upd-check-flow{
    margin-left:0;
  }

  .upd-timeline,
  .upd-check-flow{
    grid-template-columns:1fr;
  }
}


/* ===== v34: отдельная страница "Экзаменационный тест" ===== */
.test-page .workspace-tabs .workspace-more-menu a.is-current{
  color:#ffffff;
  background:linear-gradient(135deg, #4057aa, #45b8e6);
  border-color:rgba(64,87,170,.12);
}

.test-hero .lead{
  max-width:940px;
}

.quiz-sections{
  display:grid;
  gap:14px;
}

.quiz-summary{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  gap:16px;
  align-items:center;
  margin:0 0 16px;
  padding:17px 18px;
  border-radius:18px;
  background:
    radial-gradient(circle at 86% 0%, rgba(69,184,230,.20), transparent 30%),
    linear-gradient(135deg, #ffffff, #f4f8ff);
  border:1px solid rgba(64,87,170,.13);
  box-shadow:0 12px 28px rgba(64,87,170,.08);
}

.quiz-summary-main span{
  display:block;
  color:#4057aa;
  font-size:12px;
  line-height:1.2;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.quiz-summary-main strong{
  display:block;
  margin-top:6px;
  color:#14243a;
  font-size:32px;
  line-height:1.1;
  font-weight:700;
}

.quiz-summary-main small{
  display:block;
  margin-top:5px;
  color:#65758c;
  font-size:13px;
  line-height:1.35;
}

.quiz-summary-actions,
.quiz-part-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  justify-content:flex-end;
}

.quiz-button{
  min-height:38px;
  padding:9px 13px;
  border:0;
  border-radius:12px;
  font:600 13px/1 'Roboto', Arial, sans-serif;
  cursor:pointer;
  transition:.15s ease;
}

.quiz-button.primary{
  color:#ffffff;
  background:linear-gradient(135deg, #4057aa, #45b8e6);
  box-shadow:0 12px 24px rgba(64,87,170,.18);
}

.quiz-button.primary:hover{
  transform:translateY(-1px);
  box-shadow:0 15px 30px rgba(64,87,170,.22);
}

.quiz-button.ghost{
  color:#4057aa;
  background:#eef4ff;
  border:1px solid rgba(64,87,170,.14);
}

.quiz-button.ghost:hover{
  background:#ffffff;
  box-shadow:0 10px 24px rgba(64,87,170,.10);
}

.quiz-part{
  padding:20px;
}

.quiz-part-head{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  gap:14px;
  align-items:start;
}

.quiz-part-head .call-section-head{
  margin-bottom:0;
}

.quiz-part-score{
  min-width:82px;
  min-height:38px;
  display:grid;
  place-items:center;
  border-radius:13px;
  color:#4057aa;
  background:#eef4ff;
  border:1px solid rgba(64,87,170,.13);
  font-size:14px;
  line-height:1;
  font-weight:700;
}

.quiz-part-score.is-started{
  color:#263184;
  background:linear-gradient(135deg, rgba(64,87,170,.11), rgba(69,184,230,.16));
}

.quiz-part-score.is-full{
  color:#0f7f5f;
  background:rgba(16,185,129,.10);
  border-color:rgba(16,185,129,.22);
}

.quiz-part-actions{
  margin:14px 0 0 46px;
  justify-content:flex-start;
}

.quiz-question-list{
  display:grid;
  gap:12px;
  margin-top:16px;
  margin-left:46px;
}

.quiz-question{
  padding:15px;
  border-radius:17px;
  background:#f7f9ff;
  border:1px solid rgba(64,87,170,.11);
  box-shadow:0 10px 22px rgba(64,87,170,.05);
  transition:.15s ease;
}

.quiz-question.is-correct{
  border-color:rgba(16,185,129,.30);
  background:linear-gradient(135deg, rgba(16,185,129,.08), #ffffff);
}

.quiz-question.is-wrong{
  border-color:rgba(224,82,82,.30);
  background:linear-gradient(135deg, rgba(224,82,82,.07), #ffffff);
}

.quiz-question.is-empty-answer{
  border-color:rgba(245,158,11,.34);
  background:linear-gradient(135deg, rgba(245,158,11,.08), #ffffff);
}

.quiz-question-head{
  display:grid;
  gap:6px;
  margin-bottom:12px;
}

.quiz-question-head span{
  color:#4057aa;
  font-size:12px;
  line-height:1.2;
  font-weight:700;
  letter-spacing:.045em;
  text-transform:uppercase;
}

.quiz-question-head strong{
  color:#152942;
  font-size:16px;
  line-height:1.35;
  font-weight:700;
}

.quiz-options{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:9px;
}

.quiz-option{
  position:relative;
  min-height:48px;
  display:grid;
  grid-template-columns:30px minmax(0, 1fr);
  gap:9px;
  align-items:center;
  padding:10px 12px;
  border-radius:14px;
  background:#ffffff;
  border:1px solid rgba(64,87,170,.11);
  cursor:pointer;
  transition:.15s ease;
}

.quiz-option:hover{
  border-color:rgba(64,87,170,.28);
  box-shadow:0 10px 22px rgba(64,87,170,.08);
}

.quiz-option input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}

.quiz-option-letter{
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  border-radius:10px;
  color:#4057aa;
  background:linear-gradient(135deg, rgba(64,87,170,.10), rgba(69,184,230,.16));
  border:1px solid rgba(64,87,170,.10);
  font-size:13px;
  line-height:1;
  font-weight:700;
}

.quiz-option-text{
  color:#41536b;
  font-size:14px;
  line-height:1.38;
}

.quiz-option:has(input:checked){
  border-color:rgba(64,87,170,.48);
  box-shadow:0 0 0 3px rgba(64,87,170,.09);
}

.quiz-option:has(input:checked) .quiz-option-letter{
  color:#ffffff;
  background:linear-gradient(135deg, #4057aa, #45b8e6);
}

.quiz-option.is-correct{
  border-color:rgba(16,185,129,.38);
  background:rgba(16,185,129,.09);
}

.quiz-option.is-correct .quiz-option-letter{
  color:#ffffff;
  background:linear-gradient(135deg, #10b981, #0f7f5f);
}

.quiz-option.is-wrong{
  border-color:rgba(224,82,82,.38);
  background:rgba(224,82,82,.08);
}

.quiz-option.is-wrong .quiz-option-letter{
  color:#ffffff;
  background:linear-gradient(135deg, #e05252, #b82929);
}

.quiz-feedback{
  min-height:20px;
  margin-top:10px;
  color:#65758c;
  font-size:13px;
  line-height:1.45;
  font-weight:500;
}

.quiz-question.is-correct .quiz-feedback{
  color:#0f7f5f;
}

.quiz-question.is-wrong .quiz-feedback{
  color:#b82929;
}

.quiz-question.is-empty-answer .quiz-feedback{
  color:#a16207;
}

@media (max-width:1120px){
  .quiz-summary{
    grid-template-columns:1fr;
  }

  .quiz-summary-actions{
    justify-content:flex-start;
  }
}

@media (max-width:760px){
  .quiz-part-head{
    grid-template-columns:1fr;
  }

  .quiz-part-score{
    width:max-content;
    margin-left:46px;
  }

  .quiz-options{
    grid-template-columns:1fr;
  }
}

@media (max-width:620px){
  .quiz-part{
    padding:16px;
  }

  .quiz-part-actions,
  .quiz-question-list,
  .quiz-part-score{
    margin-left:0;
  }

  .quiz-summary-actions,
  .quiz-part-actions{
    display:grid;
    grid-template-columns:1fr;
  }

  .quiz-button{
    width:100%;
  }
}


/* ===== v35: экзамен без подсказок по разделам, итог 100 баллов ===== */
.quiz-part-actions{
  display:none !important;
}

.quiz-summary.is-finished{
  border-color:rgba(16,185,129,.24);
  background:
    radial-gradient(circle at 86% 0%, rgba(16,185,129,.14), transparent 30%),
    linear-gradient(135deg, #ffffff, #f2fff9);
}

.quiz-summary.is-middle{
  border-color:rgba(245,158,11,.28);
  background:
    radial-gradient(circle at 86% 0%, rgba(245,158,11,.14), transparent 30%),
    linear-gradient(135deg, #ffffff, #fffaf0);
}

.quiz-summary.is-low{
  border-color:rgba(224,82,82,.28);
  background:
    radial-gradient(circle at 86% 0%, rgba(224,82,82,.12), transparent 30%),
    linear-gradient(135deg, #ffffff, #fff5f5);
}

.quiz-summary-main small b{
  display:block;
  margin-bottom:4px;
  color:#152942;
  font-size:15px;
  line-height:1.3;
}

.quiz-summary-main small span{
  display:block;
  color:#65758c;
  font-size:13px;
  line-height:1.45;
}

.quiz-summary.is-finished .quiz-summary-main strong{
  color:#0f7f5f;
}

.quiz-summary.is-middle .quiz-summary-main strong{
  color:#a16207;
}

.quiz-summary.is-low .quiz-summary-main strong{
  color:#b82929;
}

.quiz-part-score{
  min-width:104px;
}

.quiz-part-score:not(.is-started){
  color:#65758c;
  background:#f7f9ff;
}

.quiz-question:not(.is-correct):not(.is-wrong):not(.is-empty-answer) .quiz-feedback{
  display:none;
}

/* До завершения теста выбранный вариант просто выглядит выбранным, без намёка на правильность */
.quiz-option:has(input:checked){
  border-color:rgba(64,87,170,.48);
  background:#ffffff;
  box-shadow:0 0 0 3px rgba(64,87,170,.09);
}

.quiz-option:has(input:checked) .quiz-option-letter{
  color:#ffffff;
  background:linear-gradient(135deg, #4057aa, #45b8e6);
}


/* ===== v36: пошаговый экзамен крупными карточками ===== */
.test-step-page .workspace-tabs .workspace-more-menu a.is-current{
  color:#ffffff;
  background:linear-gradient(135deg, #4057aa, #45b8e6);
  border-color:rgba(64,87,170,.12);
}

.test-step-layout{
  grid-template-columns:minmax(0, 1fr) 300px;
}

.test-step-panel{
  min-height:640px;
}

.quiz-side-progress{
  margin:16px 6px 0;
  padding:13px;
  border-radius:14px;
  background:rgba(255,255,255,.11);
  border:1px solid rgba(255,255,255,.13);
  color:#ffffff;
}

.quiz-side-progress strong{
  display:block;
  font-size:15px;
  line-height:1.25;
  font-weight:700;
}

.quiz-side-progress span{
  display:block;
  margin-top:5px;
  color:rgba(255,255,255,.70);
  font-size:12px;
  line-height:1.35;
}

.step-progress-card{
  display:grid;
  grid-template-columns:minmax(0, 1fr) 180px;
  gap:14px;
  align-items:center;
  margin:0 0 18px;
  padding:16px 18px;
  border-radius:18px;
  background:
    radial-gradient(circle at 86% 0%, rgba(69,184,230,.20), transparent 30%),
    linear-gradient(135deg, #ffffff, #f4f8ff);
  border:1px solid rgba(64,87,170,.13);
  box-shadow:0 12px 28px rgba(64,87,170,.08);
}

.step-progress-meta span{
  display:block;
  color:#4057aa;
  font-size:12px;
  line-height:1.2;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.step-progress-meta strong{
  display:block;
  margin-top:6px;
  color:#14243a;
  font-size:22px;
  line-height:1.18;
  font-weight:700;
}

.step-progress-bar{
  grid-column:1 / -1;
  height:10px;
  overflow:hidden;
  border-radius:999px;
  background:rgba(64,87,170,.10);
}

.step-progress-bar i{
  display:block;
  width:0;
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg, #4057aa, #45b8e6);
  transition:width .2s ease;
}

.step-progress-count{
  justify-self:end;
  padding:9px 12px;
  border-radius:12px;
  color:#4057aa;
  background:#eef4ff;
  border:1px solid rgba(64,87,170,.12);
  font-size:13px;
  line-height:1;
  font-weight:700;
  white-space:nowrap;
}

.quiz-step-card{
  min-height:430px;
  display:flex;
  flex-direction:column;
  padding:24px;
  border-radius:24px;
  background:
    radial-gradient(circle at 92% 0%, rgba(69,184,230,.18), transparent 30%),
    linear-gradient(135deg, #ffffff, #f7fbff);
  border:1px solid rgba(64,87,170,.13);
  box-shadow:0 18px 42px rgba(64,87,170,.12);
}

.quiz-step-head{
  display:grid;
  gap:12px;
  margin-bottom:20px;
}

.quiz-step-head span{
  width:max-content;
  padding:7px 11px;
  border-radius:999px;
  color:#4057aa;
  background:#eef4ff;
  border:1px solid rgba(64,87,170,.12);
  font-size:13px;
  line-height:1;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.quiz-step-head h3{
  max-width:920px;
  margin:0;
  color:#14243a;
  font-size:clamp(24px, 2.35vw, 34px);
  line-height:1.18;
  letter-spacing:-.018em;
  font-weight:700;
}

.quiz-step-options{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:14px;
  margin-top:auto;
}

.quiz-step-option{
  position:relative;
  min-height:92px;
  display:grid;
  grid-template-columns:44px minmax(0, 1fr);
  gap:14px;
  align-items:center;
  padding:18px;
  border-radius:18px;
  background:#ffffff;
  border:1px solid rgba(64,87,170,.13);
  box-shadow:0 12px 26px rgba(64,87,170,.06);
  cursor:pointer;
  transition:.15s ease;
}

.quiz-step-option:hover{
  transform:translateY(-1px);
  border-color:rgba(64,87,170,.32);
  box-shadow:0 16px 34px rgba(64,87,170,.11);
}

.quiz-step-option input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}

.quiz-step-option .quiz-option-letter{
  width:44px;
  height:44px;
  border-radius:15px;
  font-size:18px;
}

.quiz-step-option .quiz-option-text{
  color:#2f4058;
  font-size:clamp(16px, 1.35vw, 20px);
  line-height:1.35;
  font-weight:600;
}

.quiz-step-option:has(input:checked){
  border-color:rgba(64,87,170,.55);
  background:
    radial-gradient(circle at 92% 0%, rgba(69,184,230,.13), transparent 36%),
    #ffffff;
  box-shadow:0 0 0 4px rgba(64,87,170,.09), 0 16px 34px rgba(64,87,170,.11);
}

.quiz-step-option:has(input:checked) .quiz-option-letter{
  color:#ffffff;
  background:linear-gradient(135deg, #4057aa, #45b8e6);
}

.quiz-step-footer{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  justify-content:space-between;
  align-items:center;
  margin-top:22px;
  padding-top:18px;
  border-top:1px solid rgba(64,87,170,.10);
}

.quiz-step-footer .quiz-button{
  min-height:44px;
  padding:11px 16px;
  font-size:14px;
}

.quiz-step-footer .quiz-button.finish{
  display:none;
  margin-left:auto;
}

.quiz-step-footer .quiz-button.finish.is-visible{
  display:inline-flex;
}

.quiz-button:disabled{
  opacity:.42;
  cursor:default;
  transform:none !important;
  box-shadow:none !important;
}

.quiz-result-screen{
  display:grid;
  gap:16px;
}

.quiz-result-hero{
  padding:26px;
  border-radius:24px;
  color:#ffffff;
  background:
    radial-gradient(circle at 20% 0%, rgba(69,184,230,.44), transparent 44%),
    linear-gradient(135deg, #4057aa, #263184);
  box-shadow:0 18px 42px rgba(64,87,170,.18);
}

.quiz-result-screen.is-good .quiz-result-hero{
  background:
    radial-gradient(circle at 20% 0%, rgba(69,184,230,.34), transparent 44%),
    linear-gradient(135deg, #0f9f76, #263184);
}

.quiz-result-screen.is-middle .quiz-result-hero{
  background:
    radial-gradient(circle at 20% 0%, rgba(245,158,11,.34), transparent 44%),
    linear-gradient(135deg, #a16207, #263184);
}

.quiz-result-screen.is-low .quiz-result-hero{
  background:
    radial-gradient(circle at 20% 0%, rgba(224,82,82,.34), transparent 44%),
    linear-gradient(135deg, #b82929, #263184);
}

.quiz-result-hero span{
  display:block;
  color:rgba(255,255,255,.74);
  font-size:12px;
  line-height:1.2;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.quiz-result-hero strong{
  display:block;
  margin-top:8px;
  font-size:clamp(42px, 5vw, 72px);
  line-height:1;
  font-weight:700;
  letter-spacing:-.04em;
}

.quiz-result-hero p{
  max-width:900px;
  margin:14px 0 0;
  color:rgba(255,255,255,.88);
  font-size:17px;
  line-height:1.55;
}

.quiz-result-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:12px;
}

.quiz-result-grid div{
  padding:16px;
  border-radius:18px;
  background:#f7f9ff;
  border:1px solid rgba(64,87,170,.11);
}

.quiz-result-grid span{
  display:block;
  color:#718096;
  font-size:12px;
  line-height:1.2;
}

.quiz-result-grid strong{
  display:block;
  margin-top:6px;
  color:#14243a;
  font-size:24px;
  line-height:1.1;
  font-weight:700;
}

.quiz-result-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.quiz-review{
  margin-top:22px;
}

.quiz-review-head{
  margin-bottom:12px;
}

.quiz-review-list{
  display:grid;
  gap:12px;
}

.review-question{
  padding:16px;
  border-radius:18px;
  background:#ffffff;
  border:1px solid rgba(64,87,170,.12);
}

.review-question.is-correct{
  border-color:rgba(16,185,129,.28);
  background:linear-gradient(135deg, rgba(16,185,129,.07), #ffffff);
}

.review-question.is-wrong{
  border-color:rgba(224,82,82,.28);
  background:linear-gradient(135deg, rgba(224,82,82,.06), #ffffff);
}

.review-question-head span{
  display:inline-flex;
  margin-bottom:7px;
  color:#4057aa;
  font-size:12px;
  line-height:1.2;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.review-question-head strong{
  display:block;
  color:#14243a;
  font-size:16px;
  line-height:1.35;
}

.review-answer-row{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:10px;
  margin-top:12px;
}

.review-answer-row div{
  padding:12px;
  border-radius:14px;
  background:#f7f9ff;
  border:1px solid rgba(64,87,170,.10);
}

.review-answer-row span{
  display:block;
  color:#718096;
  font-size:12px;
  line-height:1.2;
}

.review-answer-row strong{
  display:block;
  margin-top:5px;
  color:#263854;
  font-size:14px;
  line-height:1.35;
}

.score-scale{
  display:grid;
  gap:9px;
  margin-top:14px;
}

.score-scale div{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:10px 11px;
  border-radius:13px;
  background:#f7f9ff;
  border:1px solid rgba(64,87,170,.10);
}

.score-scale strong{
  color:#4057aa;
}

.score-scale span{
  color:#55677f;
}

@media (max-width:1180px){
  .test-step-layout{
    grid-template-columns:1fr;
  }

  .quiz-step-card{
    min-height:0;
  }

  .quiz-step-options{
    grid-template-columns:1fr;
  }
}

@media (max-width:760px){
  .step-progress-card{
    grid-template-columns:1fr;
  }

  .step-progress-count{
    justify-self:start;
  }

  .quiz-result-grid,
  .review-answer-row{
    grid-template-columns:1fr;
  }
}

@media (max-width:620px){
  .quiz-step-card{
    padding:18px;
    border-radius:20px;
  }

  .quiz-step-option{
    min-height:76px;
    grid-template-columns:38px minmax(0, 1fr);
    padding:14px;
  }

  .quiz-step-option .quiz-option-letter{
    width:38px;
    height:38px;
    border-radius:13px;
    font-size:16px;
  }

  .quiz-step-footer{
    display:grid;
    grid-template-columns:1fr;
  }

  .quiz-step-footer .quiz-button.finish,
  .quiz-result-actions .quiz-button{
    width:100%;
    justify-content:center;
  }
}

/* ===== v33.1: мобильное верхнее меню и подменю + правки экзамена ===== */
@media (max-width:860px){
  .workspace-head{
    display:flex !important;
    position:sticky;
    top:56px;
    z-index:74;
    min-height:0;
    margin:0 0 14px;
    padding:8px;
    border-radius:16px;
    flex-direction:column;
    align-items:stretch;
    gap:8px;
    overflow:visible;
    background:
      radial-gradient(circle at 78% 0%, rgba(69,184,230,.30), transparent 30%),
      linear-gradient(90deg, rgba(38,49,132,.97), rgba(64,87,170,.95));
    border-color:rgba(255,255,255,.24);
    box-shadow:0 14px 34px rgba(16,25,89,.30), inset 0 1px 0 rgba(255,255,255,.14);
  }

  body.menu-open .workspace-head{
    display:none !important;
  }

  .workspace-title{
    display:none !important;
  }

  .workspace-tabs{
    display:flex !important;
    flex-wrap:wrap;
    justify-content:flex-start;
    align-items:center;
    gap:6px;
    overflow:visible;
  }

  .workspace-tabs a,
  .workspace-more-toggle{
    min-height:34px;
    padding:8px 10px;
    border-radius:10px;
    font-size:12px;
    line-height:1;
    white-space:nowrap;
  }

  .workspace-more{
    position:relative;
  }

  .workspace-more-menu{
    position:fixed;
    top:108px;
    left:14px;
    right:14px;
    width:auto;
    min-width:0;
    max-height:calc(100vh - 126px);
    overflow:auto;
    z-index:220;
    padding:10px;
    border-radius:16px;
  }

  .workspace-more-menu:before{
    right:28px;
  }

  .workspace-more-menu a{
    min-height:44px;
    display:flex;
    align-items:center;
    font-size:13px;
    line-height:1.25;
    white-space:normal;
  }
}

/* Тест: кнопка очистки убрана, футер раскладываем по краям */
.test-step-page .quiz-step-footer{
  justify-content:space-between;
}

.test-step-page .quiz-step-footer #nextQuestionButton,
.test-step-page .quiz-step-footer #finishExamButton{
  margin-left:auto;
}

.test-step-page .quiz-result-grid{
  grid-template-columns:repeat(4, minmax(0, 1fr));
}

.test-step-page .review-answer-row{
  grid-template-columns:repeat(3, minmax(0, 1fr));
}

.review-question .review-penalty strong{
  color:#a16207;
}

@media (max-width:900px){
  .test-step-page .quiz-result-grid,
  .test-step-page .review-answer-row{
    grid-template-columns:1fr;
  }
}


/* ===== v33.2: гарантия верхнего меню и подменю на главной странице ===== */
@media (max-width:860px){
  .workspace-head{
    display:flex !important;
    position:sticky;
    top:56px;
    z-index:70;
    margin:0 0 14px;
  }

  body.menu-open .workspace-head{
    display:none !important;
  }

  .workspace-title{
    display:none !important;
  }

  .workspace-tabs{
    display:flex !important;
    flex-wrap:wrap;
    justify-content:flex-start;
    align-items:center;
    gap:6px;
    overflow:visible;
  }

  .workspace-tabs a,
  .workspace-more-toggle{
    min-height:34px;
    padding:8px 10px;
    border-radius:10px;
    font-size:12px;
    line-height:1;
    white-space:nowrap;
  }

  .workspace-more{
    position:relative;
  }

  .workspace-more-menu{
    position:fixed;
    top:108px;
    left:14px;
    right:14px;
    width:auto;
    min-width:0;
    max-height:calc(100vh - 126px);
    overflow:auto;
    z-index:220;
    padding:10px;
    border-radius:16px;
  }

  .workspace-more-menu a{
    min-height:44px;
    display:flex;
    align-items:center;
    font-size:13px;
    line-height:1.25;
    white-space:normal;
  }
}


/* ===== v33.3: тест без пропуска вопросов + управление под рукой ===== */
.test-step-page .quiz-step-toolbar{
  position:sticky;
  top:86px;
  z-index:30;
  display:grid;
  grid-template-columns:auto minmax(180px, 1fr) auto auto;
  align-items:center;
  gap:10px;
  margin:0 0 16px;
  padding:12px;
  border-radius:18px;
  background:rgba(247,250,255,.92);
  border:1px solid rgba(64,87,170,.14);
  box-shadow:0 16px 36px rgba(64,87,170,.16);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}

.test-step-page .quiz-step-toolbar .quiz-button{
  min-height:42px;
  padding:10px 15px;
}

.step-footer-hint{
  justify-self:center;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:9px 13px;
  border-radius:13px;
  color:#4057aa;
  background:#eef4ff;
  border:1px solid rgba(64,87,170,.12);
  font-size:13px;
  line-height:1.25;
  font-weight:700;
  text-align:center;
}

.step-footer-hint.is-warning{
  color:#9a3412;
  background:#fff7ed;
  border-color:rgba(249,115,22,.25);
}

.test-step-page .quiz-step-toolbar .quiz-button:disabled{
  opacity:.52;
  cursor:not-allowed;
  filter:saturate(.75);
}

.test-step-page .quiz-step-card{
  padding-bottom:24px;
}

.test-step-page .quiz-step-card .quiz-step-footer{
  display:none;
}

.nav-link.is-locked{
  opacity:.46;
  cursor:not-allowed;
}

.nav-link.is-locked small{
  opacity:.62;
}

.score-scale div:last-child{
  align-items:flex-start;
}

.score-scale div:last-child span{
  max-width:190px;
  line-height:1.25;
}

@media (max-width:1180px){
  .test-step-page .quiz-step-toolbar{
    top:112px;
    grid-template-columns:auto minmax(160px, 1fr) auto;
  }

  .test-step-page .quiz-step-toolbar .finish{
    grid-column:3;
  }
}

@media (max-width:760px){
  .test-step-page .quiz-step-toolbar{
    top:118px;
    grid-template-columns:1fr 1fr;
  }

  .step-footer-hint{
    grid-column:1 / -1;
    order:-1;
  }

  .test-step-page .quiz-step-toolbar .quiz-button{
    width:100%;
    justify-content:center;
  }

  .test-step-page .quiz-step-toolbar .finish{
    grid-column:auto;
  }
}

@media (max-width:620px){
  .test-step-page .quiz-step-toolbar{
    top:104px;
    border-radius:16px;
    padding:10px;
  }
}


/* ===== v33.4: 300-балльная шкала и лимит исправлений ===== */
.quiz-result-hero strong{
  font-size:clamp(34px, 4.2vw, 62px);
}

.score-scale div:last-child span{
  max-width:230px;
}

.step-footer-hint.is-warning{
  animation:hintPulse .35s ease-out 2;
}

@keyframes hintPulse{
  0%{transform:scale(1)}
  50%{transform:scale(1.025)}
  100%{transform:scale(1)}
}


/* ===== v33.5: предупреждение перед исправлением ответа ===== */
.step-rules-note{
  grid-column:1 / -1;
  padding:10px 12px;
  border-radius:13px;
  color:#40536b;
  background:#ffffff;
  border:1px solid rgba(64,87,170,.10);
  font-size:13px;
  line-height:1.42;
}

.step-rules-note strong{
  color:#4057aa;
  font-weight:700;
}

.quiz-correction-modal{
  position:fixed;
  inset:0;
  z-index:500;
  display:none;
  align-items:center;
  justify-content:center;
  padding:20px;
}

.quiz-correction-modal.is-open{
  display:flex;
}

.quiz-correction-backdrop{
  position:absolute;
  inset:0;
  background:rgba(9,14,58,.50);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
}

.quiz-correction-dialog{
  position:relative;
  z-index:1;
  width:min(520px, 100%);
  padding:22px;
  border-radius:22px;
  background:#ffffff;
  border:1px solid rgba(255,255,255,.88);
  box-shadow:0 28px 80px rgba(9,14,58,.36);
}

.correction-kicker{
  display:inline-flex;
  margin-bottom:10px;
  padding:6px 10px;
  border-radius:999px;
  color:#4057aa;
  background:#eef4ff;
  border:1px solid rgba(64,87,170,.12);
  font-size:12px;
  line-height:1;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.quiz-correction-dialog h2{
  margin:0;
  color:#14243a;
  font-size:26px;
  line-height:1.18;
  font-weight:700;
  letter-spacing:-.02em;
}

.quiz-correction-dialog p{
  margin:12px 0 0;
  color:#52637a;
  font-size:15px;
  line-height:1.55;
}

.correction-actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:10px;
  margin-top:18px;
}

@media (max-width:620px){
  .correction-actions{
    display:grid;
    grid-template-columns:1fr;
  }

  .correction-actions .quiz-button{
    width:100%;
    justify-content:center;
  }
}


/* ===== v33.6: вопрос чуть компактнее + подсказка перед вариантами ===== */
.quiz-step-head h3{
  max-width:900px;
  font-size:clamp(22px, 2.05vw, 30px);
  line-height:1.20;
}

.answer-confidence-note{
  margin:-4px 0 18px;
  padding:11px 13px;
  border-radius:14px;
  color:#40536b;
  background:#ffffff;
  border:1px solid rgba(64,87,170,.11);
  box-shadow:0 10px 22px rgba(64,87,170,.045);
  font-size:14px;
  line-height:1.45;
  font-weight:500;
}

.answer-confidence-note:before{
  content:"Важно";
  display:inline-flex;
  margin-right:8px;
  padding:4px 8px;
  border-radius:999px;
  color:#4057aa;
  background:#eef4ff;
  border:1px solid rgba(64,87,170,.12);
  font-size:12px;
  line-height:1;
  font-weight:700;
}

@media (max-width:620px){
  .quiz-step-head h3{
    font-size:24px;
  }

  .answer-confidence-note{
    font-size:13px;
  }
}


/* ===== v33.7: таймер вопроса ===== */
.question-timer{
  grid-column:1 / -1;
  padding:12px 13px;
  border-radius:14px;
  background:#ffffff;
  border:1px solid rgba(64,87,170,.11);
  box-shadow:0 10px 22px rgba(64,87,170,.045);
}

.timer-row{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  margin-bottom:8px;
}

.timer-row span{
  color:#40536b;
  font-size:13px;
  line-height:1.2;
  font-weight:700;
}

.timer-row strong{
  color:#4057aa;
  font-size:14px;
  line-height:1;
  font-weight:700;
}

.timer-bar{
  height:9px;
  overflow:hidden;
  border-radius:999px;
  background:rgba(64,87,170,.10);
}

.timer-bar i{
  display:block;
  width:100%;
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg, #4057aa, #45b8e6);
  transition:width .28s linear, background .18s ease;
}

.question-timer.is-warning .timer-bar i{
  background:linear-gradient(90deg, #f59e0b, #ef4444);
}

.question-timer.is-warning .timer-row strong{
  color:#b45309;
}

.question-timer.is-expired{
  background:#fff5f5;
  border-color:rgba(224,82,82,.24);
}

.question-timer.is-expired .timer-bar i{
  background:linear-gradient(90deg, #ef4444, #b82929);
}

.question-timer.is-expired .timer-row strong,
.question-timer.is-expired .timer-row span{
  color:#b82929;
}

.question-timer.is-stopped{
  background:#f2fff9;
  border-color:rgba(16,185,129,.20);
}

.question-timer.is-stopped .timer-bar i{
  background:linear-gradient(90deg, #10b981, #0f7f5f);
}

.question-timer.is-stopped .timer-row strong,
.question-timer.is-stopped .timer-row span{
  color:#0f7f5f;
}

.quiz-step-option.is-disabled{
  opacity:.64;
  cursor:not-allowed;
}

.quiz-step-option.is-disabled:hover{
  transform:none;
  box-shadow:0 12px 26px rgba(64,87,170,.06);
}


/* ===== v33.8: тест запускается только по кнопке ===== */
.test-panel.is-not-started .step-progress-card,
.test-panel.is-not-started .quiz-step-toolbar,
.test-panel.is-not-started .quiz-step-card{
  display:none !important;
}

.quiz-start-screen{
  display:grid;
  gap:16px;
}

.quiz-start-hero{
  padding:26px;
  border-radius:24px;
  color:#ffffff;
  background:
    radial-gradient(circle at 18% 0%, rgba(69,184,230,.42), transparent 42%),
    linear-gradient(135deg, #4057aa, #263184);
  box-shadow:0 18px 42px rgba(64,87,170,.18);
}

.quiz-start-hero span{
  display:inline-flex;
  margin-bottom:12px;
  padding:7px 11px;
  border-radius:999px;
  color:#ffffff;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.18);
  font-size:12px;
  line-height:1;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.quiz-start-hero h2{
  margin:0;
  font-size:clamp(30px, 4vw, 52px);
  line-height:1.05;
  letter-spacing:-.04em;
  font-weight:700;
}

.quiz-start-hero p{
  max-width:880px;
  margin:14px 0 0;
  color:rgba(255,255,255,.88);
  font-size:17px;
  line-height:1.55;
}

.quiz-start-rules{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:12px;
}

.quiz-start-rules div{
  padding:16px;
  border-radius:18px;
  background:#f7f9ff;
  border:1px solid rgba(64,87,170,.11);
  box-shadow:0 10px 22px rgba(64,87,170,.05);
}

.quiz-start-rules strong{
  display:block;
  color:#4057aa;
  font-size:24px;
  line-height:1.1;
  font-weight:700;
}

.quiz-start-rules span{
  display:block;
  margin-top:6px;
  color:#617188;
  font-size:13px;
  line-height:1.35;
}

.quiz-start-button{
  width:max-content;
  min-height:50px;
  padding:14px 22px;
  font-size:15px;
}

@media (max-width:760px){
  .quiz-start-rules{
    grid-template-columns:1fr;
  }

  .quiz-start-button{
    width:100%;
    justify-content:center;
  }
}


/* ===== v33.9: контраст текста на стартовом экране теста ===== */
.quiz-start-hero,
.quiz-start-hero h2,
.quiz-start-hero p{
  color:#ffffff !important;
}

.quiz-start-hero h2{
  text-shadow:0 2px 10px rgba(9,14,58,.18);
}

.quiz-start-hero p{
  color:rgba(255,255,255,.90) !important;
}

.quiz-start-hero span{
  color:#ffffff !important;
}


/* ===== v33.11: исправления в шкале оценки аккуратно в столбик ===== */
.score-scale .score-scale-corrections{
  display:grid;
  grid-template-columns:1fr;
  gap:5px;
  align-items:start;
  padding:12px 11px;
}

.score-scale .score-scale-corrections strong{
  color:#4057aa;
  font-size:14px;
  line-height:1.2;
}

.score-scale .score-scale-corrections span{
  display:block;
  color:#53647b;
  font-size:14px;
  line-height:1.25;
}

.score-scale .score-scale-corrections small{
  display:block;
  margin-top:3px;
  color:#53647b;
  font-size:13px;
  line-height:1.3;
}


/* ===== v34: служебная страница редактора тестов ===== */
.test-editor-page .workspace-tabs a.active{
  color:#22316e;
  background:#ffffff;
  border-color:#ffffff;
}

.editor-layout{
  grid-template-columns:minmax(0, 1fr) 310px;
}

.editor-warning{
  margin-bottom:14px;
  padding:13px 14px;
  border-radius:15px;
  color:#40536b;
  background:#eef7ff;
  border:1px solid rgba(69,184,230,.24);
  line-height:1.45;
}

.editor-warning code{
  padding:2px 6px;
  border-radius:7px;
  background:#ffffff;
  color:#4057aa;
  border:1px solid rgba(64,87,170,.10);
}

.editor-actions-bar{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin-bottom:16px;
}

.editor-button,
.editor-mini-button{
  min-height:38px;
  padding:9px 13px;
  border:0;
  border-radius:12px;
  font:700 13px/1 'Roboto', Arial, sans-serif;
  cursor:pointer;
  transition:.15s ease;
}

.editor-button.primary{
  color:#ffffff;
  background:linear-gradient(135deg, #4057aa, #45b8e6);
  box-shadow:0 12px 24px rgba(64,87,170,.16);
}

.editor-button.ghost,
.editor-mini-button{
  color:#4057aa;
  background:#eef4ff;
  border:1px solid rgba(64,87,170,.14);
}

.editor-button.danger,
.editor-mini-button.danger{
  color:#b82929;
  background:#fff5f5;
  border:1px solid rgba(224,82,82,.20);
}

.editor-button:hover,
.editor-mini-button:hover{
  transform:translateY(-1px);
  box-shadow:0 12px 24px rgba(64,87,170,.10);
}

.editor-block{
  margin-top:16px;
  padding:18px;
  border-radius:20px;
  background:#ffffff;
  border:1px solid rgba(64,87,170,.12);
  box-shadow:0 12px 30px rgba(64,87,170,.06);
}

.editor-block-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:14px;
  margin-bottom:14px;
}

.editor-block-head h3{
  margin:0;
  color:#14243a;
  font-size:22px;
  line-height:1.2;
}

.editor-block-head p{
  margin:6px 0 0;
  color:#64748b;
  line-height:1.45;
}

.editor-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:12px;
}

.editor-field{
  display:grid;
  gap:6px;
}

.editor-field.wide{
  grid-column:1 / -1;
}

.editor-field span,
.editor-options-title{
  color:#4057aa;
  font-size:12px;
  line-height:1.2;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.editor-field input,
.editor-field textarea,
.editor-option-input,
.editor-code-preview{
  width:100%;
  border-radius:13px;
  border:1px solid rgba(64,87,170,.14);
  background:#f8fbff;
  color:#20334f;
  font:500 14px/1.45 'Roboto', Arial, sans-serif;
  outline:none;
  transition:.15s ease;
}

.editor-field input,
.editor-option-input{
  min-height:42px;
  padding:10px 12px;
}

.editor-field textarea{
  min-height:92px;
  padding:10px 12px;
  resize:vertical;
}

.editor-field input:focus,
.editor-field textarea:focus,
.editor-option-input:focus,
.editor-code-preview:focus{
  border-color:rgba(64,87,170,.46);
  background:#ffffff;
  box-shadow:0 0 0 3px rgba(64,87,170,.08);
}

.editor-grade-list,
.editor-sections,
.editor-question-list{
  display:grid;
  gap:12px;
}

.editor-grade-card,
.editor-section-card,
.editor-question-card{
  padding:14px;
  border-radius:17px;
  background:#f7f9ff;
  border:1px solid rgba(64,87,170,.10);
}

.editor-grade-row{
  display:grid;
  grid-template-columns:110px 110px minmax(0, 1fr) minmax(0, 1fr);
  gap:10px;
}

.editor-section-head{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  gap:12px;
  align-items:start;
}

.editor-section-title-fields{
  display:grid;
  grid-template-columns:180px minmax(0, 1fr);
  gap:10px;
}

.editor-section-title-fields .wide:last-child{
  grid-column:1 / -1;
}

.editor-card-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  justify-content:flex-end;
}

.editor-question-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  margin-bottom:12px;
}

.editor-question-head > span{
  display:inline-flex;
  padding:6px 9px;
  border-radius:999px;
  color:#4057aa;
  background:#eef4ff;
  border:1px solid rgba(64,87,170,.12);
  font-size:12px;
  line-height:1;
  font-weight:700;
  text-transform:uppercase;
}

.editor-options{
  display:grid;
  gap:8px;
  margin:12px 0;
}

.editor-option-row{
  display:grid;
  grid-template-columns:94px minmax(0, 1fr) auto;
  gap:8px;
  align-items:center;
}

.editor-radio{
  min-height:40px;
  display:flex;
  align-items:center;
  gap:6px;
  padding:8px 9px;
  border-radius:12px;
  background:#ffffff;
  border:1px solid rgba(64,87,170,.10);
  color:#4057aa;
  font-size:12px;
  font-weight:700;
  cursor:pointer;
}

.editor-mini-button{
  min-height:38px;
  padding:8px 10px;
  font-size:12px;
}

.editor-code-preview{
  min-height:360px;
  padding:14px;
  resize:vertical;
  font-family:Consolas, 'Courier New', monospace;
  font-size:13px;
  white-space:pre;
}

.editor-nav-link{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  gap:8px;
  align-items:center;
  min-height:38px;
  padding:9px 10px;
  border-radius:12px;
  color:rgba(255,255,255,.86);
  text-decoration:none;
}

.editor-nav-link:hover{
  background:rgba(255,255,255,.10);
}

.editor-nav-link small{
  min-width:26px;
  height:24px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:rgba(255,255,255,.13);
  font-weight:700;
}

.editor-empty{
  padding:14px;
  border-radius:14px;
  color:#64748b;
  background:#ffffff;
  border:1px dashed rgba(64,87,170,.18);
}

.editor-toast{
  position:fixed;
  right:20px;
  bottom:20px;
  z-index:600;
  max-width:360px;
  padding:13px 15px;
  border-radius:15px;
  color:#ffffff;
  background:linear-gradient(135deg, #4057aa, #45b8e6);
  box-shadow:0 20px 50px rgba(15,23,42,.28);
  opacity:0;
  transform:translateY(8px);
  pointer-events:none;
  transition:.18s ease;
}

.editor-toast.is-visible{
  opacity:1;
  transform:translateY(0);
}

.is-hidden{
  display:none !important;
}

@media (max-width:1280px){
  .editor-layout{
    grid-template-columns:1fr;
  }

  .editor-grade-row,
  .editor-section-head{
    grid-template-columns:1fr;
  }

  .editor-card-actions{
    justify-content:flex-start;
  }
}

@media (max-width:760px){
  .editor-grid,
  .editor-section-title-fields,
  .editor-grade-row,
  .editor-option-row{
    grid-template-columns:1fr;
  }

  .editor-block{
    padding:14px;
  }

  .editor-actions-bar,
  .editor-card-actions{
    display:grid;
    grid-template-columns:1fr;
  }

  .editor-button,
  .editor-mini-button{
    width:100%;
  }
}


/* ===== v34.1: синяя верхняя панель на странице редактора тестов ===== */
.test-editor-page .workspace-head{
  background:
    linear-gradient(135deg, rgba(64,87,170,.96), rgba(69,184,230,.82)),
    #4057aa;
  border:1px solid rgba(255,255,255,.22);
  box-shadow:0 16px 36px rgba(15,23,42,.20);
}

.test-editor-page .workspace-head.is-scrolled{
  background:
    linear-gradient(135deg, rgba(64,87,170,.98), rgba(69,184,230,.88)),
    #4057aa;
  border-color:rgba(255,255,255,.24);
}

.test-editor-page .workspace-title{
  color:#ffffff;
}

.test-editor-page .workspace-title:hover{
  color:#ffffff;
}

.test-editor-page .title-logo{
  background:#ffffff;
  box-shadow:0 8px 18px rgba(15,23,42,.12);
}

.test-editor-page .workspace-tabs a{
  color:#ffffff;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.16);
}

.test-editor-page .workspace-tabs a:hover{
  color:#ffffff;
  background:rgba(255,255,255,.18);
  border-color:rgba(255,255,255,.28);
}

.test-editor-page .workspace-tabs a.active{
  color:#22316e;
  background:#ffffff;
  border-color:#ffffff;
  box-shadow:0 10px 22px rgba(15,23,42,.12);
}

@media (max-width:860px){
  .test-editor-page .workspace-head{
    background:
      linear-gradient(135deg, rgba(64,87,170,.98), rgba(69,184,230,.88)),
      #4057aa;
  }
}



/* ===== v38.1: единое меню "Что дальше?" по утверждённому списку ===== */
.workspace-more-menu{
  width:min(430px, calc(100vw - 56px));
  max-height:calc(100vh - 110px);
  overflow-y:auto;
  scrollbar-gutter:stable;
}

.workspace-more-menu::-webkit-scrollbar{
  width:6px;
}

.workspace-more-menu::-webkit-scrollbar-thumb{
  background:rgba(64,87,170,.22);
  border-radius:999px;
}

.workspace-tabs .workspace-more-menu a{
  display:grid;
  grid-template-columns:34px minmax(0, 1fr);
  align-items:center;
  gap:10px;
  min-height:44px;
}

.workspace-menu-num{
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  border-radius:10px;
  background:rgba(64,87,170,.09);
  border:1px solid rgba(64,87,170,.12);
  color:#4057aa;
  font-size:12px;
  line-height:1;
  font-weight:700;
}

.workspace-tabs .workspace-more-menu a:hover .workspace-menu-num,
.workspace-tabs .workspace-more-menu a:focus .workspace-menu-num,
.workspace-tabs .workspace-more-menu a.is-current .workspace-menu-num{
  color:#ffffff;
  background:rgba(255,255,255,.18);
  border-color:rgba(255,255,255,.24);
}

.workspace-tabs .workspace-more-menu a.is-current{
  color:#ffffff;
  background:linear-gradient(135deg, #4057aa, #45b8e6);
  border-color:rgba(64,87,170,.12);
}


/* ===== v38.2: фото-галереи морских контейнеров ===== */
.has-container-photo{
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(250px, 300px);
  gap:20px;
  align-items:start;
}

.container-photo-card{
  align-self:start;
  width:100%;
  max-width:300px;
}

.container-photo-card .media-inner-photo{
  background:#eef7ff;
  border-style:solid;
}

.container-photo-card .media-photo-link{
  width:100%;
  height:auto !important;
  aspect-ratio:4 / 3;
  flex:0 0 auto;
  overflow:hidden;
  background:#ffffff;
}

.container-photo-card .media-photo-link img{
  width:100%;
  height:100%;
  display:block;
  object-fit:contain;
  object-position:center center;
  background:#ffffff;
}

.container-photo-card .media-caption strong,
.container-photo-card .media-caption small{
  max-width:none;
}

@media (max-width:1280px){
  .has-container-photo{
    grid-template-columns:1fr;
  }

  .container-photo-card{
    max-width:300px;
    margin-left:46px;
  }
}

@media (max-width:620px){
  .container-photo-card{
    max-width:none;
    margin-left:0;
  }
}

/* ===== v38.3: вертикальные фото контактов на странице морских контейнеров ===== */
.contact-person.contact-person-photo-card{
  position:relative;
  width:100%;
  min-height:0;
  aspect-ratio:3 / 4;
  display:block;
  overflow:hidden;
  padding:0;
  border-radius:18px;
  color:#ffffff;
  background:
    radial-gradient(circle at 28% 10%, rgba(69,184,230,.28), transparent 42%),
    linear-gradient(135deg, #4057aa, #263184);
  border:1px solid rgba(64,87,170,.14);
  box-shadow:0 16px 34px rgba(64,87,170,.18);
}

.contact-person.contact-person-photo-card.is-docs{
  background:
    radial-gradient(circle at 28% 10%, rgba(69,184,230,.24), transparent 42%),
    linear-gradient(135deg, #7258d9, #263184);
}

.contact-person-photo{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center center;
  background:#ffffff;
  z-index:1;
}

.contact-person-photo.is-hidden{
  display:none;
}

.contact-person-placeholder{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  color:rgba(255,255,255,.22);
  font-size:92px;
  line-height:1;
  font-weight:700;
  z-index:0;
}

.contact-person.contact-person-photo-card:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  background:
    linear-gradient(180deg, rgba(7,12,40,0) 0%, rgba(7,12,40,.10) 34%, rgba(7,12,40,.72) 100%),
    radial-gradient(circle at 50% 18%, rgba(255,255,255,.12), transparent 38%);
  pointer-events:none;
}

.contact-person-overlay{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  z-index:3;
  padding:16px;
  text-shadow:0 2px 10px rgba(0,0,0,.26);
}

.contact-person-overlay span,
.contact-person.contact-person-photo-card span{
  display:block;
  color:rgba(255,255,255,.78);
  font-size:12px;
  line-height:1.2;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.contact-person-overlay strong,
.contact-person.contact-person-photo-card strong{
  display:block;
  margin-top:7px;
  color:#ffffff;
  font-size:25px;
  line-height:1.05;
  font-weight:700;
}

.contact-person-overlay a,
.contact-person.contact-person-photo-card a{
  display:inline-flex;
  margin-top:9px;
  color:#ffffff;
  font-size:15px;
  line-height:1.2;
  font-weight:700;
  text-decoration:none;
}

.contact-person-overlay a:hover,
.contact-person.contact-person-photo-card a:hover{
  text-decoration:underline;
  text-underline-offset:3px;
}

@media (max-width:760px){
  .contact-person.contact-person-photo-card{
    width:min(220px, 100%);
  }
}

@media (max-width:620px){
  .contact-person.contact-person-photo-card{
    width:min(210px, 100%);
  }

  .contact-person-overlay{
    padding:14px;
  }
}

/* ===== v38.4: отдельная страница "Работа с клиентом при отсутствии ТЗ" ===== */
.no-tz-page .workspace-tabs .workspace-more-menu a.is-current{
  color:#ffffff;
  background:linear-gradient(135deg, #4057aa, #45b8e6);
  border-color:rgba(64,87,170,.12);
}

.no-tz-hero .lead{
  max-width:960px;
}

.no-tz-sections{
  display:grid;
  gap:14px;
}

.no-tz-section{
  padding:20px;
}

.no-tz-accent,
.no-tz-finish{
  background:
    radial-gradient(circle at 92% 10%, rgba(69,184,230,.16), transparent 28%),
    linear-gradient(135deg, #ffffff, #f4f8ff);
}

.no-tz-goal-grid,
.no-tz-choice-grid,
.no-tz-two-cols,
.no-tz-scenario-grid,
.no-tz-price-tables{
  display:grid;
  gap:12px;
  margin-left:46px;
  margin-top:14px;
}

.no-tz-goal-grid{
  grid-template-columns:repeat(3, minmax(0, 1fr));
}

.no-tz-choice-grid,
.no-tz-two-cols,
.no-tz-price-tables{
  grid-template-columns:repeat(2, minmax(0, 1fr));
}

.no-tz-scenario-grid{
  grid-template-columns:repeat(3, minmax(0, 1fr));
}

.no-tz-goal-grid div,
.no-tz-choice-grid div,
.no-tz-scenario-card{
  padding:15px;
  border-radius:16px;
  background:#f7f9ff;
  border:1px solid rgba(64,87,170,.11);
  box-shadow:0 10px 22px rgba(64,87,170,.05);
}

.no-tz-goal-grid strong,
.no-tz-choice-grid strong,
.no-tz-scenario-card strong{
  display:block;
  color:#14243a;
  font-size:17px;
  line-height:1.2;
  font-weight:700;
}

.no-tz-goal-grid span,
.no-tz-choice-grid span,
.no-tz-scenario-card span{
  display:block;
  margin-bottom:8px;
  color:#4057aa;
  font-size:12px;
  line-height:1.2;
  font-weight:700;
  letter-spacing:.045em;
  text-transform:uppercase;
}

.no-tz-goal-grid span,
.no-tz-choice-grid span{
  margin:6px 0 0;
  color:#65758c;
  font-size:13px;
  font-weight:400;
  letter-spacing:0;
  text-transform:none;
}

.no-tz-scenario-card p{
  margin:8px 0 0;
  color:#53647b;
  font-size:14px;
  line-height:1.5;
}

.no-tz-scenario-card.is-good{
  background:
    radial-gradient(circle at 82% 0%, rgba(69,184,230,.14), transparent 38%),
    #f7f9ff;
  border-color:rgba(69,184,230,.20);
}

.no-tz-question{
  background:linear-gradient(135deg, #ffffff, #fbfdff);
}

.question-script{
  margin-left:46px;
  padding:14px 15px;
  border-radius:15px;
  background:linear-gradient(135deg, rgba(64,87,170,.08), rgba(69,184,230,.12));
  border:1px solid rgba(64,87,170,.12);
}

.question-script span{
  display:block;
  margin-bottom:5px;
  color:#4057aa;
  font-size:12px;
  line-height:1.2;
  font-weight:700;
  letter-spacing:.05em;
  text-transform:uppercase;
}

.question-script p{
  margin:0;
  color:#344762;
  font-size:15px;
  line-height:1.55;
}

.no-tz-material-row,
.no-tz-option-cloud{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-left:46px;
  margin-top:14px;
}

.no-tz-material-row span,
.no-tz-option-cloud span{
  display:inline-flex;
  align-items:center;
  min-height:32px;
  padding:7px 10px;
  border-radius:999px;
  color:#4057aa;
  background:#eef4ff;
  border:1px solid rgba(64,87,170,.12);
  font-size:13px;
  line-height:1.2;
  font-weight:600;
}

.no-tz-option-cloud span{
  color:#344762;
  background:#f7f9ff;
}

.no-tz-office-grid{
  margin-left:46px;
  grid-template-columns:repeat(2, minmax(0, 1fr));
}

.no-tz-kits-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:14px;
  margin-left:46px;
  margin-top:14px;
}

.kit-card,
.no-tz-price-box{
  min-width:0;
  padding:16px;
  border-radius:17px;
  background:#f7f9ff;
  border:1px solid rgba(64,87,170,.12);
  box-shadow:0 10px 22px rgba(64,87,170,.05);
}

.kit-card{
  position:relative;
  overflow:hidden;
}

.kit-card:before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:4px;
  background:linear-gradient(90deg, #45b8e6, #4057aa);
}

.kit-card.is-popular:before{
  background:linear-gradient(90deg, #45b8e6, #54b675);
}

.kit-card.is-premium:before{
  background:linear-gradient(90deg, #7258d9, #4057aa);
}

.kit-card > span{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:6px 10px;
  border-radius:999px;
  color:#4057aa;
  background:#ffffff;
  border:1px solid rgba(64,87,170,.12);
  font-size:13px;
  line-height:1;
  font-weight:700;
}

.kit-card strong,
.no-tz-price-box strong{
  display:block;
  margin-top:12px;
  color:#14243a;
  font-size:20px;
  line-height:1.2;
  font-weight:700;
}

.no-tz-price-box strong{
  margin-top:0;
  font-size:17px;
}

.kit-card small{
  display:block;
  margin-top:4px;
  color:#65758c;
  font-size:13px;
  line-height:1.35;
}

.no-tz-mini-table,
.no-tz-price-table{
  width:100%;
  margin-top:12px;
  border-collapse:separate;
  border-spacing:0;
  overflow:hidden;
  border-radius:13px;
  border:1px solid rgba(64,87,170,.11);
  background:#ffffff;
}

.no-tz-mini-table th,
.no-tz-mini-table td,
.no-tz-price-table td{
  padding:9px 10px;
  border-bottom:1px solid rgba(64,87,170,.09);
  vertical-align:top;
  color:#45566d;
  font-size:13px;
  line-height:1.35;
}

.no-tz-mini-table tr:last-child th,
.no-tz-mini-table tr:last-child td,
.no-tz-price-table tr:last-child td{
  border-bottom:0;
}

.no-tz-mini-table th{
  width:34%;
  color:#718096;
  background:#f8faff;
  font-weight:600;
  text-align:left;
}

.no-tz-price-table td:last-child{
  width:118px;
  color:#14243a;
  font-weight:700;
  text-align:right;
  white-space:nowrap;
}

.ral-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:12px;
  margin-left:46px;
  margin-top:14px;
}

.ral-grid div{
  padding:12px;
  border-radius:16px;
  background:#f7f9ff;
  border:1px solid rgba(64,87,170,.11);
}

.ral-grid i{
  display:block;
  width:100%;
  height:42px;
  margin-bottom:10px;
  border-radius:12px;
  background:var(--ral);
  border:1px solid rgba(20,35,58,.10);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.20);
}

.ral-grid strong{
  display:block;
  color:#14243a;
  font-size:15px;
  line-height:1.2;
  font-weight:700;
}

.ral-grid span{
  display:block;
  margin-top:4px;
  color:#65758c;
  font-size:12px;
  line-height:1.35;
}

.no-tz-san-grid{
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(360px, 460px);
  gap:16px;
  margin-left:46px;
  margin-top:14px;
  align-items:start;
}

.price-hero{
  display:grid;
  place-items:start;
  padding:16px;
  border-radius:17px;
  background:
    radial-gradient(circle at 20% 0%, rgba(69,184,230,.16), transparent 42%),
    linear-gradient(135deg, rgba(64,87,170,.08), rgba(69,184,230,.10));
  border:1px solid rgba(64,87,170,.12);
}

.price-hero span{
  color:#65758c;
  font-size:12px;
  line-height:1.2;
  font-weight:700;
  letter-spacing:.05em;
  text-transform:uppercase;
}

.price-hero strong{
  display:block;
  margin-top:8px;
  color:#4057aa;
  font-size:30px;
  line-height:1.1;
  font-weight:700;
}

.price-hero small{
  margin-top:4px;
  color:#718096;
}

.no-tz-san-flow{
  margin:12px 0 0;
  grid-template-columns:1fr;
}

.no-tz-san-table{
  margin-top:12px;
}

.no-tz-media-stack{
  display:grid;
  gap:12px;
}

.no-tz-scheme-card .media-photo-link img{
  object-fit:contain;
  background:#ffffff;
}

.no-tz-check-flow{
  grid-template-columns:repeat(2, minmax(0, 1fr));
}

@media (max-width:1280px){
  .no-tz-goal-grid,
  .no-tz-scenario-grid,
  .ral-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .no-tz-san-grid{
    grid-template-columns:1fr;
  }

  .no-tz-media-stack{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media (max-width:860px){
  .no-tz-kits-grid,
  .no-tz-price-tables,
  .no-tz-office-grid,
  .no-tz-two-cols,
  .no-tz-choice-grid,
  .no-tz-goal-grid,
  .no-tz-scenario-grid,
  .ral-grid,
  .no-tz-media-stack,
  .no-tz-check-flow{
    grid-template-columns:1fr;
  }
}

@media (max-width:620px){
  .no-tz-section{
    padding:16px;
  }

  .no-tz-goal-grid,
  .no-tz-choice-grid,
  .no-tz-two-cols,
  .no-tz-scenario-grid,
  .no-tz-price-tables,
  .question-script,
  .no-tz-material-row,
  .no-tz-option-cloud,
  .no-tz-office-grid,
  .no-tz-kits-grid,
  .ral-grid,
  .no-tz-san-grid{
    margin-left:0;
  }

  .no-tz-mini-table,
  .no-tz-price-table{
    display:block;
    overflow-x:auto;
    white-space:normal;
  }
}

/* ===== v38.6: пауза таймера при возврате к вопросу ===== */
.question-timer.is-paused{
  background:#f7f9ff;
  border-color:rgba(64,87,170,.18);
}

.question-timer.is-paused .timer-bar i{
  background:linear-gradient(90deg, #4057aa, #45b8e6);
}

.question-timer.is-paused .timer-row strong,
.question-timer.is-paused .timer-row span{
  color:#4057aa;
}

/* ===== v38.7: страница "Взаимодействие и отправка на сметный отдел" ===== */
.estimate-page .workspace-tabs .workspace-more-menu a.is-current{
  color:#ffffff;
  background:linear-gradient(135deg, #4057aa, #45b8e6);
  border-color:rgba(64,87,170,.12);
}

.estimate-hero .lead{
  max-width:940px;
}

.estimate-sections{
  display:grid;
  gap:14px;
}

.estimate-section{
  padding:20px;
}

.estimate-accent,
.estimate-finish{
  background:
    radial-gradient(circle at 92% 10%, rgba(69,184,230,.16), transparent 28%),
    linear-gradient(135deg, #ffffff, #f4f8ff);
}

.estimate-finish{
  background:
    radial-gradient(circle at 12% 10%, rgba(69,184,230,.15), transparent 28%),
    linear-gradient(135deg, #ffffff, #f7fbff);
}

.estimate-two-cols{
  display:grid;
  grid-template-columns:minmax(0, 1fr) 310px;
  gap:16px;
  align-items:start;
  margin-left:46px;
}

.estimate-two-cols-reverse{
  grid-template-columns:310px minmax(0, 1fr);
  margin-top:16px;
}

.estimate-flow-list,
.estimate-question-grid,
.estimate-step-grid,
.estimate-check-flow{
  margin-left:46px;
}

.estimate-two-cols .estimate-flow-list,
.estimate-two-cols .estimate-question-grid,
.estimate-two-cols .estimate-step-grid,
.estimate-two-cols .estimate-check-flow{
  margin-left:0;
}

.estimate-soft-card{
  margin-left:0;
  align-self:start;
}

.estimate-question-grid{
  grid-template-columns:repeat(4, minmax(0, 1fr));
}

.estimate-step-grid{
  grid-template-columns:repeat(3, minmax(0, 1fr));
}

.estimate-visual-card{
  border-radius:17px;
  padding:10px;
  background:
    linear-gradient(135deg, rgba(64,87,170,.08), rgba(69,184,230,.13)),
    #f6f9ff;
  border:1px solid rgba(64,87,170,.12);
  box-shadow:0 14px 28px rgba(64,87,170,.07);
}

.estimate-two-cols .estimate-visual-card{
  max-width:300px;
}

.estimate-two-cols .estimate-visual-card .estimate-image-link--landscape-compact{
  aspect-ratio:1390 / 1120;
}

.estimate-visual-wide .estimate-visual-card{
  max-width:660px;
}

.estimate-image-link{
  display:block;
  overflow:hidden;
  border-radius:13px 13px 0 0;
  background:#ffffff;
  border:1px solid rgba(64,87,170,.12);
  cursor:zoom-in;
  width:100%;
}

.estimate-image-link--portrait{
  aspect-ratio:3 / 4;
}

.estimate-image-link--landscape-compact{
  aspect-ratio:1390 / 1120;
}

.estimate-image-link--wide{
  aspect-ratio:16 / 10;
}

.estimate-image-link img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  background:#ffffff;
}

.estimate-visual-wide{
  margin:16px 0 0 46px;
  max-width:660px;
}

.estimate-email-card .estimate-image-link{
  aspect-ratio:3 / 4;
}

.estimate-visual-caption{
  padding:10px 11px 12px;
  background:rgba(255,255,255,.82);
  border:1px solid rgba(64,87,170,.10);
  border-top:0;
  border-radius:0 0 13px 13px;
}

.estimate-visual-caption strong{
  display:block;
  color:#16263e;
  font-size:13px;
  line-height:1.25;
  font-weight:700;
}

.estimate-visual-caption span{
  display:block;
  margin-top:4px;
  color:#6b7a92;
  font-size:12px;
  line-height:1.35;
}

.estimate-rules-grid,
.estimate-send-grid{
  margin-left:46px;
  display:grid;
  gap:12px;
}

.estimate-rules-grid{
  grid-template-columns:repeat(3, minmax(0, 1fr));
}

.estimate-rules-grid div,
.estimate-send-grid div{
  padding:15px;
  border-radius:16px;
  background:#f7f9ff;
  border:1px solid rgba(64,87,170,.11);
  box-shadow:0 10px 22px rgba(64,87,170,.05);
}

.estimate-rules-grid strong,
.estimate-send-grid strong{
  display:block;
  color:#14243a;
  font-size:15px;
  line-height:1.3;
  font-weight:700;
}

.estimate-rules-grid span{
  display:block;
  margin-top:7px;
  color:#5c6b80;
  font-size:14px;
  line-height:1.48;
}

.estimate-send-grid{
  grid-template-columns:repeat(2, minmax(0, 1fr));
}

.estimate-send-grid div > span{
  display:inline-flex;
  margin-bottom:9px;
  min-width:28px;
  height:25px;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  color:#4057aa;
  background:linear-gradient(135deg, rgba(64,87,170,.11), rgba(69,184,230,.17));
  border:1px solid rgba(64,87,170,.10);
  font-size:12px;
  line-height:1;
  font-weight:800;
}

.estimate-send-grid p{
  margin:7px 0 0;
  color:#5c6b80;
  font-size:14px;
  line-height:1.48;
}

.estimate-final-checklist{
  margin-left:46px;
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:10px;
}

.estimate-final-checklist label{
  display:flex;
  align-items:flex-start;
  gap:10px;
  padding:12px 13px;
  border-radius:14px;
  background:#f7f9ff;
  border:1px solid rgba(64,87,170,.10);
  color:#344762;
  font-size:14px;
  line-height:1.42;
}

.estimate-final-checklist input{
  width:18px;
  height:18px;
  flex:0 0 auto;
  margin:0;
  accent-color:#4057aa;
}

@media (max-width:1280px){
  .estimate-question-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media (max-width:980px){
  .estimate-two-cols,
  .estimate-two-cols-reverse{
    grid-template-columns:1fr;
  }

  .estimate-two-cols,
  .estimate-visual-wide,
  .estimate-rules-grid,
  .estimate-send-grid,
  .estimate-final-checklist,
  .estimate-flow-list,
  .estimate-question-grid,
  .estimate-step-grid,
  .estimate-check-flow{
    margin-left:0;
  }

  .estimate-visual-card{
    max-width:420px;
  }

  .estimate-visual-wide{
    max-width:none;
  }

  .estimate-rules-grid,
  .estimate-send-grid,
  .estimate-final-checklist,
  .estimate-question-grid,
  .estimate-step-grid,
  .estimate-check-flow{
    grid-template-columns:1fr;
  }
}

@media (max-width:540px){
  .estimate-section{
    padding:16px;
  }

  .estimate-visual-card{
    max-width:none;
  }
}


/* ===== v38.8: вертикальные изображения в лайтбоксе и компактное письмо ===== */
.lightbox-panel.is-landscape{
  width:min(1120px, calc(100vw - 40px));
  max-width:1120px;
  max-height:calc(100vh - 40px);
}

.lightbox-panel.is-portrait{
  width:min(760px, calc(100vw - 28px));
  max-width:760px;
  max-height:calc(100vh - 20px);
  padding:12px 12px 10px;
}

.lightbox-panel.is-portrait img{
  width:auto;
  max-width:100%;
  height:auto;
  max-height:calc(100vh - 104px);
  object-fit:contain;
  margin:0 auto;
}

.lightbox-panel.is-portrait .lightbox-caption{
  margin:10px 48px 0 6px;
}

.estimate-email-card-compact{
  width:220px;
  max-width:220px;
  justify-self:start;
  align-self:start;
}

.estimate-email-card-compact .estimate-image-link{
  aspect-ratio:3 / 4;
  padding:8px;
  background:#ffffff;
}

.estimate-email-card-compact .estimate-image-link img{
  object-fit:contain;
  object-position:center center;
}

@media (max-width:980px){
  .estimate-email-card-compact{
    width:190px;
    max-width:190px;
  }
}

@media (max-width:620px){
  .lightbox-panel.is-portrait{
    width:calc(100vw - 16px);
    max-height:calc(100vh - 12px);
    padding:10px;
    border-radius:16px;
  }

  .lightbox-panel.is-portrait img{
    max-height:calc(100vh - 94px);
  }

  .lightbox-panel.is-portrait .lightbox-caption{
    margin:8px 40px 0 2px;
    font-size:13px;
  }

  .estimate-email-card-compact{
    width:190px;
    max-width:190px;
  }
}


/* ===== v38.10: страница отправки заявки на производство ===== */
.production-panel{
  overflow:hidden;
}

.production-sections{
  display:grid;
  gap:14px;
}

.production-section{
  padding:20px;
}

.production-accent,
.production-finish{
  background:
    radial-gradient(circle at 92% 10%, rgba(69,184,230,.16), transparent 28%),
    linear-gradient(135deg, #ffffff, #f4f8ff);
}

.production-two-cols{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(300px, 390px);
  gap:16px;
  align-items:start;
}

.production-two-cols .production-flow-list{
  margin-left:46px;
}

.production-visual-card{
  border-radius:17px;
  padding:10px;
  background:
    linear-gradient(135deg, rgba(64,87,170,.08), rgba(69,184,230,.13)),
    #f6f9ff;
  border:1px solid rgba(64,87,170,.12);
  box-shadow:0 14px 28px rgba(64,87,170,.07);
}

.production-image-link{
  display:block;
  width:100%;
  overflow:hidden;
  border-radius:13px 13px 0 0;
  background:#fff;
  border:1px solid rgba(64,87,170,.12);
  cursor:zoom-in;
}

.production-image-link--request{
  aspect-ratio:1966 / 1290;
}

.production-image-link img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  background:#fff;
}

.production-visual-caption{
  padding:10px 11px 12px;
  background:rgba(255,255,255,.82);
  border:1px solid rgba(64,87,170,.10);
  border-top:0;
  border-radius:0 0 13px 13px;
}

.production-visual-caption strong{
  display:block;
  color:#16263e;
  font-size:13px;
  line-height:1.25;
  font-weight:700;
}

.production-visual-caption span{
  display:block;
  margin-top:4px;
  color:#6b7a92;
  font-size:12px;
  line-height:1.35;
}

.production-question-grid,
.production-send-grid,
.production-warning-grid,
.production-step-grid,
.production-payment-grid,
.production-cost-flow,
.production-final-checklist{
  margin-left:46px;
}

.production-question-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
}

.production-send-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}

.production-send-grid > div{
  padding:15px;
  border-radius:16px;
  background:linear-gradient(135deg,#ffffff,#f6f9ff);
  border:1px solid rgba(64,87,170,.13);
  box-shadow:0 10px 22px rgba(64,87,170,.05);
}

.production-send-grid span{
  display:inline-flex;
  margin-bottom:8px;
  padding:5px 8px;
  border-radius:999px;
  background:rgba(64,87,170,.09);
  color:#4057aa;
  font-size:11px;
  font-weight:700;
}

.production-send-grid strong{
  display:block;
  color:#14243a;
  font-size:15px;
  line-height:1.25;
  font-weight:700;
}

.production-send-grid p{
  margin:7px 0 0;
  color:#53647b;
  font-size:14px;
  line-height:1.45;
}

.production-warning-grid{
  display:grid;
  grid-template-columns:minmax(0,300px) minmax(0,1fr);
  gap:14px;
}

.production-warning-grid .objection-card,
.production-warning-grid .soft-card{
  margin-left:0;
}

.production-do-not{
  background:linear-gradient(135deg, rgba(186,1,42,.08), rgba(255,255,255,.96));
  border-color:rgba(186,1,42,.15);
}

.production-step-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
}

.production-payment-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
}

.production-payment-grid .warehouse-card p{
  margin:6px 0 0;
  color:#6b7a92;
  font-size:13px;
  line-height:1.35;
}

.production-cost-flow div{
  border-color:rgba(186,1,42,.16);
}

.production-critical-note{
  margin-top:14px;
}

.production-final-checklist{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}

.production-final-checklist label{
  display:flex;
  gap:10px;
  align-items:flex-start;
  padding:12px 13px;
  border-radius:14px;
  background:#f7f9ff;
  border:1px solid rgba(64,87,170,.10);
  color:#344762;
  font-size:14px;
  line-height:1.42;
}

.production-final-checklist input{
  width:18px;
  height:18px;
  flex:0 0 auto;
  margin:0;
  accent-color:#4057aa;
}

@media (max-width:1280px){
  .production-question-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:980px){
  .production-two-cols{
    grid-template-columns:1fr;
  }

  .production-two-cols .production-flow-list,
  .production-question-grid,
  .production-send-grid,
  .production-warning-grid,
  .production-step-grid,
  .production-payment-grid,
  .production-cost-flow,
  .production-final-checklist{
    margin-left:0;
  }

  .production-visual-card{
    max-width:520px;
  }

  .production-send-grid,
  .production-warning-grid,
  .production-step-grid,
  .production-payment-grid,
  .production-final-checklist,
  .production-question-grid{
    grid-template-columns:1fr;
  }
}

@media (max-width:540px){
  .production-section{
    padding:16px;
  }

  .production-visual-card{
    max-width:none;
  }
}

/* ===== v38.16: точечные отступы без изменения сеток ===== */
/*
  Только вертикальные отступы. Не трогаем grid-template-columns,
  ширины медиакарточек, контейнеры, галереи и посадочные места.
*/

/* Правые информационные карточки: заголовок не должен прилипать к блоку ниже */
.info-card > h2:not(:last-child){
  margin-bottom:14px;
}

/* Если после заголовка уже есть блок со своим верхним отступом, не удваиваем расстояние */
.info-card > h2 + .check-list,
.info-card > h2 + .quick-grid,
.info-card > h2 + .score-scale{
  margin-top:0;
}

/* Плашки детализации внутри variant-разделов */
.variant-section-divider + .variant-inline-stack{
  margin-top:18px;
}

/* На мобильных чуть компактнее, чтобы не раздувать карточки */
@media (max-width:620px){
  .info-card > h2:not(:last-child){
    margin-bottom:12px;
  }

  .variant-section-divider + .variant-inline-stack{
    margin-top:14px;
  }
}

/* ===== v38.16.1: дополнительный отступ под плашкой детализации ===== */
/*
  В некоторых variant-разделах (например, "Двери") 18px всё ещё мало:
  медиакарточка справа визуально подлипает к блоку .variant-section-divider.
  Усиливаем только этот один отступ, не затрагивая сетки и размеры карточек.
*/
.variant-section-divider + .variant-inline-stack{
  margin-top:24px;
}

@media (max-width:620px){
  .variant-section-divider + .variant-inline-stack{
    margin-top:18px;
  }
}


/* ===== v38.29.1: фикс выпадающего меню "Что дальше?" ===== */
/*
  На странице теста часть пунктов подменю была старой разметкой без span-обёрток.
  Более поздний CSS ожидал внутри ссылки два элемента: номер + текст.
  Из-за этого голый текст попадал в узкую первую колонку и переносился по словам.
  Ниже делаем подменю устойчивым и к новой, и к старой разметке.
*/
.workspace-tabs .workspace-more-menu a{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  width:100% !important;
  min-width:0 !important;
  grid-template-columns:none !important;
  white-space:normal !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
}

.workspace-tabs .workspace-more-menu a .workspace-menu-num{
  flex:0 0 28px !important;
}

.workspace-tabs .workspace-more-menu a span:not(.workspace-menu-num){
  min-width:0 !important;
  flex:1 1 auto !important;
}

.workspace-more-menu{
  min-width:min(430px, calc(100vw - 56px)) !important;
}

@media (max-width:860px){
  .workspace-more-menu{
    min-width:0 !important;
  }
}

/* ===== v38.37: кнопка «Скрипты» и постоянная версия приложения ===== */
.workspace-script{
  position:relative;
  flex:0 0 auto;
  isolation:isolate;
}

.workspace-script-toggle{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:36px;
  padding:8px 14px;
  border-radius:10px;
  border:1px solid rgba(255,210,224,.44);
  color:#ffffff;
  background:
    radial-gradient(circle at 22% 12%, rgba(255,255,255,.22), transparent 42%),
    linear-gradient(135deg, rgba(186,1,42,.96), rgba(239,68,108,.88));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.20),
    0 10px 24px rgba(73,7,28,.20);
  font:700 13px/1 'Roboto', Arial, sans-serif;
  cursor:pointer;
  white-space:nowrap;
  transition:.15s ease;
}

.workspace-script-toggle:after{
  content:"";
  width:7px;
  height:7px;
  margin-left:8px;
  border-right:2px solid currentColor;
  border-bottom:2px solid currentColor;
  transform:translateY(-2px) rotate(45deg);
  opacity:.86;
}

.workspace-script:hover .workspace-script-toggle,
.workspace-script:focus-within .workspace-script-toggle{
  transform:translateY(-1px);
  border-color:rgba(255,236,242,.72);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.24),
    0 13px 28px rgba(73,7,28,.24);
}

.workspace-script.is-open .workspace-script-toggle{
  color:#ffffff;
  background:linear-gradient(135deg, #a60125, #d91f50);
  border-color:rgba(255,236,242,.78);
}

.workspace-script.is-open .workspace-script-toggle:after{
  transform:translateY(2px) rotate(225deg);
}

.workspace-script-menu{
  position:absolute;
  right:0;
  top:calc(100% + 9px);
  z-index:65;
  width:330px;
  min-width:min(390px, calc(100vw - 56px));
  display:grid;
  gap:6px;
  padding:10px;
  border-radius:16px;
  background:rgba(255,255,255,.98);
  border:1px solid rgba(186,1,42,.14);
  box-shadow:0 22px 54px rgba(73,7,28,.26);
  opacity:0;
  visibility:hidden;
  transform:translateY(-6px);
  pointer-events:none;
  transition:.14s ease;
}

.workspace-script-menu:before{
  content:"";
  position:absolute;
  right:26px;
  top:-7px;
  width:14px;
  height:14px;
  transform:rotate(45deg);
  background:rgba(255,255,255,.98);
  border-left:1px solid rgba(186,1,42,.10);
  border-top:1px solid rgba(186,1,42,.10);
}

.workspace-script.is-open .workspace-script-menu{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
  pointer-events:auto;
}

.workspace-tabs .workspace-script-menu a{
  display:flex;
  align-items:center;
  gap:10px;
  width:100%;
  min-width:0;
  padding:10px 11px;
  border-radius:11px;
  color:#263854;
  background:#fff7fa;
  border:1px solid rgba(186,1,42,.10);
  font-size:13px;
  line-height:1.32;
  font-weight:700;
  white-space:normal;
  word-break:normal;
  overflow-wrap:normal;
}

.workspace-tabs .workspace-script-menu a .workspace-menu-num{
  flex:0 0 28px;
}

.workspace-tabs .workspace-script-menu a span:not(.workspace-menu-num){
  min-width:0;
  flex:1 1 auto;
}

.workspace-tabs .workspace-script-menu a:hover,
.workspace-tabs .workspace-script-menu a:focus,
.workspace-tabs .workspace-script-menu a.is-current{
  color:#ffffff;
  background:linear-gradient(135deg, #ba012a, #ef446c);
  border-color:rgba(186,1,42,.10);
  outline:none;
}

.academy-version-badge{
  position:fixed;
  right:72px;
  bottom:12px;
  z-index:115;
  color:rgba(255,255,255,.86);
  font:700 11px/1.2 'Roboto', Arial, sans-serif;
  letter-spacing:.02em;
  text-shadow:0 1px 2px rgba(16,25,89,.38);
  pointer-events:none;
  user-select:none;
}

body.admin-page .academy-version-badge,
body.results-page .academy-version-badge,
body.test-editor-page .academy-version-badge,
body.login-page .academy-version-badge,
body.rop-login-page .academy-version-badge{
  color:rgba(255,255,255,.88);
  text-shadow:0 1px 2px rgba(0,0,0,.45);
}

@media (max-width:1180px){
  .workspace-script-menu{
    right:auto;
    left:0;
  }

  .workspace-script-menu:before{
    right:auto;
    left:28px;
  }
}

@media (max-width:860px){
  .workspace-script-menu{
    min-width:0;
    width:min(360px, calc(100vw - 40px));
  }

  .academy-version-badge{
    right:18px;
    bottom:10px;
    font-size:10px;
  }
}

/* ===== v38.37: заготовки страниц скриптов продаж ===== */
.script-page .script-hero-note{
  margin-top:14px;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.script-page .script-pill{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:6px 10px;
  border-radius:999px;
  color:#4057aa;
  background:#eef4ff;
  border:1px solid rgba(64,87,170,.14);
  font-size:12px;
  font-weight:800;
}

.script-page .script-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}

.script-page .script-card{
  padding:18px;
  border-radius:20px;
  background:linear-gradient(135deg,#ffffff,#f7faff);
  border:1px solid rgba(64,87,170,.12);
  box-shadow:0 12px 30px rgba(16,25,89,.07);
}

.script-page .script-card.wide{
  grid-column:1 / -1;
}

.script-page .script-card h3{
  margin:0 0 10px;
  color:#14243a;
  font-size:18px;
  line-height:1.25;
}

.script-page .script-card p,
.script-page .script-card li{
  color:#4b5d78;
  line-height:1.62;
}

.script-page .script-card ul,
.script-page .script-card ol{
  margin:0;
  padding-left:22px;
}

.script-page .script-placeholder{
  margin-top:12px;
  padding:15px;
  border-radius:16px;
  color:#64748b;
  background:repeating-linear-gradient(135deg,#f8fbff 0,#f8fbff 10px,#f1f5ff 10px,#f1f5ff 20px);
  border:1px dashed rgba(64,87,170,.26);
  font-weight:700;
}

.script-page .script-nav-list{
  display:grid;
  gap:8px;
}

.script-page .script-nav-list a{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:42px;
  padding:10px 12px;
  border-radius:14px;
  color:#eaf2ff;
  text-decoration:none;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.11);
  font-weight:800;
  line-height:1.25;
}

.script-page .script-nav-list a.is-current,
.script-page .script-nav-list a:hover{
  color:#ffffff;
  background:linear-gradient(135deg,rgba(186,1,42,.92),rgba(239,68,108,.80));
  border-color:rgba(255,220,230,.28);
}

@media (max-width:900px){
  .script-page .script-grid{
    grid-template-columns:1fr;
  }
}


/* ===== v38.37: наполненные страницы скриптов + иконка Word ===== */
.academy-version-badge{
  right:92px;
  bottom:18px;
}

.script-page .script-hero{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:24px;
}

.script-page .script-hero-main{
  min-width:0;
  max-width:920px;
}

.script-page .script-word-download,
.script-page .word-download-card,
.script-page .script-sidebar-download{
  display:flex;
  align-items:center;
  gap:12px;
  text-decoration:none;
}

.script-page .script-word-download{
  flex:0 0 auto;
  min-width:220px;
  margin:4px 118px 0 0;
  padding:13px 15px;
  border-radius:18px;
  color:#ffffff;
  background:linear-gradient(135deg,#2257c7,#15429a);
  border:1px solid rgba(255,255,255,.35);
  box-shadow:0 18px 42px rgba(19,53,129,.24), inset 0 1px 0 rgba(255,255,255,.22);
}

.script-page .script-word-download strong,
.script-page .word-download-card strong,
.script-page .script-sidebar-download strong{
  display:block;
  font-weight:900;
  line-height:1.15;
}

.script-page .script-word-download small,
.script-page .word-download-card small,
.script-page .script-sidebar-download small{
  display:block;
  margin-top:3px;
  opacity:.82;
  font-size:12px;
  line-height:1.25;
}

.script-page .word-file-icon{
  position:relative;
  flex:0 0 38px;
  width:38px;
  height:44px;
  display:grid;
  place-items:center;
  border-radius:9px 13px 9px 9px;
  color:#ffffff;
  background:linear-gradient(135deg,#2f6fe4,#123e94);
  box-shadow:0 10px 22px rgba(20,55,130,.22), inset 0 1px 0 rgba(255,255,255,.18);
  overflow:hidden;
}

.script-page .word-file-icon:before{
  content:"";
  position:absolute;
  right:0;
  top:0;
  width:13px;
  height:13px;
  background:linear-gradient(135deg,rgba(255,255,255,.72),rgba(255,255,255,.18));
  clip-path:polygon(0 0,100% 0,100% 100%);
}

.script-page .word-file-icon:after{
  content:"DOCX";
  position:absolute;
  left:0;
  right:0;
  bottom:5px;
  text-align:center;
  font-size:7px;
  font-weight:900;
  letter-spacing:.08em;
  opacity:.78;
}

.script-page .word-file-icon b{
  transform:translateY(-3px);
  font-size:21px;
  line-height:1;
  font-weight:900;
}

.script-page .word-file-icon.big{
  flex-basis:52px;
  width:52px;
  height:60px;
  border-radius:12px 16px 12px 12px;
}

.script-page .word-file-icon.big b{
  font-size:29px;
}

.script-page .word-file-icon.big:after{
  bottom:7px;
  font-size:8px;
}

.script-page .script-sidebar-download{
  margin:16px 0 0;
  padding:12px;
  border-radius:16px;
  color:#ffffff;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.16);
}

.script-page .script-sidebar-download:hover{
  background:rgba(255,255,255,.16);
}

.script-page .script-content-panel{
  overflow:hidden;
}

.script-page .script-panel-head{
  margin-bottom:18px;
}

.script-page .script-goal-card,
.script-page .script-stage,
.script-page .script-result-box{
  border:1px solid rgba(64,87,170,.13);
  background:linear-gradient(135deg,#ffffff,#f8fbff);
  box-shadow:0 14px 34px rgba(16,25,89,.07);
}

.script-page .script-goal-card{
  margin-bottom:16px;
  padding:22px;
  border-radius:22px;
}

.script-page .script-goal-card h2,
.script-page .script-result-box h2{
  margin:0 0 10px;
  color:#14243a;
  font-size:22px;
  line-height:1.25;
}

.script-page .script-goal-card p,
.script-page .script-stage p,
.script-page .script-result-box p{
  margin:0 0 11px;
  color:#455875;
  line-height:1.68;
}

.script-page .script-stage{
  position:relative;
  display:grid;
  grid-template-columns:54px minmax(0,1fr);
  gap:18px;
  margin:0 0 16px;
  padding:22px;
  border-radius:24px;
}

.script-page .script-stage-num{
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border-radius:15px;
  color:#ffffff;
  background:linear-gradient(135deg,#ba012a,#ef446c);
  box-shadow:0 12px 24px rgba(186,1,42,.20);
  font-size:14px;
  font-weight:900;
}

.script-page .script-stage h2{
  margin:3px 0 12px;
  color:#14243a;
  font-size:23px;
  line-height:1.24;
}

.script-page .script-dialogue,
.script-page .script-speech,
.script-page .script-quote{
  margin:12px 0 14px;
  padding:16px 18px;
  border-radius:18px;
  background:linear-gradient(135deg,#eff7ff,#ffffff);
  border:1px solid rgba(69,184,230,.18);
  color:#33445f;
  line-height:1.65;
}

.script-page .script-dialogue p:last-child,
.script-page .script-speech p:last-child,
.script-page .script-quote p:last-child{
  margin-bottom:0;
}

.script-page .script-speech{
  border-color:rgba(186,1,42,.16);
  background:linear-gradient(135deg,#fff5f8,#ffffff);
}

.script-page .script-quote{
  background:#f2f6ff;
  border-color:rgba(64,87,170,.16);
  font-weight:700;
}

.script-page .script-branch-grid,
.script-page .script-objection-list,
.script-page .spin-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}

.script-page .script-branch-grid.four,
.script-page .spin-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
}

.script-page .script-branch-grid.two{
  grid-template-columns:repeat(2,minmax(0,1fr));
}

.script-page .script-mini-card{
  padding:16px;
  border-radius:18px;
  background:#ffffff;
  border:1px solid rgba(64,87,170,.12);
  box-shadow:0 10px 24px rgba(16,25,89,.055);
}

.script-page .script-mini-card h3{
  margin:0 0 9px;
  color:#18283f;
  font-size:17px;
  line-height:1.28;
}

.script-page .script-mini-card p,
.script-page .script-mini-card li{
  color:#4b5d78;
  line-height:1.6;
}

.script-page .script-mini-card p:last-child{
  margin-bottom:0;
}

.script-page .script-mini-card ul,
.script-page .script-clean-list{
  margin:8px 0 0;
  padding-left:21px;
}

.script-page .script-clean-list li{
  margin:6px 0;
  color:#455875;
  line-height:1.55;
}

.script-page .script-download-card .word-download-card{
  margin-top:12px;
  padding:16px;
  border-radius:20px;
  color:#17233a;
  background:linear-gradient(135deg,#eff6ff,#ffffff);
  border:1px solid rgba(47,111,228,.18);
  box-shadow:0 14px 30px rgba(16,25,89,.07);
}

.script-page .script-download-card .word-download-card:hover{
  transform:translateY(-1px);
  box-shadow:0 18px 38px rgba(16,25,89,.11);
}

.script-page .script-result-box{
  padding:22px;
  border-radius:24px;
}

.script-page .script-result-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-top:14px;
}

.script-page .script-result-grid span{
  position:relative;
  padding:12px 12px 12px 39px;
  border-radius:16px;
  color:#20334f;
  background:#ffffff;
  border:1px solid rgba(64,87,170,.12);
  font-weight:800;
  line-height:1.3;
}

.script-page .script-result-grid span:before{
  content:"✓";
  position:absolute;
  left:12px;
  top:50%;
  transform:translateY(-50%);
  width:20px;
  height:20px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:#ffffff;
  background:#2f6fe4;
  font-size:12px;
  font-weight:900;
}

@media (max-width:1200px){
  .script-page .script-word-download{
    margin-right:0;
  }
}

@media (max-width:980px){
  .script-page .script-hero{
    display:block;
  }

  .script-page .script-word-download{
    width:max-content;
    max-width:100%;
    margin-top:18px;
  }

  .script-page .script-stage{
    grid-template-columns:1fr;
  }

  .script-page .script-stage-num{
    width:auto;
    max-width:64px;
  }

  .script-page .script-branch-grid,
  .script-page .script-branch-grid.four,
  .script-page .script-branch-grid.two,
  .script-page .script-objection-list,
  .script-page .spin-grid,
  .script-page .script-result-grid{
    grid-template-columns:1fr;
  }
}

@media (max-width:860px){
  .academy-version-badge{
    right:76px;
    bottom:18px;
    font-size:10px;
  }
}

@media (max-width:620px){
  .script-page .script-stage,
  .script-page .script-goal-card,
  .script-page .script-result-box{
    padding:16px;
    border-radius:20px;
  }

  .script-page .script-stage h2{
    font-size:20px;
  }

  .script-page .script-word-download{
    width:100%;
  }
}


/* ===== v38.38: плотная подложка верхнего меню на страницах скриптов ===== */
body.script-page .workspace-head{
  background:
    radial-gradient(circle at 78% 0%, rgba(69,184,230,.34), transparent 30%),
    linear-gradient(90deg, rgba(38,49,132,.97), rgba(64,87,170,.95) 50%, rgba(54,86,181,.94));
  border-color:rgba(255,255,255,.28);
  box-shadow:0 18px 46px rgba(16,25,89,.34), inset 0 1px 0 rgba(255,255,255,.16);
}

body.script-page .workspace-head .workspace-title,
body.script-page .workspace-head .workspace-tabs > a{
  color:rgba(255,255,255,.92);
  text-shadow:0 1px 2px rgba(16,25,89,.20);
}

body.script-page .workspace-head .workspace-tabs > a.active,
body.script-page .workspace-head .workspace-tabs > a:hover{
  color:#22316e;
  text-shadow:none;
}

body.script-page .workspace-head.is-scrolled{
  transform:translateY(-2px);
}
