/* English Homeland A1 - editorial study interface */
:root{
  --ink:#100530;
  --muted:#625c72;
  --pink:#f71662;
  --paper:#fff;
  --cream:#f7f6fa;
  --line:#e8e3ee;
  --soft:#f0edf6;
  --shadow:0 16px 44px rgba(32,17,65,.08);
}
*{box-sizing:border-box}
body{background:var(--cream);color:var(--ink)}
h1,h2,h3{font-family:Inter,Arial,sans-serif;text-transform:none;letter-spacing:-.045em}
h1{font-weight:800}h2,h3{font-weight:800}
button,a{-webkit-tap-highlight-color:transparent}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--pink);outline-offset:3px}

/* The course navigation has three clear levels and a persistent next step. */
.app-shell{grid-template-columns:282px minmax(0,1fr)}
.sidebar{width:282px;height:100dvh;min-height:0;padding:0;background:#fff;border-right:1px solid var(--line);overflow:hidden;box-shadow:8px 0 32px rgba(32,17,65,.025)}
.sidebar-top{flex:none;padding:27px 19px 13px}
.brand{min-height:0;padding:0 8px 28px}
.brand img{width:157px}
.sidebar-course{position:relative;overflow:hidden;padding:19px 18px 16px;border-radius:17px;background:linear-gradient(135deg,#100530 0%,#211347 100%);color:#fff}
.sidebar-course:before{content:"";position:absolute;width:130px;height:130px;right:-52px;top:-55px;border:1px solid rgba(255,255,255,.15);border-radius:50%}
.sidebar-course:after{content:"";position:absolute;width:78px;height:78px;right:-15px;top:-22px;border:1px solid rgba(255,255,255,.12);border-radius:50%}
.sidebar-course-label{position:relative;z-index:1;display:block;color:#ff94bd;font:700 10px/1.3 Poppins,Arial,sans-serif;letter-spacing:.025em}
.sidebar-course strong{position:relative;z-index:1;display:block;margin-top:5px;font:800 26px/1.1 Inter,Arial,sans-serif;letter-spacing:-.045em}
.sidebar-course-meta{position:relative;z-index:1;display:block;margin-top:4px;color:#d6cde8;font:500 11px/1.4 Poppins,Arial,sans-serif}
#side-continue{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;margin-top:17px;padding:10px 11px;border:1px solid rgba(255,255,255,.34);border-radius:9px;background:rgba(255,255,255,.12);color:#fff;text-align:left;font:700 11px/1.3 Poppins,Arial,sans-serif;cursor:pointer;transition:background .2s,transform .2s}
#side-continue:hover{background:rgba(255,255,255,.24);transform:translateY(-1px)}
#side-continue span:last-child{font:700 18px/1 Inter,Arial,sans-serif;color:#ff7cae}
.side-home,.nav-item{width:100%;min-height:40px;border-radius:10px;padding:8px 11px;gap:11px;color:#33294e;background:transparent;font:600 12px/1.35 Poppins,Arial,sans-serif;cursor:pointer;transition:background .18s,color .18s,transform .18s}
.side-home{margin-top:17px}
.side-home-icon,.nav-icon{flex:none;display:grid;place-items:center;width:22px;height:22px;color:#79708c}
.side-home-icon svg,.nav-icon svg{display:block;width:19px;height:19px}
.side-home:hover,.nav-item:hover{background:#f4f1f8;color:var(--ink);transform:translateX(2px)}
.side-home.active,.nav-item.active{background:var(--ink);color:#fff;box-shadow:0 7px 16px rgba(16,5,48,.16)}
.side-home.active .side-home-icon,.nav-item.active .nav-icon{color:#fff}
.sidebar-nav-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:2px 19px 14px;scrollbar-width:thin;scrollbar-color:#dcd6e7 transparent}
.nav-group{padding:0 0 8px}
.nav-group+.nav-group{border-top:1px solid #eeeaf2;margin-top:7px;padding-top:3px}
.side-label{display:block;margin:13px 11px 7px;color:#847b95;font:700 10px/1.3 Poppins,Arial,sans-serif;letter-spacing:.09em;text-transform:uppercase}
.nav-item{margin:1px 0;text-align:left}
.nav-name{min-width:0;flex:1}
.nav-item small{margin-left:auto;min-width:24px;padding:3px 5px;border-radius:6px;background:#f2eff6;color:#70677d;text-align:center;font:700 10px/1.2 Inter,Arial,sans-serif}
.nav-item.active small{background:rgba(255,255,255,.16);color:#fff}
.side-bottom{flex:none;margin:0;padding:14px 27px 21px;background:#fff;border-top:1px solid var(--line)}
.feedback-entry{display:flex;align-items:center;gap:10px;width:100%;margin-bottom:17px;padding:10px 0 14px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);text-align:left;font:700 11px/1.35 Poppins,Arial,sans-serif;cursor:pointer}
.feedback-entry>span:first-child{display:grid;place-items:center;flex:none;width:30px;height:30px;border-radius:8px;background:#ffedf4;color:var(--pink);font-size:17px}
.feedback-entry>span:nth-child(2){flex:1}.feedback-entry small{display:block;margin-top:2px;color:#80758e;font:500 9px/1.4 Poppins,Arial,sans-serif}
.feedback-entry>span:last-child{color:var(--pink);font-size:17px}.feedback-entry:hover>span:nth-child(2){text-decoration:underline;text-underline-offset:3px}
.mini-progress{display:grid;grid-template-columns:1fr auto;gap:7px 8px;color:#6b6278;font:600 11px/1.4 Poppins,Arial,sans-serif}
.mini-progress strong{font:800 12px/1.4 Inter,Arial,sans-serif;color:var(--ink)}
.mini-progress .track{grid-column:1/-1;height:6px;margin:3px 0 0;background:#eee9f1;border-radius:99px;overflow:hidden}
.mini-progress .track span{display:block;height:100%;border-radius:99px;background:var(--pink)}
.mini-progress small{grid-column:1/-1;color:#8b8198;font:500 10px/1.4 Poppins,Arial,sans-serif}
.side-progress-link{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;width:100%;margin-top:5px;padding:8px 0 0;border:0;background:transparent;color:#ae0d4b;text-align:left;font:700 11px/1.3 Poppins,Arial,sans-serif;cursor:pointer}
.side-progress-link:hover,.side-progress-link.active{text-decoration:underline;text-underline-offset:3px}
.sidebar-backdrop{display:none}

/* Quiet frame: the work, not the chrome, owns the page. */
.topbar{height:72px;padding:0 clamp(24px,3.1vw,54px);background:rgba(255,255,255,.95);border-color:var(--line);box-shadow:0 3px 22px rgba(16,5,48,.025)}
.top-crumb{color:#716981;font:600 12px/1.3 Poppins,Arial,sans-serif}
.top-actions{gap:12px}
.pill.ghost{background:#fff;border:1px solid #ded8e7;color:#3e3454;min-height:37px;padding:7px 13px}
.pill.ghost:hover{background:#f6f3fa}
.avatar-letter{width:36px;height:36px;background:#1c0d3d;color:#fff;font-size:10px}
main{max-width:1490px;margin:auto;padding:clamp(24px,3vw,43px) clamp(24px,3.1vw,54px) 90px}
.eyebrow{font:700 10px/1.4 Poppins,Arial,sans-serif!important;letter-spacing:.11em}
.btn{min-height:43px;border-radius:9px;padding:10px 17px;font:700 12px/1.3 Poppins,Arial,sans-serif;box-shadow:none}
.btn.secondary{background:#fff;border:1px solid #d9d1e4;color:var(--ink)}
.btn.secondary:hover{background:#f5f1f8}
.micro-btn{border-radius:8px;background:#eeeaf5;color:var(--ink)}
.micro-btn:hover{background:#e4dded}

/* Home: fewer equal-weight boxes, stronger reading order. */
.hero{border-radius:19px;box-shadow:0 18px 42px rgba(16,5,48,.13)}
.hero-copy h1{font-weight:800}
.hero-learning-scene{border-radius:13px}
.hero-feature{border-radius:13px}
.feature-page-number{background:#f1eaf4;color:var(--ink)}
.stats{gap:0;margin:20px 0 37px;border:1px solid var(--line);border-radius:13px;background:#fff;overflow:hidden}
.stat{border:0;border-radius:0;padding:17px 22px;background:transparent}
.stat+.stat{border-left:1px solid var(--line)}
.stat strong{font:800 24px/1.15 Inter,Arial,sans-serif;letter-spacing:-.04em;color:var(--ink)}
.stat span{font:500 11px/1.4 Poppins,Arial,sans-serif;color:var(--muted)}
.home-moments{gap:14px;margin-bottom:45px}
.home-moment{border-radius:13px;box-shadow:none}
.section-header{margin:44px 0 19px}
.section-header h2{max-width:18ch;font:800 clamp(24px,2.5vw,34px)/1.13 Inter,Arial,sans-serif;letter-spacing:-.045em}
.section-header p{max-width:28ch;line-height:1.55}
.chapter-grid{gap:12px}
.chapter{min-height:169px;border:1px solid var(--line);border-radius:13px;padding:22px;background:#fff;box-shadow:none}
.chapter:hover{transform:translateY(-2px);border-color:#cfc4df;box-shadow:var(--shadow)}
.chapter .chapter-icon{display:grid;place-items:center;width:43px;height:43px;border-radius:10px;background:#f4eef7;color:var(--ink);font:800 17px/1 Inter,Arial,sans-serif}
.chapter .count{right:22px;top:27px;color:#8a8196;font:600 10px/1.3 Poppins,Arial,sans-serif}
.chapter h3{margin:18px 0 6px;font:800 18px/1.2 Inter,Arial,sans-serif}
.chapter p{color:var(--muted);line-height:1.5}
.chapter-arrow{color:var(--pink)}
.study-banner,.listening-banner{border-radius:13px;border-color:#e4dce9;background:#f2eef7}
.study-banner h3{font-size:22px}

/* Progress is grounded in pages the learner actually marked as complete. */
.progress-preview{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,245px) auto;align-items:center;gap:26px;margin:20px 0 37px;padding:23px 26px;border:1px solid #e3dbe9;border-radius:15px;background:#fff}
.progress-preview-copy{display:flex;align-items:flex-start;gap:16px}
.progress-preview-icon{display:grid;place-items:center;flex:none;width:42px;height:42px;border-radius:12px;background:#ffedf4;color:#dc0f59;font:800 25px/1 Inter,Arial,sans-serif}
.progress-preview h2{margin:0 0 5px;font:800 clamp(19px,2vw,25px)/1.16 Inter,Arial,sans-serif;letter-spacing:-.04em}
.progress-preview p{max-width:50ch;margin:0;color:#6a6078;font:500 11px/1.55 Poppins,Arial,sans-serif}
.progress-preview-figure{display:grid;grid-template-columns:auto 1fr;align-items:baseline;gap:0 8px}
.progress-preview-figure strong{font:800 31px/1 Inter,Arial,sans-serif;letter-spacing:-.06em}
.progress-preview-figure>span{color:#766a85;font:600 10px/1.3 Poppins,Arial,sans-serif}
.progress-preview-track{grid-column:1/-1;height:7px;margin-top:9px;border-radius:9px;background:#eee9f2;overflow:hidden}
.progress-preview-track span{display:block;height:100%;border-radius:9px;background:var(--pink)}
.progress-preview-link{border:0;background:transparent;color:#b30d4b;white-space:nowrap;font:700 11px/1.3 Poppins,Arial,sans-serif;cursor:pointer}
.progress-preview-link:hover{text-decoration:underline;text-underline-offset:4px}
.progress-hero{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 310px;align-items:center;gap:28px;min-height:350px;padding:48px clamp(30px,5vw,68px);border-radius:19px;overflow:hidden;background:#100530;color:#fff}
.progress-hero:before{content:"";position:absolute;right:-135px;top:-220px;width:560px;height:560px;border:1px solid rgba(255,255,255,.12);border-radius:50%;box-shadow:0 0 0 54px rgba(255,255,255,.025),0 0 0 110px rgba(255,255,255,.018);pointer-events:none}
.progress-hero-copy{position:relative;z-index:1}
.progress-hero-label{color:#ff89b8;font:700 12px/1.3 Poppins,Arial,sans-serif}
.progress-hero h1{margin:15px 0 17px;color:#fff;font:800 clamp(43px,5vw,72px)/.99 Inter,Arial,sans-serif;letter-spacing:-.065em}
.progress-hero-copy>p{max-width:47ch;margin:0;color:#ded6ed;font:500 13px/1.65 Poppins,Arial,sans-serif}
.progress-hero-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:27px}
.progress-hero-actions .btn:not(.secondary){background:var(--pink);color:#fff}
.progress-hero-actions .btn:not(.secondary):hover{background:#d90d50}
.progress-hero-actions .btn.secondary{border-color:rgba(255,255,255,.35);background:rgba(255,255,255,.12);color:#fff}
.progress-hero-actions .btn.secondary:hover{background:rgba(255,255,255,.2)}
.progress-orbit{position:relative;z-index:1;display:grid;place-items:center;justify-self:center;width:clamp(205px,22vw,265px);aspect-ratio:1;border-radius:50%;background:conic-gradient(#ff4188 var(--progress),rgba(255,255,255,.19) 0);box-shadow:0 0 0 1px rgba(255,255,255,.09)}
.progress-orbit:before{content:"";position:absolute;inset:16px;border-radius:50%;background:#1a0b3b}
.progress-orbit>div{position:relative;display:grid;justify-items:center;gap:4px}
.progress-orbit strong{font:800 clamp(55px,7vw,80px)/1 Inter,Arial,sans-serif;letter-spacing:-.08em}
.progress-orbit strong small{font-size:.43em;letter-spacing:-.02em}
.progress-orbit span{color:#d6cce8;font:600 11px/1.4 Poppins,Arial,sans-serif}
.progress-milestone{display:flex;align-items:center;gap:14px;margin:16px 0 36px;padding:14px 18px;border:1px solid #f5cddd;border-radius:11px;background:#fff6fa}
.progress-milestone-icon{color:#f71662;font-size:21px}
.progress-milestone p{margin:0;color:#4f2143;font:700 12px/1.5 Poppins,Arial,sans-serif}
.progress-detail{padding:31px clamp(20px,3.4vw,42px);border:1px solid var(--line);border-radius:16px;background:#fff}
.progress-detail-head{display:flex;align-items:start;justify-content:space-between;gap:20px;padding-bottom:22px;border-bottom:1px solid var(--line)}
.progress-detail-head h2{margin:0 0 5px;font:800 clamp(24px,2.4vw,32px)/1.15 Inter,Arial,sans-serif}
.progress-detail-head p{margin:0;color:#6d627b;font:500 11px/1.5 Poppins,Arial,sans-serif}
.progress-detail-total{flex:none;padding:9px 12px;border-radius:8px;background:#f3edf7;color:#281349;font:800 12px/1 Inter,Arial,sans-serif}
.progress-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 40px;padding-top:26px}
.progress-group:last-child{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 40px}
.progress-group h3{grid-column:1/-1;margin:0 0 10px;color:#7e708b;font:700 12px/1.35 Poppins,Arial,sans-serif}
.progress-section{display:block;width:100%;padding:13px 0 14px;border:0;border-bottom:1px solid #f0ecf3;background:transparent;text-align:left;cursor:pointer}
.progress-section:hover .progress-section-top strong{color:#bf0c4e}
.progress-section-top{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:9px}
.progress-section-top strong{font:700 13px/1.3 Inter,Arial,sans-serif}
.progress-section-top>span{color:#6b607b;white-space:nowrap;font:600 11px/1.3 Poppins,Arial,sans-serif}
.progress-section-track{display:block;height:7px;border-radius:9px;background:#eee9f2;overflow:hidden}
.progress-section-track>span{display:block;height:100%;border-radius:9px;background:var(--pink)}
.progress-practice{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0}
.progress-practice>div{display:grid;justify-items:start;gap:5px;padding:22px 25px;border:1px solid var(--line);border-radius:12px;background:#fff}
.progress-practice strong{font:800 30px/1.1 Inter,Arial,sans-serif;letter-spacing:-.05em}
.progress-practice strong span{color:#8b8198;font-size:16px}
.progress-practice div>span{color:#6f647c;font:500 11px/1.4 Poppins,Arial,sans-serif}
.progress-practice button{margin-top:9px;padding:0;border:0;background:transparent;color:#b30d4b;font:700 11px/1.3 Poppins,Arial,sans-serif;cursor:pointer}
.progress-practice button:hover{text-decoration:underline;text-underline-offset:3px}
.progress-data-note{margin:18px 0 0;color:#716681;font:500 11px/1.55 Poppins,Arial,sans-serif}

/* Section indexes are compact lesson lists rather than number tiles. */
.section-intro{align-items:center;margin:7px 0 31px;padding-bottom:27px;border-bottom:1px solid var(--line)}
.section-intro h1{margin:8px 0 11px;font:800 clamp(35px,4vw,56px)/1.07 Inter,Arial,sans-serif;letter-spacing:-.055em}
.section-intro p{max-width:680px;color:var(--muted);font-size:13px;line-height:1.65}
.section-intro .btn{flex:none}
.page-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
.page-card{display:flex;flex-direction:row;align-items:stretch;min-height:123px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:none;overflow:hidden}
.page-card:hover{transform:translateY(-2px);border-color:#c9bddb;box-shadow:var(--shadow)}
.page-card-number{flex:none;align-self:flex-start;display:grid;place-items:center;width:51px;height:51px;margin:17px 0 0 18px;padding:0;border-radius:9px;background:#f1ecf6;color:#241346;font:800 18px/1 Inter,Arial,sans-serif;letter-spacing:-.04em}
.page-card-body{display:flex;flex:1;flex-direction:column;justify-content:flex-start;min-width:0;padding:19px 20px 17px 15px}
.page-card strong{min-height:0;color:var(--ink);font:700 14px/1.36 Inter,Arial,sans-serif;letter-spacing:-.02em}
.page-card small{display:block;margin-top:6px;color:#857b93;font:500 10px/1.4 Poppins,Arial,sans-serif}
.page-card-open{display:inline-flex;align-self:flex-start;align-items:center;margin-top:auto;padding-top:12px;color:#ba0b48;font:700 11px/1.3 Poppins,Arial,sans-serif;text-decoration:none}
.page-card-open:hover{color:var(--ink)}

/* Pages keep the selectable HTML and favor a comfortable reading column. */
.reader-heading{align-items:center;gap:24px;margin-bottom:20px}
.reader-heading h1{font:800 clamp(29px,3.2vw,46px)/1.1 Inter,Arial,sans-serif;letter-spacing:-.05em}
.reader-heading p{line-height:1.55}
.reader-layout{grid-template-columns:minmax(0,1fr) 292px;gap:17px}
.reader-coach{border-radius:12px}
.reader-coach.coach-scene{position:relative;display:flex;align-items:center;min-height:202px;margin-bottom:18px;padding:28px 28px 26px;border:1px solid #302156;border-radius:19px;background:radial-gradient(circle at 74% 32%,#44316d 0,#211344 37%,#100530 76%);box-shadow:0 18px 38px rgba(16,5,48,.14);isolation:isolate}
.coach-scene:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,rgba(255,255,255,.055),transparent 38%),radial-gradient(circle at 100% 0%,rgba(255,91,163,.12),transparent 40%);pointer-events:none}
.coach-copy{position:relative;z-index:2;width:43%;min-width:0}
.coach-kicker{display:inline-flex;align-items:center;gap:7px;margin-bottom:12px;color:#ff8aba;font:800 10px/1.2 Inter,Arial,sans-serif;letter-spacing:.16em}
.coach-kicker span{font-size:15px;letter-spacing:0}
.coach-scene .coach-copy p{max-width:22ch;margin:0 0 12px;color:#fff;font:800 clamp(19px,2.2vw,27px)/1.14 Inter,Arial,sans-serif;letter-spacing:-.035em}
.coach-note{display:block;max-width:30ch;color:#d4cde4;font:500 11px/1.5 Poppins,Arial,sans-serif}
.coach-replay{display:inline-flex;align-items:center;gap:7px;margin-top:12px;padding:7px 10px;border:1px solid rgba(255,255,255,.22);border-radius:100px;background:rgba(255,255,255,.08);color:#fff;font:700 10px/1 Inter,Arial,sans-serif;cursor:pointer}
.coach-replay:hover,.coach-replay:focus-visible{background:rgba(255,255,255,.17);border-color:rgba(255,255,255,.55)}
.coach-replay span{font-size:8px;color:#ff80b2}
.coach-stage{position:absolute;inset:0 0 0 43%;overflow:hidden;pointer-events:none}
.coach-stage-orbit{position:absolute;right:-3%;top:-103px;width:385px;height:385px;border:1px solid rgba(255,255,255,.12);border-radius:50%;box-shadow:0 0 0 37px rgba(255,255,255,.025),0 0 0 79px rgba(255,255,255,.018)}
.coach-stage-floor{position:absolute;left:12%;right:8%;bottom:13px;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent)}
.coach-stage-glow{position:absolute;right:12%;bottom:-66px;width:240px;height:200px;border-radius:50%;background:radial-gradient(circle,rgba(255,105,168,.27),transparent 68%);filter:blur(20px)}
.coach-video-frame{position:absolute;right:9%;top:9px;bottom:9px;aspect-ratio:3/4;overflow:hidden;border:2px solid rgba(255,255,255,.26);border-radius:15px;background:#edcbdc;box-shadow:0 16px 35px rgba(3,0,16,.37),0 0 0 6px rgba(255,255,255,.045)}
.coach-video{display:block;width:100%;height:100%;object-fit:cover;object-position:center top}
@media(max-width:700px){.reader-coach.coach-scene{min-height:190px;padding:22px}.coach-copy{width:49%}.coach-stage{left:44%}.coach-stage-orbit{right:-18%;width:280px;height:280px;top:-42px}.coach-video-frame{right:7%}.coach-note{font-size:10px}}
@media(max-width:470px){.reader-coach.coach-scene{min-height:198px;padding:19px}.coach-copy{width:52%}.coach-kicker{font-size:8px;letter-spacing:.1em}.coach-scene .coach-copy p{font-size:18px}.coach-note{display:none}.coach-stage{left:48%}.coach-video-frame{right:5%;top:13px;bottom:13px}}
.digital-lesson{border-radius:13px;padding:clamp(24px,3vw,43px);box-shadow:0 12px 32px rgba(16,5,48,.035)}
.digital-lesson-head{border-bottom:1px solid var(--line);padding-bottom:15px}
.lesson-block p{font-size:14px;line-height:1.8}
.lesson-subheading{font-size:18px}
.reader-panel{gap:11px}
.panel{border-radius:12px;padding:19px;box-shadow:none}
.panel h3{font-size:16px}
.panel textarea,.answer-input{background:#fdfcff;border-radius:8px}
.practice-block{border-color:#e7deeb;background:#faf8fc;border-radius:11px}
.practice-item{border-color:#e2dae8}
.lesson-inline-answer{background:#fcf4f8}
.writing-bridge{margin:17px 0 20px!important;padding:13px 16px;border-left:3px solid var(--pink);border-radius:0 8px 8px 0;background:#fff5f9;color:#533d5d;font:600 12px/1.55 Poppins,Arial,sans-serif!important}
.writing-count{display:block;margin-top:7px;color:#6a6077;font:600 11px/1.45 Poppins,Arial,sans-serif}
.writing-personal-form{margin-top:18px;padding:20px;border:1px solid #e9deeb;border-radius:12px;background:#faf8fc}
.writing-personal-form>p{margin-bottom:15px!important;color:#63576e}
.writing-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
.writing-form-field{display:flex;flex-direction:column;gap:2px;min-width:0;color:var(--ink);font:700 12px/1.35 Poppins,Arial,sans-serif}
.writing-form-field small{color:#81748a;font:500 10px/1.3 Poppins,Arial,sans-serif}
.writing-form-field input{width:100%;min-width:0;margin-top:5px;padding:10px 11px;border:1px solid #ded2e2;border-radius:8px;background:#fff;color:var(--ink);font:500 12px/1.4 Poppins,Arial,sans-serif}
.writing-form-field input:focus{border-color:var(--pink);outline:2px solid #ffe0ea;outline-offset:1px}
.writing-review-grid{display:grid;gap:8px;margin-top:14px}
.writing-review-item{display:flex;align-items:flex-start;gap:11px;padding:11px 12px;border:1px solid #e8dce8;border-radius:9px;background:#fff;color:var(--ink);font:500 12px/1.5 Poppins,Arial,sans-serif;cursor:pointer}
.writing-review-item:has(input:checked){border-color:#f5a7c5;background:#fff2f7}
.writing-review-item input{flex:none;width:16px;height:16px;margin-top:1px;accent-color:var(--pink)}
@media(max-width:600px){.writing-form-grid{grid-template-columns:1fr}.writing-personal-form{padding:15px}}
/* Feedback has one clear task: a concrete idea and a simple rating. */
.feedback-hero{display:flex;align-items:end;justify-content:space-between;gap:30px;max-width:1110px;margin:4px auto 20px;padding:35px 39px;border-radius:18px;background:#100530;color:#fff}
.feedback-hero>div:first-child{max-width:650px}.feedback-hero-mark{display:grid;place-items:center;width:37px;height:37px;margin-bottom:17px;border-radius:10px;background:#f71662;color:#fff;font-size:23px}
.feedback-hero h1{max-width:14ch;margin:0 0 12px;color:#fff;font:800 clamp(30px,3.5vw,49px)/1.06 Inter,Arial,sans-serif;letter-spacing:-.05em}.feedback-hero p{max-width:62ch;margin:0;color:#e3ddec;font:500 13px/1.7 Poppins,Arial,sans-serif}
.feedback-hero-art{display:flex;align-items:center;gap:11px;min-width:255px;margin-bottom:8px;color:#ff8db8;font:700 12px/1.2 Poppins,Arial,sans-serif}.feedback-hero-art span:first-child,.feedback-hero-art span:last-child{padding:9px 11px;border:1px solid #665879;border-radius:7px}.feedback-hero-art span:last-child{background:#ffedf5;color:#100530;border-color:#ffedf5}
.feedback-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:20px;max-width:1110px;margin:auto}.feedback-card{padding:31px 35px 35px;border:1px solid var(--line);border-radius:16px;background:#fff}.feedback-card h2{margin:0 0 8px;font:800 25px/1.2 Inter,Arial,sans-serif}.feedback-card-intro{max-width:67ch;margin:0 0 26px;color:var(--muted);font:500 12px/1.7 Poppins,Arial,sans-serif}
.feedback-rating{min-width:0;margin:0 0 25px;padding:0;border:0}.feedback-rating legend{margin-bottom:11px;font:700 13px/1.45 Poppins,Arial,sans-serif}.feedback-rating-options{display:flex;gap:8px}.feedback-rating-options label{position:relative;cursor:pointer}.feedback-rating-options input{position:absolute;inset:0;opacity:0;cursor:pointer}.feedback-rating-options span{display:grid;place-items:center;width:48px;height:43px;border:1px solid #ded6e8;border-radius:9px;background:#fbf9fd;color:#372950;font:800 15px/1 Inter,Arial,sans-serif;transition:background .15s,border-color .15s,color .15s}.feedback-rating-options input:checked+span{border-color:#100530;background:#100530;color:#fff}.feedback-rating-options input:focus-visible+span{outline:3px solid var(--pink);outline-offset:2px}.feedback-rating>p{margin:9px 0 0;color:#82758d;font:500 10px/1.4 Poppins,Arial,sans-serif}
.feedback-fields{display:grid;grid-template-columns:minmax(0,1fr) 170px;gap:18px}.feedback-fields label{display:flex;flex-direction:column;gap:8px;font:700 12px/1.4 Poppins,Arial,sans-serif}.feedback-fields label small{color:#80758e;font-weight:500}.feedback-fields select,.feedback-fields input,.feedback-fields textarea{width:100%;min-width:0;padding:12px 13px;border:1px solid #dcd4e4;border-radius:9px;background:#fff;color:var(--ink);font:500 12px/1.5 Poppins,Arial,sans-serif}.feedback-fields textarea{resize:vertical;min-height:145px}.feedback-message-label{grid-column:1/-1}.feedback-message-label>small{align-self:end}.feedback-send{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-top:21px}.feedback-send p{max-width:54ch;margin:0;color:#786d84;font:500 10px/1.6 Poppins,Arial,sans-serif}.feedback-send .btn{flex:none;background:var(--pink);color:#fff}.feedback-send .btn:disabled{opacity:.55;cursor:wait}.feedback-status{min-height:1.4em;margin:13px 0 0;color:#564265;font:700 11px/1.5 Poppins,Arial,sans-serif}.feedback-trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important}
.feedback-aside{align-self:start;padding:28px 24px;border-radius:15px;background:#f1ebf6}.feedback-aside>span{color:var(--pink);font:800 55px/1 Georgia,serif}.feedback-aside h2{margin:4px 0 13px;font:800 21px/1.24 Inter,Arial,sans-serif}.feedback-aside p{margin:0;color:#655972;font:500 11px/1.65 Poppins,Arial,sans-serif}.feedback-aside-rule{height:1px;margin:28px 0 18px;background:#d9cce3}
@media(max-width:900px){.feedback-layout{grid-template-columns:1fr}.feedback-aside{display:none}.feedback-hero-art{display:none}}
@media(max-width:600px){.feedback-hero{padding:28px 23px}.feedback-card{padding:23px 19px}.feedback-fields{grid-template-columns:1fr;gap:16px}.feedback-message-label{grid-column:auto}.feedback-send{display:block}.feedback-send .btn{width:100%;margin-top:16px}.feedback-rating-options{justify-content:space-between}.feedback-rating-options span{width:43px}}
.week-card,.quiz-question{border-radius:12px;box-shadow:none}
.week-card strong{font:800 19px/1.2 Inter,Arial,sans-serif}
.quiz-question h3{font:700 15px/1.45 Inter,Arial,sans-serif}

/* Lesson names replace the workbook's unexplained letter-and-number codes. */
.unit-overview-intro{max-width:68ch;margin-bottom:23px}
.unit-overview-intro h2{margin:0 0 10px;font:800 clamp(23px,2.5vw,30px)/1.16 Inter,Arial,sans-serif}
.unit-overview-intro p{margin:0;color:var(--muted);font:400 13px/1.75 Poppins,Arial,sans-serif}
.unit-overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.unit-overview-card{display:flex;align-items:center;gap:13px;min-width:0;min-height:84px;padding:14px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);text-decoration:none;transition:border-color .18s,background .18s,transform .18s}
.unit-overview-card:hover{border-color:#cbbddd;background:#fbf9fd;transform:translateY(-2px)}
.unit-overview-number{flex:none;display:grid;place-items:center;width:42px;height:42px;border-radius:9px;background:#f0ebf6;color:#28174b;font:800 15px/1 Inter,Arial,sans-serif}
.unit-overview-copy{flex:1;min-width:0}
.unit-overview-copy strong{display:block;font:700 13px/1.35 Inter,Arial,sans-serif;letter-spacing:-.02em}
.unit-overview-copy small{display:block;margin-top:5px;color:#82778f;font:500 10px/1.3 Poppins,Arial,sans-serif}
.unit-overview-arrow{flex:none;color:var(--pink);font:700 17px/1 Inter,Arial,sans-serif}
.unit-link{display:inline-block;margin:2px 3px 2px 0;padding:4px 7px;border:1px solid #e4dce9;border-radius:6px;background:#fbf9fd;color:#241047;text-decoration:none;font:600 11px/1.4 Poppins,Arial,sans-serif}
.unit-link:hover{border-color:#c9b7d9;background:#f3eef8;text-decoration:underline;text-underline-offset:2px}
.unit-page{margin-left:3px;color:#847a93;font-size:10px;white-space:nowrap}
.week-card p{min-height:0}
.week-card p b{display:inline-block;margin-top:8px;color:var(--ink)}
.plan-table td{line-height:1.8}

@media(max-width:1220px){
  .app-shell{grid-template-columns:258px minmax(0,1fr)}
  .sidebar{width:258px}
  .sidebar-top,.sidebar-nav-scroll{padding-left:14px;padding-right:14px}
  .side-bottom{padding-left:22px;padding-right:22px}
  .reader-layout{grid-template-columns:1fr}
  .reader-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:900px){
  .progress-preview{grid-template-columns:minmax(0,1fr) 180px}
  .progress-preview-link{grid-column:1/-1;justify-self:start}
  .progress-hero{grid-template-columns:minmax(0,1fr) 225px}
  .app-shell{display:block}
  .sidebar{position:fixed;top:0;left:0;z-index:30;width:min(294px,86vw);height:100dvh;min-height:0;transform:translateX(-103%);transition:transform .24s ease;box-shadow:18px 0 45px rgba(16,5,48,.18)}
  .sidebar.open{transform:translateX(0)}
  .sidebar.open+.sidebar-backdrop{display:block;position:fixed;z-index:29;inset:0;width:100%;height:100%;border:0;background:rgba(16,5,48,.46);cursor:pointer}
  .menu-toggle{display:block}
  .top-logo{display:block;width:111px}
  .top-crumb{display:none}
  .topbar{height:65px}
  main{padding:26px 26px 70px}
  .section-intro{align-items:flex-start}
}
@media(max-width:650px){
  .progress-preview{grid-template-columns:1fr;gap:18px;padding:20px}
  .progress-preview-figure{max-width:230px}
  .progress-preview-link{grid-column:auto}
  .progress-hero{grid-template-columns:1fr;justify-items:start;gap:26px;min-height:0;padding:31px 24px}
  .progress-hero h1{font-size:51px}
  .progress-orbit{width:198px;justify-self:center}
  .progress-orbit strong{font-size:59px}
  .progress-groups,.progress-group:last-child,.progress-practice{grid-template-columns:1fr}
  .progress-group:last-child{grid-column:auto}
  .progress-detail{padding:24px 19px}
  .progress-detail-head{align-items:flex-start}
  .topbar{padding:0 17px}
  main{padding:22px 16px 66px}
  .top-logo{width:105px}
  .top-actions{gap:6px}
  .pill.ghost{padding:7px 9px;min-height:34px}
  .hero{border-radius:15px}
  .stats{margin:15px 0 31px}
  .stat{padding:14px 10px}
  .stat strong{font-size:20px}
  .stat span{font-size:9px}
  .section-header{margin:34px 0 15px}
  .chapter-grid{grid-template-columns:1fr 1fr;gap:9px}
  .chapter{min-height:160px;padding:16px}
  .chapter .count{right:14px;top:20px;font-size:9px}
  .chapter h3{font-size:16px}
  .chapter p{font-size:10px}
  .section-intro{display:block;margin:2px 0 22px;padding-bottom:20px}
  .section-intro h1{font-size:37px}
  .section-intro .btn{margin-top:12px}
  .page-grid{grid-template-columns:1fr;gap:9px}
  .page-card{min-height:111px}
  .page-card-number{margin:16px 0 0 15px}
  .page-card-body{padding:17px 14px 15px 13px}
  .reader-panel{display:flex}
  .reader-heading h1{font-size:31px}
  .digital-lesson{padding:20px}
  .unit-overview-grid{grid-template-columns:1fr}
  .unit-overview-card{min-height:73px}
}
@media(max-width:380px){
  .chapter-grid{grid-template-columns:1fr}
  .stat strong{font-size:18px}
}
@media(prefers-reduced-motion:reduce){
  .sidebar,.side-home,.nav-item,.page-card,.chapter,#side-continue,.progress-preview-track span,.progress-section-track span{transition:none!important}
}

/* A daily plan turns the workbook into a guided study session. */
.side-today{display:flex;align-items:center;gap:11px;width:100%;margin:4px 0 0;padding:11px 14px;border:1px solid #f1d4e1;border-radius:10px;background:#fff3f8;color:#8e1749;text-align:left;font:700 12px/1.2 Inter,Arial,sans-serif;cursor:pointer}
.side-today span:first-child{display:grid;place-items:center;flex:none;width:24px;height:24px;border-radius:7px;background:#f71662;color:#fff;font-size:15px}
.side-today span:nth-child(2){flex:1}.side-today span:last-child{font-size:17px}.side-today:hover,.side-today.active{border-color:#e88bb1;background:#ffe8f1}
.side-guide{display:flex;align-items:center;gap:11px;width:100%;margin:8px 0 0;padding:9px 10px;border:1px solid transparent;border-radius:10px;background:transparent;color:#47395d;text-align:left;cursor:pointer;transition:background .2s,border-color .2s}
.side-guide:hover{background:#f7f3fa;border-color:#e9e0ef}
.side-guide:focus-visible{outline:3px solid var(--pink);outline-offset:2px}
.side-guide-icon{display:grid;place-items:center;flex:none;width:24px;height:24px;border-radius:7px;background:#eee8f5;color:#7a397b;font:700 17px/1 Inter,Arial,sans-serif}
.side-guide>span:nth-child(2){flex:1;font:700 11px/1.35 Poppins,Arial,sans-serif}
.side-guide small{display:block;margin-top:2px;color:#82778d;font:500 9px/1.4 Poppins,Arial,sans-serif}
.side-guide-arrow{color:#b15380;font-size:16px}
.guide-dialog{width:min(900px,calc(100vw - 28px));max-height:min(94dvh,900px);padding:0;border:1px solid #e4dbea;border-radius:20px;background:white;color:var(--ink);box-shadow:0 32px 110px rgba(16,5,48,.36);overflow:auto}
.guide-dialog::backdrop{background:rgba(13,4,38,.72);backdrop-filter:blur(5px)}
.guide-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:24px 28px 18px}
.guide-head span{color:var(--pink);font:800 10px/1.4 Poppins,Arial,sans-serif;letter-spacing:.1em}
.guide-head h2{margin:4px 0 5px;font:800 clamp(22px,3vw,31px)/1.2 Inter,Arial,sans-serif}
.guide-head p{margin:0;color:#655a73;font:500 12px/1.5 Poppins,Arial,sans-serif}
#guide-close{display:grid;place-items:center;flex:none;width:35px;height:35px;border:1px solid #e8e0ef;border-radius:50%;background:white;color:var(--ink);font:400 25px/1 Arial,sans-serif;cursor:pointer}
#guide-close:hover{background:#fbf0f5}
#guide-video{display:block;width:calc(100% - 56px);aspect-ratio:16/9;margin:0 28px;background:var(--ink);border-radius:12px;object-fit:contain}
.guide-transcript{margin:15px 28px 24px;padding:10px 13px;border:1px solid #ece5f1;border-radius:10px;color:#524760;font:500 12px/1.6 Poppins,Arial,sans-serif}
.guide-transcript summary{font-weight:700;cursor:pointer}.guide-transcript ol{margin:12px 0;padding-left:23px}.guide-transcript p{margin:8px 0 0}
@media(max-width:600px){.guide-head{padding:17px 16px 13px}.guide-head p{font-size:11px}#guide-video{width:calc(100% - 32px);margin:0 16px}.guide-transcript{margin:13px 16px 18px}}
.today-preview{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:23px 0 16px;padding:24px 28px;border:1px solid #ead7e9;border-radius:16px;background:linear-gradient(115deg,#fff7fb,#f5f0fa 68%,#ede6f7);box-shadow:0 10px 30px rgba(44,18,67,.04)}
.today-preview-heading{display:flex;align-items:center;gap:17px}.today-preview-mark{display:grid;place-items:center;flex:none;width:50px;height:50px;border-radius:14px;background:#f71662;color:#fff;font-size:27px;box-shadow:0 9px 22px rgba(247,22,98,.16)}
.today-preview h2{margin:3px 0 5px;color:#100530;font:800 clamp(18px,2vw,23px)/1.13 Inter,Arial,sans-serif;letter-spacing:-.035em}.today-preview p{margin:0;color:#62576f;font:500 11px/1.5 Poppins,Arial,sans-serif}
.today-preview-action{display:grid;justify-items:end;gap:9px;flex:none}.today-preview-action>span{color:#6d607a;font:700 11px/1.2 Poppins,Arial,sans-serif}.today-preview-action button{padding:11px 14px;border:0;border-radius:9px;background:#100530;color:#fff;font:700 11px/1.2 Inter,Arial,sans-serif;cursor:pointer}.today-preview-action button:hover{background:#372156}.today-preview-action button span{margin-left:8px;color:#ff8db8}
.today-hero{display:flex;justify-content:space-between;align-items:end;gap:25px;min-height:265px;padding:39px 43px;border-radius:19px;background:radial-gradient(circle at 80% 15%,#3e245e 0,transparent 34%),linear-gradient(130deg,#100530,#211044);color:#fff;overflow:hidden}
.today-hero .eyebrow{color:#ff83b2}.today-hero h1{margin:13px 0 12px;color:#fff;font:900 clamp(36px,4.7vw,59px)/1.03 Inter,Arial,sans-serif;letter-spacing:-.055em}.today-hero p{max-width:52ch;margin:0;color:#e5ddef;font:500 13px/1.65 Poppins,Arial,sans-serif}.today-date{display:inline-block;margin-top:22px;padding:8px 12px;border:1px solid rgba(255,255,255,.2);border-radius:99px;color:#ffe6ef;font:700 10px/1.2 Poppins,Arial,sans-serif}
.today-score{display:grid;justify-items:center;align-content:center;flex:none;width:174px;height:174px;border:12px solid rgba(255,255,255,.13);border-radius:50%;background:rgba(255,255,255,.045)}.today-score strong{color:#fff;font:900 66px/1 Inter,Arial,sans-serif;letter-spacing:-.06em}.today-score strong span{color:#ff80b2;font-size:29px}.today-score>span{margin-top:5px;color:#e8dff0;font:700 11px/1.2 Poppins,Arial,sans-serif}
.today-step-track{height:7px;margin:18px 0 26px;border-radius:99px;background:#e7dfea;overflow:hidden}.today-step-track span{display:block;height:100%;border-radius:inherit;background:#f71662;transition:width .35s ease}
.today-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.today-step{display:flex;flex-direction:column;min-height:307px;padding:25px 23px 20px;border:1px solid #e4dce9;border-radius:15px;background:#fff;box-shadow:0 12px 30px rgba(16,5,48,.035)}.today-step.is-done{border-color:#d1b9d9;background:#fcf9fd}.today-step-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.today-step-number{color:#c9b8d2;font:900 29px/1 Inter,Arial,sans-serif}.today-step-status{padding:7px 9px;border-radius:99px;background:#f4eef7;color:#685674;font:700 10px/1 Inter,Arial,sans-serif}.today-step.is-done .today-step-status{background:#eaf5ed;color:#28633d}.today-step-kicker{color:#ed1862;font:800 10px/1.2 Inter,Arial,sans-serif;letter-spacing:.12em}.today-step h2{margin:8px 0 9px;color:#100530;font:800 23px/1.14 Inter,Arial,sans-serif;letter-spacing:-.035em}.today-step p{margin:0;color:#695f74;font:500 11px/1.65 Poppins,Arial,sans-serif}.today-step-bottom{display:grid;gap:15px;margin-top:auto;padding-top:24px}.today-step-bottom small{color:#84758d;font:600 10px/1.4 Poppins,Arial,sans-serif}.today-step-bottom button{align-self:end;width:100%;padding:11px 12px;border:1px solid #dacde2;border-radius:8px;background:#fff;color:#27163e;text-align:left;font:700 11px/1.3 Inter,Arial,sans-serif;cursor:pointer}.today-step-bottom button:hover{border-color:#f71662;color:#a9124b}.today-step-bottom button span{float:right;color:#f71662}.today-note{max-width:93ch;margin:18px 0 0;color:#746a7e;font:500 10px/1.7 Poppins,Arial,sans-serif}
.review-hero{display:flex;align-items:end;justify-content:space-between;gap:20px;padding:36px 39px;border-radius:18px;background:linear-gradient(125deg,#100530,#2d174f);color:#fff}.review-hero .eyebrow{color:#ff83b2}.review-hero h1{max-width:18ch;margin:11px 0 12px;color:#fff;font:900 clamp(30px,3.5vw,48px)/1.07 Inter,Arial,sans-serif;letter-spacing:-.05em}.review-hero p{max-width:60ch;margin:0;color:#e2d8ed;font:500 12px/1.65 Poppins,Arial,sans-serif}.review-count{display:grid;justify-items:center;flex:none;min-width:122px;padding:18px;border:1px solid rgba(255,255,255,.21);border-radius:13px;background:rgba(255,255,255,.07)}.review-count strong{font:900 50px/1 Inter,Arial,sans-serif}.review-count span{margin-top:4px;color:#f7e1ed;font:600 10px/1.25 Poppins,Arial,sans-serif}
.review-summary{display:flex;gap:13px;flex-wrap:wrap;margin:18px 0 23px}.review-summary span{padding:9px 12px;border:1px solid #e4dce9;border-radius:8px;background:#fff;color:#554861;font:700 10px/1.3 Poppins,Arial,sans-serif}.review-list{display:grid;gap:14px}.review-question{padding:25px;border:1px solid #e5dce9;border-radius:14px;background:#fff}.review-question-label{color:#d11359;font:800 10px/1.3 Poppins,Arial,sans-serif}.review-question h2{margin:9px 0 18px;font:800 21px/1.3 Inter,Arial,sans-serif}.review-question .quiz-feedback{margin:16px 0 0}.review-empty{display:grid;justify-items:start;padding:32px;border:1px solid #e6dce9;border-radius:15px;background:#fff}.review-empty>span{display:grid;place-items:center;width:42px;height:42px;border-radius:11px;background:#ffeaf2;color:#ed1862;font-size:24px}.review-empty h2{margin:15px 0 7px;font:800 25px/1.2 Inter,Arial,sans-serif}.review-empty p{margin:0 0 18px;color:#6e6278;font:500 12px/1.6 Poppins,Arial,sans-serif}
.review-callout{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 18px;padding:17px 21px;border:1px solid #eed2df;border-radius:11px;background:#fff5f9}.review-callout strong{font:800 15px/1.2 Inter,Arial,sans-serif}.review-callout p{margin:5px 0 0;color:#6d5e70;font:500 10px/1.5 Poppins,Arial,sans-serif}.review-callout button{flex:none;padding:10px 12px;border:0;border-radius:8px;background:#100530;color:#fff;font:700 10px/1.2 Inter,Arial,sans-serif;cursor:pointer}.review-callout button:hover{background:#3b245c}
@media(max-width:1000px){.today-steps{grid-template-columns:1fr 1fr}.today-step:last-child{grid-column:1/-1;min-height:220px}}
@media(max-width:700px){.today-preview{align-items:flex-start;flex-direction:column;padding:21px}.today-preview-action{justify-items:start}.today-hero{padding:30px 24px}.today-score{width:115px;height:115px;border-width:8px}.today-score strong{font-size:43px}.today-score strong span{font-size:20px}.today-score>span{font-size:8px}.review-hero{padding:29px 24px}}
@media(max-width:540px){.today-hero{display:block}.today-score{margin-top:24px}.today-steps{grid-template-columns:1fr}.today-step,.today-step:last-child{grid-column:auto;min-height:260px}.today-step-top{margin-bottom:17px}.review-hero{display:block}.review-count{display:inline-grid;margin-top:21px}.review-question{padding:20px}.review-callout{align-items:stretch;flex-direction:column}}
@media(prefers-reduced-motion:reduce){.today-step-track span{transition:none}}

/* La primera conversación con María */
.mission-preview{position:relative;display:grid;grid-template-columns:76px minmax(0,1fr) auto;align-items:center;gap:23px;margin:18px 0;padding:25px 30px;border-radius:16px;background:#fce8f0;color:#100530;overflow:hidden}
.mission-preview:after{content:"";position:absolute;right:12%;bottom:-95px;width:230px;height:230px;border:1px solid #e9b0ca;border-radius:50%;pointer-events:none}
.mission-preview-number{font:900 55px/1 Inter,Arial,sans-serif;letter-spacing:-.09em;color:#f71662}
.mission-preview-overline{color:#ad1251;font:800 10px/1.3 Poppins,Arial,sans-serif;letter-spacing:.12em}
.mission-preview h2{margin:4px 0 6px;font:800 clamp(20px,2.4vw,28px)/1.13 Inter,Arial,sans-serif;letter-spacing:-.04em}
.mission-preview p{max-width:55ch;margin:0;color:#5d4e67;font:500 11px/1.5 Poppins,Arial,sans-serif}
.mission-preview button{position:relative;z-index:1;padding:13px 16px;border:0;border-radius:9px;background:#100530;color:#fff;white-space:nowrap;font:700 11px/1.2 Inter,Arial,sans-serif;cursor:pointer}
.mission-preview button:hover{background:#382153}.mission-preview button span{margin-left:14px;color:#ff8ab7}
.mission-preview-done{position:absolute;left:129px;bottom:7px;color:#80516b;font:700 9px/1 Poppins,Arial,sans-serif}
.mission-shell{max-width:1160px;margin:0 auto}.mission-heading{display:flex;justify-content:space-between;align-items:end;gap:32px;padding:14px 0 29px}.mission-heading>div:first-child{max-width:640px}.mission-heading span{color:#d20d57;font:800 11px/1.3 Poppins,Arial,sans-serif;letter-spacing:.08em}.mission-heading h1{margin:8px 0 11px;color:#100530;font:900 clamp(34px,4vw,57px)/1.01 Inter,Arial,sans-serif;letter-spacing:-.06em}.mission-heading p{max-width:60ch;margin:0;color:#675c73;font:500 12px/1.6 Poppins,Arial,sans-serif}
.mission-heading-progress{display:grid;justify-items:center;flex:none;min-width:113px;padding:15px;border:1px solid #eadce7;border-radius:13px;background:#fff}.mission-heading-progress strong{color:#120631;font:900 35px/1 Inter,Arial,sans-serif}.mission-heading-progress strong small{color:#9889a2;font-size:17px}.mission-heading-progress>span{margin-top:5px;color:#70637b;font:600 10px/1.2 Poppins,Arial,sans-serif;letter-spacing:0}
.mission-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,35%);min-height:565px;border-radius:20px;background:#fff;box-shadow:0 22px 60px rgba(21,7,51,.1);overflow:hidden}.mission-work{padding:clamp(25px,4vw,48px)}.mission-steps{display:flex;gap:7px;margin-bottom:39px}.mission-steps span{height:5px;flex:1;border-radius:9px;background:#e9dfec}.mission-steps span.finished{background:#f71662}.mission-steps span.current{background:#d59cb6}
.mission-dialogue{position:relative;padding:26px 29px;border-radius:15px 15px 15px 3px;background:#100530;color:#fff}.mission-dialogue:after{content:"";position:absolute;left:0;bottom:-14px;border-style:solid;border-width:0 15px 15px 0;border-color:transparent #100530 transparent transparent}.mission-speaker{color:#ff86b7;font:800 10px/1.3 Poppins,Arial,sans-serif;letter-spacing:.1em}.mission-dialogue h2{margin:10px 0;font:800 clamp(23px,2.5vw,33px)/1.24 Inter,Arial,sans-serif;letter-spacing:-.03em;color:#fff}.mission-dialogue p{margin:0;color:#d5cde1;font:500 11px/1.4 Poppins,Arial,sans-serif}
.mission-answers{display:grid;gap:10px;margin:30px 0 0;padding:0;border:0}.mission-answers legend{margin-bottom:14px;color:#281a3b;font:800 17px/1.2 Inter,Arial,sans-serif}.mission-answer{display:flex;align-items:center;gap:12px;width:100%;padding:14px 16px;border:1px solid #dfd5e5;border-radius:11px;background:#fff;color:#150a31;text-align:left;font:700 13px/1.4 Poppins,Arial,sans-serif;cursor:pointer;transition:border-color .15s,background .15s,transform .15s}.mission-answer:hover:not(:disabled),.mission-answer:focus-visible{border-color:#f71662;background:#fff6f9;transform:translateX(2px)}.mission-answer>span{display:grid;place-items:center;flex:none;width:29px;height:29px;border-radius:7px;background:#f2eaf4;color:#8b6080;font:800 11px/1 Inter,Arial,sans-serif}.mission-answer b{margin-left:auto;color:#ea165e;font-size:17px}.mission-answer.correct{border-color:#67b77d;background:#effaf1}.mission-answer.incorrect{border-color:#ed9aae;background:#fff0f4}.mission-answer:disabled{cursor:default;opacity:1}
.mission-feedback{min-height:25px;margin-top:13px;color:#5a4e68;font:600 11px/1.5 Poppins,Arial,sans-serif}.mission-feedback.correct{color:#236b39}.mission-feedback.incorrect{color:#b2134f}.mission-next-wrap{min-height:48px}.mission-next{margin-top:7px}.mission-next[hidden]{display:none}.mission-aside{display:flex;flex-direction:column;background:#170836}.mission-maria{min-height:430px;flex:1;background:#170836 url('assets/maria-guia.png') center 29%/cover no-repeat}.mission-aside-copy{padding:18px 23px 23px;color:#fff}.mission-aside-copy span{color:#ff83b1;font:800 10px/1.2 Poppins,Arial,sans-serif;letter-spacing:.1em}.mission-aside-copy p{margin:6px 0 0;color:#e7ddeb;font:500 10px/1.5 Poppins,Arial,sans-serif}
.mission-finish{padding:4px 0}.mission-spark{display:grid;place-items:center;width:53px;height:53px;border-radius:13px;background:#ffe4ee;color:#ee145e;font-size:29px}.mission-finish h2{max-width:15ch;margin:23px 0 12px;font:900 clamp(30px,3.3vw,44px)/1.06 Inter,Arial,sans-serif;letter-spacing:-.055em}.mission-finish p{max-width:54ch;color:#65596d;font:500 12px/1.6 Poppins,Arial,sans-serif}.mission-example{margin:22px 0;padding:17px;border-left:4px solid #f71662;background:#fff0f6;color:#281336;font:600 12px/1.6 Poppins,Arial,sans-serif}.mission-example strong{display:block;margin-bottom:3px;color:#bd0c4e}.mission-finish-actions{display:flex;flex-wrap:wrap;gap:10px}.mission-finish .mission-saved{margin-top:13px;color:#236b39;font-weight:700}
.mission-transcript{margin:24px 0 55px;padding:25px 29px;border:1px solid #e5dce8;border-radius:15px;background:#fff}.mission-transcript h2{margin:0 0 14px;font:800 20px/1.2 Inter,Arial,sans-serif}.mission-transcript-pair{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:12px 0;border-top:1px solid #f1eaf2}.mission-transcript-pair p{margin:0;color:#4a3b58;font:500 11px/1.5 Poppins,Arial,sans-serif}.mission-transcript-pair strong{display:block;color:#d10f57;font-weight:800}
@media(max-width:900px){.mission-preview{grid-template-columns:58px 1fr}.mission-preview-number{font-size:45px}.mission-preview button{grid-column:2;justify-self:start}.mission-preview-done{left:auto;right:26px;bottom:12px}.mission-layout{grid-template-columns:minmax(0,1fr) 260px}}
@media(max-width:680px){.mission-heading{align-items:start}.mission-heading-progress{min-width:78px;padding:10px}.mission-heading-progress strong{font-size:27px}.mission-layout{display:flex;flex-direction:column-reverse}.mission-aside{min-height:190px;flex-direction:row}.mission-maria{min-height:190px;flex:0 0 42%;background-position:center 22%}.mission-aside-copy{align-self:end;padding:15px}.mission-work{padding:26px 20px}.mission-steps{margin-bottom:23px}.mission-transcript-pair{grid-template-columns:1fr;gap:3px}.mission-dialogue{padding:20px}.mission-heading h1{font-size:37px}}
@media(max-width:480px){.mission-preview{grid-template-columns:1fr;padding:22px}.mission-preview-number{font-size:36px}.mission-preview button{grid-column:auto}.mission-preview-done{position:static}.mission-heading{display:block}.mission-heading-progress{display:none}.mission-aside-copy p{font-size:9px}}
@media(prefers-reduced-motion:reduce){.mission-answer{transition:none}.mission-answer:hover:not(:disabled),.mission-answer:focus-visible{transform:none}}
