/* Shared atmosphere and tactile interactions; content and semantic colours stay intact. */
@media screen {
  .migration-app .migration-main {
    position:relative;isolation:isolate;
    background:radial-gradient(ellipse at 6% 62%,#becde6 0%,transparent 62%),radial-gradient(ellipse at 91% 8%,#b8c8e4 0%,transparent 54%),linear-gradient(135deg,#f4f7fc,#eaf0f8 58%,#f6f8fc);
    background-attachment:scroll;
  }
  /* The profile already scrolls its main background. Do not leave the outer
     shell's fixed gradient repainting behind the same long document. */
  .migration-app:has(.ep-learning-profile) {background-attachment:scroll;}
  .migration-main .block-container {position:relative;z-index:2;}
  .migration-app .ep-home-atmosphere {position:fixed;inset:58px 0 0 260px;z-index:0;display:block;overflow:hidden;pointer-events:none;contain:strict;}
  .migration-app .migration-main:not(:has(.ep-home-welcome--layout-b)) .ep-home-plane {animation:none;}
  .migration-app .migration-main:has(.migration-arsenal-page) .ep-home-plane {animation:none;will-change:auto;}
  .migration-app .migration-main:has(.migration-arsenal-page) .ep-home-atmosphere {position:fixed;inset:58px 0 0 260px;}
  .migration-app .migration-main:has(.migration-arsenal-page) .block-container {z-index:2;}
  .migration-app .ep-home-plane--near {opacity:.48;}
  .migration-app .ep-home-plane--far {opacity:.6;}
  .migration-app .ep-home-plane--light {opacity:.6;}
  .migration-app .ep-home-plane--low {opacity:.38;}
  .migration-app .migration-main::after {content:"";position:fixed;inset:58px 0 0 260px;z-index:1;pointer-events:none;background:radial-gradient(ellipse at 52% 48%,#f7faffad,transparent 70%);}
  body.ep-sidebar-collapsed .ep-home-atmosphere,body.ep-sidebar-collapsed .migration-main::after,body.ep-exam-active .ep-home-atmosphere,body.ep-exam-active .migration-main::after,body.ep-sidebar-collapsed .migration-main:has(.migration-arsenal-page) .ep-home-atmosphere {left:0;}
  body.ep-exam-active .ep-home-atmosphere {opacity:.45;}
  :is(.migration-button,.ep-unit-option,.ep-arsenal-directory__item,.ep-arsenal-tabs button,.ep-sentence-examples button,.ep-sentence-views button) {touch-action:manipulation;}
  .ep-unit-option {border-width:2px;box-shadow:0 3px 0 #dbe3ee;}
  .ep-unit-option.is-selected {box-shadow:0 3px 0 #9bacbf;}
  .ep-unit-page .ep-unit-option.is-wrong,.ep-unit-page .ep-unit-option.is-wrong:hover {box-shadow:0 3px 0 #d69a9e;}
  .ep-unit-page .ep-unit-option.is-correct,.ep-unit-page .ep-unit-option.is-correct:hover {box-shadow:0 3px 0 #a2c4b5;}
  .ep-unit-footer button[data-unit-action=next] {padding:9px 18px;border:1px solid #526e99;border-radius:8px;background:var(--ep-button-silk);color: var(--ep-button-ink);box-shadow:0 3px 0 #344d73;}
  .ep-unit-footer {position:sticky;bottom:0;z-index:3;}
  .ep-unit-sheet {overflow:clip;}
  .ep-unit-page button:disabled {cursor:not-allowed;}
  .ep-unit-complete-stamp {display:flex;align-items:center;gap:13px;padding:17px 20px;margin:0 0 21px;border:1px solid var(--ep-arsenal-accent-border);border-radius:12px;background:var(--ep-arsenal-accent-soft);color:#34445c;}
  .ep-unit-complete-stamp>span {display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--ep-arsenal-accent);border:1px solid var(--ep-arsenal-accent-border);font-size:20px;}
  .ep-unit-complete-stamp strong {font-size:16px;}.ep-unit-complete-stamp small{display:block;margin-top:3px;font-size:12px;color:#5d6c82;}
  .ep-unit-end-actions {display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:22px;}
  .ep-unit-end-actions a {font-size:13px;color:#526b90;text-decoration:none;padding:10px 0;}
  .ep-unit-quality {font-size:12px;color:#65758b;margin:18px 0 0;}
  .ep-unit-quality summary {cursor:pointer;display:inline-block;}
  .ep-unit-quality p {line-height:1.7;margin:8px 0;}
  .ep-unit-quality button {font:inherit;border:1px solid #c5d2e4;background:#fbf9f5;color:#4d6588;border-radius:6px;padding:8px 12px;cursor:pointer;}
  .ep-unit-optional-summary {padding:13px 16px;border:1px solid #d9e2ed;border-radius:8px;background:#f8fafc;margin-top:20px;font-size:13px;line-height:1.8;color:#526781;}
  .ep-unit-optional-summary summary {font-weight:600;}
  .ep-unit-optional-summary p {font-size:13px;margin-top:10px;}
  .ep-journey-resume {display:flex;align-items:center;justify-content:space-between;gap:20px;max-width:900px;margin:0 auto 30px;padding:18px 24px;border:1px solid #bfcee3;border-radius:16px;background:#fbf9f5eb;box-shadow:0 5px 18px #354f7510;color:#344d75;}
  .ep-journey-resume>div {display:grid;gap:5px;}.ep-journey-resume span,.ep-journey-resume small{font-size:12px;color:#61718a;}.ep-journey-resume strong{font-size:17px;}.ep-journey-resume a {padding:10px 16px;white-space:nowrap;border:1px solid #bacbe3;border-radius:8px;color:#3b577e;background:#f2f6fc;text-decoration:none;font-size:13px;}
  .ep-journey-library {display:flex;align-items:center;gap:17px;flex-wrap:wrap;font-size:12px;color:#61718a;margin:0 0 10px;padding:8px 12px;border:1px solid #d1dcec;border-radius:8px;background:#f9fbfe;flex:none;}
  .ep-journey-library b {color:#3b577e;}.ep-journey-library>a{color:#3b577e;text-decoration:none;}.ep-journey-library details {margin-left:auto;position:relative;}.ep-journey-library summary {cursor:pointer;color:#586987;}.ep-journey-library details[open] {width:100%;}.ep-journey-library p{line-height:1.8;}.ep-journey-title {display:inline-flex;gap:10px;padding:6px 10px;border:1px solid #c5b99b;border-radius:6px;background:#fff8e7;color:#6c5e37;margin:0 10px 6px 0;}.ep-journey-title small {color:#61718a;}
  @media(min-width:901px) and (prefers-reduced-motion:no-preference) {
    :is(.migration-button,.ep-unit-option,.ep-unit-footer button[data-unit-action=next],.ep-arsenal-card__copy) {transition:transform 110ms ease,border-color 110ms ease,filter 110ms ease;}
    :is(.migration-button,.ep-unit-option,.ep-unit-footer button[data-unit-action=next],.ep-arsenal-card__copy):not(:disabled):active {transform:translateY(2px);}
    .ep-unit-complete-stamp {animation:ep-stamp-in 360ms ease-out;}
    .ep-arsenal-card__status:not(:empty) {animation:ep-status-in 200ms ease-out;}
  }
  @keyframes ep-stamp-in {from{opacity:0;transform:translateY(6px) scale(.98);}to{opacity:1;transform:none;}}
  @keyframes ep-status-in {from{opacity:0;transform:translateY(3px);}to{opacity:1;transform:none;}}
  @media(max-width:1000px) {.migration-app .ep-home-atmosphere,.migration-app .migration-main::after,.migration-app .migration-main:has(.migration-arsenal-page) .ep-home-atmosphere{left:0;}}
  @media(max-width:700px) {.ep-journey-resume{padding:16px;gap:10px;}.ep-journey-resume strong{font-size:15px;}.ep-journey-library{gap:8px;}}
  @media(prefers-reduced-motion:reduce) {.migration-app .ep-home-plane,.ep-unit-complete-stamp,.ep-arsenal-card__status{animation:none!important;}}
}
@media print {.ep-home-atmosphere,.ep-writing-timer{display:none!important;}.migration-main::after{display:none!important;}}
