/* CENTREVIL EGIA V5 Maestro — styles communs */
.centrevil-egia {
      color-scheme: light;
      --ink: #18142c;
      --muted: #6d6881;
      --paper: #fff;
      --canvas: #f4f1fb;
      --primary: #5b3fd3;
      --primary-dark: #35227f;
      --primary-soft: #eeeaff;
      --gold: #ffb938;
      --gold-soft: #fff4d9;
      --success: #087a64;
      --success-soft: #e7f8f3;
      --warning: #915300;
      --warning-soft: #fff4da;
      --danger: #a43f50;
      --danger-soft: #fff0f3;
      --line: #ddd7ed;
      --shadow: 0 22px 58px rgba(50,34,110,.14);
      --focus: 0 0 0 4px rgba(255,185,56,.46);
      --radius-xl: 26px;
      --radius-lg: 18px;
      --radius-md: 13px;
      --max: 1160px;
    }

    .centrevil-egia, .centrevil-egia * { box-sizing: border-box; }

    .centrevil-egia { min-width: 320px; background: var(--canvas); }

    .centrevil-egia {
      margin: 0;
      min-height: 100dvh;
      overflow-x: hidden;
      color: var(--ink);
      background:
        radial-gradient(circle at 0 0, rgba(91,63,211,.18), transparent 27rem),
        radial-gradient(circle at 100% 100%, rgba(255,185,56,.15), transparent 28rem),
        var(--canvas);
      font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    }

    .centrevil-egia button, .centrevil-egia input { font: inherit; }
    .centrevil-egia button { cursor: pointer; }
    .centrevil-egia button:focus-visible, .centrevil-egia input:focus-visible { outline: none; box-shadow: var(--focus); }
    .centrevil-egia button[disabled] { cursor: default; opacity: .55; }

    .centrevil-egia .skip-link {
      position: fixed;
      z-index: 100;
      top: 10px;
      left: 10px;
      padding: 10px 14px;
      border-radius: 11px;
      color: #fff;
      background: var(--primary-dark);
      transform: translateY(-160%);
    }
    .centrevil-egia .skip-link:focus { transform: translateY(0); }

    .centrevil-egia .app-shell {
      width: min(calc(100% - 28px), var(--max));
      margin: 0 auto;
      padding: 14px 0 22px;
    }

    .centrevil-egia .topbar {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 16px;
      min-height: 54px;
      padding: 2px 4px 12px;
    }

    .centrevil-egia .brand { display: flex; align-items: center; gap: 11px; min-width: 0; }
    .centrevil-egia .brand-mark {
      display: grid;
      width: 43px;
      height: 43px;
      flex: 0 0 auto;
      place-items: center;
      border-radius: 14px;
      color: #fff;
      background: linear-gradient(145deg, var(--primary), #8468eb);
      box-shadow: 0 9px 22px rgba(91,63,211,.28);
      font-weight: 900;
      letter-spacing: -.06em;
    }
    .centrevil-egia .brand-name { display: block; font-size: 16px; font-weight: 900; letter-spacing: .08em; }
    .centrevil-egia .brand-subtitle { display: block; margin-top: 1px; color: var(--muted); font-size: 12px; }

    .centrevil-egia .top-actions { display: flex; align-items: center; gap: 9px; }
    .centrevil-egia .xp-chip {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      min-height: 40px;
      padding: 0 12px;
      border: 1px solid #efdba7;
      border-radius: 13px;
      color: #704600;
      background: rgba(255,248,226,.86);
      font-size: 13px;
      font-weight: 850;
    }
    .centrevil-egia .xp-chip.bump { animation: xp-pop .38s ease; }
    .centrevil-egia .reset-button {
      min-height: 40px;
      padding: 0 12px;
      border: 1px solid var(--line);
      border-radius: 13px;
      color: var(--primary-dark);
      background: rgba(255,255,255,.76);
      font-size: 13px;
      font-weight: 760;
    }

    .centrevil-egia .progress-panel {
      margin-bottom: 13px;
      padding: 11px 15px;
      border: 1px solid rgba(221,215,237,.92);
      border-radius: 15px;
      background: rgba(255,255,255,.72);
      backdrop-filter: blur(10px);
    }
    .centrevil-egia .progress-meta {
      display: flex;
      justify-content: space-between;
      gap: 12px;
      margin-bottom: 7px;
      color: var(--muted);
      font-size: 12px;
      font-weight: 760;
    }
    .centrevil-egia .progress-track { height: 8px; overflow: hidden; border-radius: 99px; background: #e7e1f4; }
    .centrevil-egia .progress-fill {
      width: 0;
      height: 100%;
      border-radius: inherit;
      background: linear-gradient(90deg, var(--primary), #886aea 72%, var(--gold));
      transition: width .4s ease;
    }

    .centrevil-egia .workspace { display: grid; grid-template-columns: 220px minmax(0,1fr); gap: 16px; align-items: stretch; }

    .centrevil-egia .journey {
      align-self: start;
      padding: 18px;
      border: 1px solid rgba(221,215,237,.92);
      border-radius: 20px;
      background: rgba(255,255,255,.78);
      box-shadow: 0 12px 32px rgba(50,34,110,.07);
    }
    .centrevil-egia .journey-title { margin: 0 0 12px; font-size: 12px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
    .centrevil-egia .journey-list { display: grid; gap: 6px; margin: 0; padding: 0; list-style: none; }
    .centrevil-egia .journey-button {
      display: grid;
      grid-template-columns: 29px minmax(0,1fr);
      gap: 9px;
      align-items: center;
      width: 100%;
      min-height: 42px;
      padding: 6px 7px;
      border: 0;
      border-radius: 12px;
      color: var(--muted);
      background: transparent;
      text-align: left;
      font-size: 13px;
      font-weight: 760;
    }
    .centrevil-egia .journey-button:disabled { opacity: .48; }
    .centrevil-egia .journey-button.active { color: var(--primary-dark); background: var(--primary-soft); }
    .centrevil-egia .journey-button.done { color: var(--success); }
    .centrevil-egia .journey-number {
      display: grid;
      width: 28px;
      height: 28px;
      place-items: center;
      border: 1px solid var(--line);
      border-radius: 9px;
      color: inherit;
      background: #fff;
      font-size: 12px;
      font-weight: 850;
    }
    .centrevil-egia .journey-button.done .journey-number { border-color: #b8e2d7; background: var(--success-soft); }

    .centrevil-egia .lesson-card {
      display: grid;
      grid-template-rows: auto minmax(0,1fr) auto;
      height: min(680px, calc(100dvh - 134px));
      min-height: 520px;
      overflow: hidden;
      border: 1px solid rgba(221,215,237,.96);
      border-radius: var(--radius-xl);
      background: var(--paper);
      box-shadow: var(--shadow);
    }

    .centrevil-egia .lesson-head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 14px;
      min-height: 59px;
      padding: 11px 20px;
      border-bottom: 1px solid #eeeaf6;
    }
    .centrevil-egia .phase-kicker { color: var(--primary); font-size: 12px; font-weight: 900; letter-spacing: .07em; text-transform: uppercase; }
    .centrevil-egia .screen-count { color: var(--muted); font-size: 12px; font-weight: 760; white-space: nowrap; }

    .centrevil-egia .lesson-body {
      min-height: 0;
      overflow-y: auto;
      padding: clamp(20px,3.5vw,38px) clamp(20px,5vw,58px) 22px;
      scrollbar-width: thin;
      scrollbar-color: #cfc6e8 transparent;
    }
    .centrevil-egia .screen { width: min(100%, 760px); margin: 0 auto; animation: screen-in .28s ease both; }
    .centrevil-egia .eyebrow { margin: 0 0 7px; color: var(--success); font-size: 13px; font-weight: 850; }
    .centrevil-egia h1, .centrevil-egia h2, .centrevil-egia p { overflow-wrap: anywhere; }
    .centrevil-egia .screen h1, .centrevil-egia .screen h2 { margin: 0; letter-spacing: -.025em; }
    .centrevil-egia .screen h1 { max-width: 720px; font-size: clamp(30px,5vw,48px); line-height: 1.06; }
    .centrevil-egia .screen h2 { max-width: 720px; font-size: clamp(25px,3.8vw,35px); line-height: 1.13; }
    .centrevil-egia .lead { max-width: 650px; margin: 13px 0 0; color: var(--muted); font-size: clamp(16px,2.2vw,18px); line-height: 1.55; }
    .centrevil-egia .prompt { margin: 0 0 17px; font-size: clamp(22px,3vw,30px); font-weight: 850; line-height: 1.24; letter-spacing: -.015em; }
    .centrevil-egia .instruction { margin: 0 0 8px; color: var(--primary); font-size: 13px; font-weight: 850; }
    .centrevil-egia .microcopy { margin: 10px 0 0; color: var(--muted); font-size: 13px; line-height: 1.45; }

    .centrevil-egia .hero-visual {
      display: grid;
      grid-template-columns: repeat(3,1fr);
      gap: 11px;
      width: min(100%,590px);
      margin: 24px 0 0;
    }
    .centrevil-egia .hero-person {
      padding: 16px 12px;
      border: 1px solid var(--line);
      border-radius: 17px;
      background: linear-gradient(180deg,#fff,var(--primary-soft));
      text-align: center;
    }
    .centrevil-egia .avatar {
      display: grid;
      width: 48px;
      height: 48px;
      margin: 0 auto 9px;
      place-items: center;
      border-radius: 50%;
      color: #fff;
      background: linear-gradient(145deg,var(--primary),#8a6feb);
      font-weight: 900;
    }
    .centrevil-egia .hero-person:nth-child(2) .avatar { background: linear-gradient(145deg,#0f7c73,#37aa95); }
    .centrevil-egia .hero-person:nth-child(3) .avatar { background: linear-gradient(145deg,#d07a19,#f2ad4f); }
    .centrevil-egia .hero-person strong { display: block; font-size: 14px; }

    .centrevil-egia .scene { display: grid; gap: 10px; margin-top: 20px; }
    .centrevil-egia .message-row { display: grid; grid-template-columns: 39px minmax(0,1fr) 42px; gap: 10px; align-items: center; }
    .centrevil-egia .mini-avatar {
      display: grid;
      width: 39px;
      height: 39px;
      place-items: center;
      border-radius: 12px;
      color: #fff;
      background: var(--primary);
      font-size: 13px;
      font-weight: 900;
    }
    .centrevil-egia .message-row:nth-child(2) .mini-avatar { background: #0f7c73; }
    .centrevil-egia .message-row:nth-child(3) .mini-avatar { background: #d07a19; }
    .centrevil-egia .message-bubble {
      padding: 11px 14px;
      border: 1px solid var(--line);
      border-radius: 14px 14px 14px 5px;
      background: #fbfaff;
      line-height: 1.42;
    }
    .centrevil-egia .message-bubble strong { display: block; margin-bottom: 2px; font-size: 12px; color: var(--muted); }
    .centrevil-egia .audio-button {
      display: grid;
      width: 42px;
      height: 42px;
      place-items: center;
      border: 1px solid var(--line);
      border-radius: 12px;
      color: var(--primary-dark);
      background: #fff;
      font-size: 18px;
    }
    .centrevil-egia .audio-button.speaking { color: #fff; border-color: var(--primary); background: var(--primary); }

    .centrevil-egia .rule-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 11px; margin-top: 21px; }
    .centrevil-egia .rule-card {
      min-height: 128px;
      padding: 17px 14px;
      border: 1px solid var(--line);
      border-radius: 17px;
      background: #fcfbff;
      text-align: center;
    }
    .centrevil-egia .rule-subjects { display: block; min-height: 40px; color: var(--muted); font-size: 14px; font-weight: 780; }
    .centrevil-egia .rule-arrow { display: block; margin: 4px 0; color: #aaa2bd; }
    .centrevil-egia .rule-form { color: var(--primary-dark); font-size: 27px; font-weight: 950; }

    .centrevil-egia .sentence-card, .centrevil-egia .profile-card {
      margin: 16px 0 18px;
      padding: 18px;
      border: 1px solid var(--line);
      border-radius: 18px;
      background: linear-gradient(145deg,#fcfbff,#f3efff);
      font-size: clamp(21px,3vw,29px);
      font-weight: 850;
      text-align: center;
    }
    .centrevil-egia .blank { display: inline-block; min-width: 72px; padding: 0 7px 2px; border-bottom: 3px solid var(--primary); color: var(--primary-dark); }
    .centrevil-egia .profile-card { display: flex; align-items: center; justify-content: center; gap: 12px; font-size: 18px; text-align: left; }
    .centrevil-egia .profile-card .avatar { margin: 0; flex: 0 0 auto; }
    .centrevil-egia .profile-card small { display: block; margin-top: 3px; color: var(--muted); font-size: 13px; font-weight: 650; }

    .centrevil-egia .options { display: grid; gap: 10px; margin-top: 16px; }
    .centrevil-egia .options.two { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .centrevil-egia .answer-option {
      position: relative;
      min-height: 55px;
      padding: 12px 48px 12px 16px;
      border: 2px solid var(--line);
      border-radius: 15px;
      color: var(--ink);
      background: #fff;
      text-align: left;
      font-size: 16px;
      font-weight: 760;
      transition: transform .16s ease,border-color .16s ease,background .16s ease;
    }
    .centrevil-egia .answer-option:hover { transform: translateY(-1px); border-color: #b9abe5; }
    .centrevil-egia .answer-option::after {
      content: attr(data-key);
      position: absolute;
      top: 50%;
      right: 13px;
      display: grid;
      width: 26px;
      height: 26px;
      place-items: center;
      border: 1px solid var(--line);
      border-radius: 8px;
      color: var(--muted);
      background: #faf9fd;
      font-size: 11px;
      transform: translateY(-50%);
    }
    .centrevil-egia .answer-option.correct { border-color: #63bda7; background: var(--success-soft); color: #075d4c; }
    .centrevil-egia .answer-option.wrong { border-color: #dca1ab; background: var(--danger-soft); color: #7e2b39; animation: shake .28s ease; }
    .centrevil-egia .answer-option[disabled] { opacity: 1; }

    .centrevil-egia .input-wrap { margin-top: 16px; }
    .centrevil-egia .text-input {
      width: 100%;
      min-height: 58px;
      padding: 12px 15px;
      border: 2px solid var(--line);
      border-radius: 15px;
      color: var(--ink);
      background: #fff;
      font-size: 18px;
      font-weight: 720;
    }
    .centrevil-egia .text-input::placeholder { color: #aaa5b8; font-weight: 550; }

    .centrevil-egia .builder { margin-top: 16px; }
    .centrevil-egia .build-zone {
      display: flex;
      min-height: 66px;
      flex-wrap: wrap;
      gap: 8px;
      align-items: center;
      padding: 12px;
      border: 2px dashed #c8bde7;
      border-radius: 16px;
      background: #fbfaff;
    }
    .centrevil-egia .build-placeholder { color: var(--muted); font-size: 14px; }
    .centrevil-egia .token-bank { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 12px; }
    .centrevil-egia .token-button, .centrevil-egia .built-token {
      min-height: 44px;
      padding: 9px 14px;
      border: 1px solid #c7bce8;
      border-radius: 12px;
      color: var(--primary-dark);
      background: var(--primary-soft);
      font-weight: 820;
    }
    .centrevil-egia .built-token { border-color: var(--primary); color: #fff; background: var(--primary); }

    .centrevil-egia .feedback {
      display: none;
      margin-top: 14px;
      padding: 12px 14px;
      border: 1px solid transparent;
      border-radius: 14px;
      font-size: 14px;
      line-height: 1.45;
    }
    .centrevil-egia .feedback.show { display: block; }
    .centrevil-egia .feedback.success { color: #075d4c; border-color: #a8dccf; background: var(--success-soft); }
    .centrevil-egia .feedback.try { color: #744600; border-color: #ead092; background: var(--warning-soft); }
    .centrevil-egia .feedback.reveal { color: #792d3a; border-color: #e1adb6; background: var(--danger-soft); }
    .centrevil-egia .feedback strong { display: block; margin-bottom: 2px; }
    .centrevil-egia .attempt-dots { display: flex; gap: 6px; margin-top: 10px; }
    .centrevil-egia .attempt-dot { width: 8px; height: 8px; border-radius: 50%; background: #ddd7e8; }
    .centrevil-egia .attempt-dot.used { background: var(--gold); }

    .centrevil-egia .recovery-card {
      margin-top: 16px;
      padding: 18px;
      border: 1px solid #d5ccef;
      border-radius: 18px;
      background: #faf8ff;
    }
    .centrevil-egia .recovery-label { margin: 0 0 7px; color: var(--primary); font-size: 12px; font-weight: 900; text-transform: uppercase; letter-spacing: .07em; }

    .centrevil-egia .branch-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 13px; margin-top: 22px; }
    .centrevil-egia .path-button {
      min-height: 150px;
      padding: 20px;
      border: 2px solid var(--line);
      border-radius: 19px;
      color: var(--ink);
      background: #fff;
      text-align: left;
      transition: transform .18s ease,border-color .18s ease,box-shadow .18s ease;
    }
    .centrevil-egia .path-button:hover { transform: translateY(-2px); border-color: #ae9bdf; box-shadow: 0 12px 26px rgba(60,41,125,.1); }
    .centrevil-egia .path-button.challenge { border-color: #ead091; background: linear-gradient(145deg,#fff,#fff7df); }
    .centrevil-egia .path-icon { display: block; margin-bottom: 10px; font-size: 25px; }
    .centrevil-egia .path-button strong { display: block; font-size: 18px; }
    .centrevil-egia .path-button span:last-child { display: block; margin-top: 6px; color: var(--muted); font-size: 13px; line-height: 1.42; }

    .centrevil-egia .result-card {
      padding: clamp(22px,4vw,36px);
      border: 1px solid #d8cff0;
      border-radius: 22px;
      background: linear-gradient(145deg,#fff,#f2eeff);
      text-align: center;
    }
    .centrevil-egia .badge {
      display: grid;
      width: 78px;
      height: 78px;
      margin: 0 auto 15px;
      place-items: center;
      border: 5px solid #fff4d2;
      border-radius: 50%;
      color: #fff;
      background: linear-gradient(145deg,var(--gold),#e6891c);
      box-shadow: 0 12px 28px rgba(218,137,29,.25);
      font-size: 34px;
    }
    .centrevil-egia .result-stats { display: flex; justify-content: center; gap: 10px; flex-wrap: wrap; margin-top: 20px; }
    .centrevil-egia .result-stat { min-width: 115px; padding: 12px 16px; border: 1px solid var(--line); border-radius: 14px; background: #fff; }
    .centrevil-egia .result-stat strong { display: block; color: var(--primary-dark); font-size: 21px; }
    .centrevil-egia .result-stat span { color: var(--muted); font-size: 12px; }

    .centrevil-egia .lesson-footer {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      min-height: 72px;
      padding: 11px 20px;
      border-top: 1px solid #eeeaf6;
      background: rgba(255,255,255,.96);
    }
    .centrevil-egia .footer-actions { display: flex; gap: 10px; margin-left: auto; }
    .centrevil-egia .back-button, .centrevil-egia .primary-button, .centrevil-egia .check-button, .centrevil-egia .secondary-button {
      min-height: 48px;
      padding: 0 19px;
      border-radius: 14px;
      font-weight: 820;
    }
    .centrevil-egia .back-button, .centrevil-egia .secondary-button { border: 1px solid var(--line); color: var(--primary-dark); background: #fff; }
    .centrevil-egia .primary-button, .centrevil-egia .check-button { border: 1px solid var(--primary); color: #fff; background: linear-gradient(145deg,var(--primary),var(--primary-dark)); box-shadow: 0 9px 20px rgba(70,44,160,.2); }
    .centrevil-egia .check-button { margin-top: 13px; }
    .centrevil-egia .keyboard-help { color: var(--muted); font-size: 11px; }

    .centrevil-egia .toast {
      position: fixed;
      z-index: 50;
      left: 50%;
      bottom: 24px;
      max-width: calc(100% - 32px);
      padding: 10px 15px;
      border-radius: 12px;
      color: #fff;
      background: #29213f;
      box-shadow: 0 12px 30px rgba(0,0,0,.18);
      font-size: 13px;
      font-weight: 760;
      opacity: 0;
      pointer-events: none;
      transform: translate(-50%,14px);
      transition: opacity .2s ease,transform .2s ease;
    }
    .centrevil-egia .toast.show { opacity: 1; transform: translate(-50%,0); }

    .centrevil-egia .confetti { position: fixed; inset: 0; z-index: 40; overflow: hidden; pointer-events: none; }
    .centrevil-egia .confetti-piece { position: absolute; top: -20px; width: 10px; height: 16px; border-radius: 3px; animation: fall 2.4s ease-in forwards; }

    @keyframes screen-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
    @keyframes xp-pop { 50% { transform: scale(1.12); } }
    @keyframes shake { 25% { transform: translateX(-4px); } 75% { transform: translateX(4px); } }
    @keyframes fall { to { transform: translate3d(var(--drift),110dvh,0) rotate(680deg); opacity: .85; } }

    @media (max-width: 820px) {
      .centrevil-egia .app-shell { width: min(calc(100% - 18px),760px); padding-top: 8px; }
      .centrevil-egia .brand-subtitle { display: none; }
      .centrevil-egia .reset-button span { display: none; }
      .centrevil-egia .reset-button { width: 40px; padding: 0; }
      .centrevil-egia .workspace { grid-template-columns: 1fr; gap: 9px; }
      .centrevil-egia .journey { padding: 8px; overflow-x: auto; border-radius: 15px; }
      .centrevil-egia .journey-title { display: none; }
      .centrevil-egia .journey-list { display: flex; min-width: max-content; gap: 3px; }
      .centrevil-egia .journey-button { grid-template-columns: 27px auto; width: auto; min-height: 37px; padding: 4px 8px 4px 4px; }
      .centrevil-egia .journey-number { width: 27px; height: 27px; }
      .centrevil-egia .journey-label { display: none; }
      .centrevil-egia .journey-button.active .journey-label { display: inline; }
      .centrevil-egia .lesson-card { height: calc(100dvh - 150px); min-height: 520px; border-radius: 21px; }
      .centrevil-egia .lesson-head { min-height: 51px; padding: 8px 15px; }
      .centrevil-egia .lesson-body { padding: 19px 18px 16px; }
      .centrevil-egia .lesson-footer { min-height: 64px; padding: 8px 13px; }
      .centrevil-egia .keyboard-help { display: none; }
    }

    @media (max-width: 560px) {
      .centrevil-egia .topbar { min-height: 48px; padding-bottom: 8px; }
      .centrevil-egia .brand-mark { width: 38px; height: 38px; border-radius: 12px; }
      .centrevil-egia .brand-name { font-size: 14px; }
      .centrevil-egia .xp-chip { min-height: 38px; padding: 0 9px; }
      .centrevil-egia .progress-panel { margin-bottom: 8px; padding: 8px 11px; }
      .centrevil-egia .progress-meta { margin-bottom: 5px; }
      .centrevil-egia .lesson-card { height: calc(100dvh - 132px); min-height: 500px; }
      .centrevil-egia .screen h1 { font-size: 31px; }
      .centrevil-egia .screen h2 { font-size: 25px; }
      .centrevil-egia .lead { font-size: 15px; }
      .centrevil-egia .prompt { font-size: 22px; margin-bottom: 13px; }
      .centrevil-egia .hero-visual { gap: 7px; margin-top: 19px; }
      .centrevil-egia .hero-person { padding: 11px 6px; }
      .centrevil-egia .hero-person .avatar { width: 41px; height: 41px; }
      .centrevil-egia .scene { gap: 8px; margin-top: 15px; }
      .centrevil-egia .message-row { grid-template-columns: 34px minmax(0,1fr) 39px; gap: 7px; }
      .centrevil-egia .mini-avatar { width: 34px; height: 34px; border-radius: 10px; }
      .centrevil-egia .audio-button { width: 39px; height: 39px; }
      .centrevil-egia .message-bubble { padding: 9px 11px; font-size: 14px; }
      .centrevil-egia .rule-grid { gap: 7px; margin-top: 16px; }
      .centrevil-egia .rule-card { min-height: 110px; padding: 13px 7px; }
      .centrevil-egia .rule-subjects { font-size: 12px; }
      .centrevil-egia .rule-form { font-size: 23px; }
      .centrevil-egia .options.two, .centrevil-egia .branch-grid { grid-template-columns: 1fr; }
      .centrevil-egia .answer-option { min-height: 51px; padding-top: 10px; padding-bottom: 10px; }
      .centrevil-egia .path-button { min-height: 116px; padding: 15px; }
      .centrevil-egia .path-icon { display: inline; margin-right: 7px; }
      .centrevil-egia .footer-actions { width: 100%; }
      .centrevil-egia .back-button { padding: 0 13px; }
      .centrevil-egia .primary-button { flex: 1; }
    }

    @media (max-height: 680px) and (min-width: 821px) {
      .centrevil-egia .app-shell { padding-top: 7px; }
      .centrevil-egia .topbar { min-height: 48px; padding-bottom: 7px; }
      .centrevil-egia .progress-panel { margin-bottom: 8px; padding: 8px 13px; }
      .centrevil-egia .lesson-card { min-height: 475px; }
      .centrevil-egia .lesson-body { padding-top: 19px; padding-bottom: 14px; }
      .centrevil-egia .scene { margin-top: 12px; gap: 7px; }
      .centrevil-egia .message-bubble { padding-top: 8px; padding-bottom: 8px; }
    }

    @media (prefers-reduced-motion: reduce) {
      .centrevil-egia, .centrevil-egia *, .centrevil-egia *::before, .centrevil-egia *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
    }


/* Application home and navigation: [centrevil_egia_course] */
.centrevil-egia-course {
  --egia-ink: #18142c;
  --egia-muted: #6d6881;
  --egia-primary: #5b3fd3;
  --egia-primary-dark: #35227f;
  --egia-line: #ddd7ed;
  width: min(calc(100% - 28px), 1160px);
  margin: 24px auto;
  color: var(--egia-ink);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.centrevil-egia-course *, .centrevil-egia-course *::before, .centrevil-egia-course *::after { box-sizing: border-box; }
.centrevil-egia-course a:focus-visible { outline: none; box-shadow: 0 0 0 4px rgba(255,185,56,.46); }
.centrevil-egia-course__hero {
  position: relative;
  overflow: hidden;
  min-height: 400px;
  padding: clamp(26px,5vw,58px);
  border: 1px solid #d8cff0;
  border-radius: 30px;
  background: radial-gradient(circle at 92% 12%,rgba(255,185,56,.3),transparent 19rem),radial-gradient(circle at 5% 100%,rgba(132,104,235,.28),transparent 21rem),linear-gradient(145deg,#fff,#f2eeff);
  box-shadow: 0 22px 58px rgba(50,34,110,.14);
}
.centrevil-egia-course__brand { display: flex; align-items: center; gap: 12px; }
.centrevil-egia-course__brand-mark { display: grid; width: 48px; height: 48px; place-items: center; border-radius: 15px; color: #fff; background: linear-gradient(145deg,var(--egia-primary),#8468eb); box-shadow: 0 9px 22px rgba(91,63,211,.28); font-weight: 900; letter-spacing: -.06em; }
.centrevil-egia-course__brand strong { display: block; font-size: 16px; font-weight: 950; letter-spacing: .08em; }
.centrevil-egia-course__brand small { display: block; margin-top: 2px; color: var(--egia-muted); font-size: 12px; }
.centrevil-egia-course__pilot { position: absolute; top: clamp(26px,5vw,58px); right: clamp(26px,5vw,58px); padding: 8px 12px; border: 1px solid #b9e1d7; border-radius: 99px; color: #087a64; background: #e7f8f3; font-size: 12px; font-weight: 850; }
.centrevil-egia-course__eyebrow { margin: 64px 0 8px; color: #087a64; font-size: 13px; font-weight: 850; }
.centrevil-egia-course__hero h1 { max-width: 760px; margin: 0; font-size: clamp(38px,7vw,72px); line-height: .98; letter-spacing: -.05em; }
.centrevil-egia-course__lead { max-width: 700px; margin: 18px 0 0; color: var(--egia-muted); font-size: clamp(17px,2.3vw,20px); line-height: 1.55; }
.centrevil-egia-course__stats { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; }
.centrevil-egia-course__stats span { padding: 11px 15px; border: 1px solid var(--egia-line); border-radius: 14px; background: rgba(255,255,255,.8); color: var(--egia-muted); font-size: 13px; }
.centrevil-egia-course__stats strong { margin-right: 4px; color: var(--egia-primary-dark); font-size: 18px; }
.centrevil-egia-course__section-head { display: flex; align-items: end; justify-content: space-between; gap: 18px; margin: 38px 2px 17px; }
.centrevil-egia-course__section-head p { margin: 0 0 4px; color: var(--egia-primary); font-size: 12px; font-weight: 900; letter-spacing: .07em; text-transform: uppercase; }
.centrevil-egia-course__section-head h2 { margin: 0; font-size: clamp(25px,4vw,34px); letter-spacing: -.03em; }
.centrevil-egia-course__section-head > span { color: var(--egia-muted); font-size: 13px; }
.centrevil-egia-course__parts { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.centrevil-egia-course__part { display: flex; min-height: 320px; flex-direction: column; padding: 23px; border: 1px solid var(--egia-line); border-radius: 22px; background: #fff; box-shadow: 0 12px 32px rgba(50,34,110,.07); }
.centrevil-egia-course__part--2 { background: linear-gradient(180deg,#fff,#f7fffd); }
.centrevil-egia-course__part--3 { background: linear-gradient(180deg,#fff,#fffaf0); }
.centrevil-egia-course__part-top { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.centrevil-egia-course__part-number { color: var(--egia-primary); font-size: 12px; font-weight: 900; letter-spacing: .07em; text-transform: uppercase; }
.centrevil-egia-course__access { padding: 5px 8px; border-radius: 99px; color: #087a64; background: #e7f8f3; font-size: 11px; font-weight: 850; }
.centrevil-egia-course__range { margin: 35px 0 6px; color: var(--egia-muted); font-size: 13px; font-weight: 750; }
.centrevil-egia-course__part h2 { margin: 0; font-size: 25px; line-height: 1.12; letter-spacing: -.03em; }
.centrevil-egia-course__part > p:last-of-type { margin: 13px 0 22px; color: var(--egia-muted); font-size: 15px; line-height: 1.52; }
.centrevil-egia-course__part-link { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: auto; padding: 14px 15px; border-radius: 14px; color: #fff; background: linear-gradient(145deg,var(--egia-primary),var(--egia-primary-dark)); font-size: 13px; text-decoration: none; }
.centrevil-egia-course__part-link strong { white-space: nowrap; }
.centrevil-egia-course__test-note { display: flex; gap: 13px; margin-top: 18px; padding: 16px 18px; border: 1px solid #ead092; border-radius: 16px; color: #744600; background: #fff4da; font-size: 13px; line-height: 1.5; }
.centrevil-egia-course__test-note strong { flex: 0 0 auto; }
.centrevil-egia-course__nav, .centrevil-egia-course-nav { display: flex; align-items: center; justify-content: space-between; gap: 14px; width: min(calc(100% - 28px),1160px); margin: 14px auto; padding: 12px 15px; border: 1px solid var(--egia-line,#ddd7ed); border-radius: 15px; color: var(--egia-muted,#6d6881); background: rgba(255,255,255,.88); font-family: Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-size: 13px; font-weight: 750; }
.centrevil-egia-course__nav { width: 100%; margin: 0 0 14px; }
.centrevil-egia-course__nav a, .centrevil-egia-course-nav a { color: var(--egia-primary,#5b3fd3); font-weight: 850; text-decoration: none; }
.centrevil-egia-course__part-hero { padding: clamp(24px,4vw,42px); border: 1px solid #d8cff0; border-radius: 25px; background: linear-gradient(145deg,#fff,#f2eeff); }
.centrevil-egia-course__part-hero--2 { background: linear-gradient(145deg,#fff,#eafaf6); }
.centrevil-egia-course__part-hero--3 { background: linear-gradient(145deg,#fff,#fff4d9); }
.centrevil-egia-course__part-hero p { margin: 0 0 7px; color: var(--egia-primary); font-size: 12px; font-weight: 900; letter-spacing: .07em; text-transform: uppercase; }
.centrevil-egia-course__part-hero h1 { margin: 0; font-size: clamp(31px,5vw,48px); letter-spacing: -.04em; }
.centrevil-egia-course__part-hero span { display: block; margin-top: 12px; color: var(--egia-muted); font-size: 16px; }
.centrevil-egia-course__modules { display: grid; gap: 15px; margin-top: 18px; }
.centrevil-egia-course__module { overflow: hidden; border: 1px solid var(--egia-line); border-radius: 19px; background: #fff; box-shadow: 0 9px 24px rgba(50,34,110,.055); }
.centrevil-egia-course__module > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 17px; border-bottom: 1px solid #eeeaf6; }
.centrevil-egia-course__module > header span { color: var(--egia-primary); font-size: 12px; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.centrevil-egia-course__module > header strong { color: var(--egia-muted); font-size: 13px; }
.centrevil-egia-course__days { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 1px; background: #eeeaf6; }
.centrevil-egia-course__day-card { display: flex; min-height: 126px; flex-direction: column; padding: 15px; color: var(--egia-ink); background: #fff; text-decoration: none; }
.centrevil-egia-course__day-card > span { color: var(--egia-primary); font-size: 11px; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.centrevil-egia-course__day-card > strong { margin: 11px 0; font-size: 14px; line-height: 1.35; }
.centrevil-egia-course__day-card > small { margin-top: auto; color: var(--egia-muted); font-size: 11px; font-weight: 750; }
.centrevil-egia-course__day-card.is-active { position: relative; background: linear-gradient(145deg,#fff,#f1edff); }
.centrevil-egia-course__day-card.is-active::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 4px; background: var(--egia-primary); }
.centrevil-egia-course__day-card.is-active small { color: var(--egia-primary); }
.centrevil-egia-course__day-card.is-coming { color: #817b91; background: #fbfafc; }
.centrevil-egia-course__day-card.is-coming > span { color: #918aa2; }
.centrevil-egia-course-nav + .centrevil-egia { min-height: calc(100dvh - 70px); }
@media (max-width: 900px) {
  .centrevil-egia-course__parts { grid-template-columns: 1fr; }
  .centrevil-egia-course__part { min-height: 0; }
  .centrevil-egia-course__range { margin-top: 22px; }
  .centrevil-egia-course__days { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 560px) {
  .centrevil-egia-course { width: min(calc(100% - 18px),1160px); margin: 9px auto 20px; }
  .centrevil-egia-course__hero { min-height: 0; padding: 22px 19px; border-radius: 22px; }
  .centrevil-egia-course__pilot { position: static; display: inline-flex; margin-top: 18px; }
  .centrevil-egia-course__eyebrow { margin-top: 34px; }
  .centrevil-egia-course__hero h1 { font-size: 40px; }
  .centrevil-egia-course__section-head { align-items: start; flex-direction: column; margin-top: 28px; }
  .centrevil-egia-course__part { padding: 19px; }
  .centrevil-egia-course__test-note { flex-direction: column; }
  .centrevil-egia-course__days { grid-template-columns: 1fr; }
  .centrevil-egia-course__day-card { min-height: 105px; }
  .centrevil-egia-course__nav, .centrevil-egia-course-nav { width: min(calc(100% - 18px),1160px); }
  .centrevil-egia-course__nav { width: 100%; }
  .centrevil-egia-course__nav span { text-align: right; }
}
