@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;450;500;550;600;650;700;750&display=swap');
.agenda-page .page-heading{align-items:center}.agenda-preview-note{padding:12px 16px;border:1px solid #e0e6f7;border-radius:12px;background:#eef2fd;color:#6a7895;font-size:12px;margin:0 0 20px}.agenda-topline{display:flex;justify-content:space-between;gap:20px;align-items:center;margin:0 0 24px}.agenda-access,.agenda-timezone{display:flex;align-items:center;gap:8px;color:#718099;font-size:12px}.agenda-access>.icon{color:#7792cb}.agenda-access>span{border-left:1px solid #dce3f1;padding-left:10px;margin-left:4px}.agenda-timezone select{background:white;border:1px solid #e0e6f1;border-radius:9px;padding:9px;color:#3f5972;font:inherit;min-height:40px}.agenda-layout{display:grid;grid-template-columns:310px minmax(0,1fr);gap:28px;margin-top:20px}.agenda-calendar{padding:20px}.agenda-month{display:flex;justify-content:space-between;align-items:center;gap:5px;margin-bottom:22px}.agenda-month h2{text-transform:capitalize;font-size:15px;margin:0}.icon-button{border:1px solid #e6eaf3;border-radius:9px;background:white;width:36px;min-height:36px;font-size:22px;color:#8190a8}.agenda-weekdays,.agenda-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;text-align:center}.agenda-weekdays{font-size:10px;color:#9aa5b5;margin-bottom:10px}.agenda-day{position:relative;display:flex;align-items:center;justify-content:center;border:0;background:transparent;border-radius:11px;min-height:36px;font-size:12px;color:#65758c;padding:0 0 3px}.agenda-day:hover{background:#f0f3fb}.agenda-day.is-today{background:#edf1fd;color:#587acd;font-weight:650}.agenda-day.is-selected{background:#5276d6;color:white}.agenda-day i{position:absolute;width:4px;height:4px;background:#7f9bdd;border-radius:50%;bottom:4px}.agenda-day.is-selected i{background:white}.agenda-calendar-footer{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #edf0f7;margin-top:18px;padding-top:15px}.agenda-calendar-footer>span{display:flex;align-items:center;gap:6px;font-size:10px;color:#91a0b4}.agenda-calendar-footer i{background:#8ca6e0;width:5px;height:5px;border-radius:50%}.agenda-info{margin-top:20px;padding:24px}.agenda-info h3{font-size:17px;margin:18px 0 12px}.agenda-info p{font-size:12px;color:#8591a3;line-height:1.8}.agenda-info>div{display:flex;align-items:center;gap:8px;font-size:10px;color:#8c98a8;border-top:1px solid #edf0f5;padding-top:15px}.agenda-info>div .icon{width:14px;height:14px}.agenda-list-section{min-width:0}.agenda-list-section .section-heading{margin:0 0 18px;align-items:center}.agenda-list-section .section-heading h2{font-size:20px}.agenda-list-section .section-heading p{font-size:12px}.agenda-filters{display:flex;gap:8px;margin-bottom:20px}.agenda-filters button{border:1px solid transparent;border-radius:10px;background:transparent;padding:9px 15px;font-size:12px;min-height:40px;color:#8a96a9}.agenda-filters button.selected{background:white;border-color:#e1e6f1;color:#5778c8}.agenda-empty{border:1px dashed #d9e2f0;border-radius:22px;background:#fafbfe;min-height:335px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:35px;text-align:center}.agenda-empty-art{position:relative;display:grid;place-items:center;width:84px;height:84px;border-radius:28px;background:#eaf0fc;color:#94abdb;margin-bottom:24px;transform:rotate(-6deg)}.agenda-empty-art>.icon{width:40px;height:40px}.agenda-empty-art i{position:absolute;right:-8px;top:-7px;font-style:normal;font-size:26px;color:#baa6dc}.agenda-empty h3{font-size:20px;margin-bottom:12px}.agenda-empty p{font-size:12px;line-height:1.8;max-width:330px;color:#8e9bb0}.agenda-empty .text-button{font-size:12px;margin-top:10px}.agenda-event{display:flex;gap:18px;background:white;border:1px solid #e3e9f3;border-radius:20px;padding:22px;margin-bottom:16px;box-shadow:0 5px 25px #23365303}.agenda-event-date{display:flex;flex-direction:column;align-items:center;justify-content:center;width:59px;height:68px;border-radius:15px;background:#eff3fd;color:#6486cf;flex-shrink:0}.agenda-event-date strong{font-size:25px;line-height:1.2;font-weight:600}.agenda-event-date span{font-size:11px;text-transform:uppercase}.agenda-event-content{min-width:0;flex:1}.agenda-event-meta{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.agenda-event-meta .status-badge{font-size:10px;padding:4px 9px}.draft-tag{font-size:9px;letter-spacing:.3px;color:#a18aad;background:#f6eef9;border-radius:6px;padding:4px 7px}.agenda-event h3{font-size:18px;margin:12px 0;overflow-wrap:anywhere}.agenda-event-content>p{display:flex;gap:7px;align-items:center;font-size:11px;color:#8b97a9;margin:6px 0}.agenda-event-content>p>.icon{width:14px;height:14px;flex-shrink:0}.agenda-details{font-size:12px;color:#7c8aa0;margin-top:18px}.agenda-details summary{color:#6885c8;cursor:pointer;width:fit-content;padding:6px 0}.agenda-description{white-space:pre-wrap;overflow-wrap:anywhere;margin:14px 0;line-height:1.8}.agenda-details p{line-height:1.8}.agenda-event-actions{display:flex;gap:15px;flex-wrap:wrap;margin:15px 0}.agenda-event-actions button{font-size:11px}.agenda-room-button{display:flex;align-items:center;justify-content:center;gap:7px;border:1px solid #e4e9f1;border-radius:10px;background:#f6f8fc;color:#9aa7ba;min-height:40px;padding:9px 14px;font-size:11px;margin-top:16px}.agenda-room-button .icon{width:14px;height:14px}.event-cancelled .agenda-event-date{background:#f5eeee;color:#b19292}.agenda-editor{padding:28px}.agenda-editor h2{margin:14px 0 0}.agenda-editor select{min-height:48px;border:1px solid #dce2ed;border-radius:10px;background:white;padding:10px;font:inherit;color:#4d627b}.agenda-form-row{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:14px}.agenda-form-row>div{min-width:0}.agenda-form-row label{display:block;margin-bottom:9px}.agenda-form-row input{min-width:0}.agenda-form-actions{display:flex;gap:18px;align-items:center}.agenda-form-actions .text-button{font-size:12px}.agenda-page select:focus-visible,.agenda-day:focus-visible{outline:3px solid #91a9f4;outline-offset:3px}
@media(max-width:1100px){.agenda-layout{grid-template-columns:280px minmax(0,1fr);gap:20px}.agenda-access>span{display:none}}
@media(max-width:900px){.agenda-layout{grid-template-columns:1fr}.agenda-layout>aside{display:grid;grid-template-columns:1.2fr 1fr;gap:20px}.agenda-info{margin-top:0}.agenda-calendar{max-width:420px;width:100%}}
@media(max-width:740px){.agenda-page .page-heading{align-items:flex-start;gap:18px}.agenda-page .page-heading>.primary{min-height:44px;font-size:11px;padding:10px 12px;white-space:nowrap}.agenda-topline{align-items:flex-start;flex-direction:column;gap:14px}.agenda-layout>aside{display:block}.agenda-calendar{max-width:none}.agenda-info{display:none}.agenda-event{gap:12px;padding:17px}.agenda-event-date{width:48px;height:60px}.agenda-event h3{font-size:16px}.agenda-event-content>p{flex-wrap:wrap;line-height:1.8}.agenda-event-content>p>span{width:100%;padding-left:21px}.agenda-event-meta{gap:5px}.agenda-empty{padding:26px;min-height:300px}.agenda-preview-note{font-size:11px}.agenda-editor{padding:20px}.agenda-form-row{grid-template-columns:1fr}.agenda-form-actions{align-items:stretch;flex-direction:column}.agenda-form-actions .primary{justify-content:center}.agenda-page .page-heading h1{font-size:27px}}
.study-choice{max-width:850px;margin:45px auto;padding:45px 30px;text-align:center}
.study-choice-icon{display:grid;place-items:center;margin:0 auto 24px;width:64px;height:64px;border-radius:22px;background:#e7edff;color:#597bd1}
.study-choice-icon .icon{width:30px;height:30px}
.study-choice>.eyebrow{display:block}.study-choice h1{font-size:34px;letter-spacing:-1px;margin:15px 0}.study-choice>p{color:#788398;line-height:1.9}
.duration-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:35px 0}
.duration-card{display:flex;flex-direction:column;align-items:center;gap:18px;min-height:238px;padding:25px 16px;border:1px solid #dfe5f1;border-radius:22px;background:#fff;text-align:center;box-shadow:0 5px 0 #e9edf6}
.duration-card:hover{border-color:#7896de;background:#f8faff;transform:translateY(-2px)}
.duration-symbol{display:grid;place-items:center;width:45px;height:45px;border-radius:15px;background:#eaf3ef;color:#6a9b85}.duration-card:nth-child(2) .duration-symbol{background:#e8edff;color:#6d87cf}.duration-card:nth-child(3) .duration-symbol{background:#f2e9fc;color:#a07ac0}
.duration-card strong{font-size:42px;font-weight:650;color:#24475e;line-height:1}.duration-card small{display:block;font-size:13px;font-weight:450;margin-top:8px;color:#7a8798}.duration-card>span:not(.duration-symbol){font-size:12px;color:#7a8798}.duration-start{display:flex;gap:8px;align-items:center;justify-content:center;color:#5678ce!important;margin-top:auto}.duration-start .icon{width:15px;height:15px}
.study-choice .study-choice-note{font-size:12px;max-width:550px;margin:25px auto;line-height:1.8}.study-break-actions{display:flex;justify-content:center;gap:15px;margin:30px 0;flex-wrap:wrap}
.study-timer{display:flex;justify-content:space-between;align-items:center;gap:12px;background:#f5f7fd;border:1px solid #e6ebf5;border-radius:12px;padding:10px 14px;margin:16px 0 20px;color:#76839c;font-size:12px}.study-timer>span{display:flex;align-items:center;gap:8px;white-space:nowrap}.study-timer .icon{width:17px;height:17px}.study-timer strong{font-variant-numeric:tabular-nums;font-size:14px;color:#5273c4}.study-timer small{font-size:11px}.study-timer.time-reached{background:#edf8f1;border-color:#d6eade;color:#54846b}
@media(max-width:740px){.study-choice{padding:25px 18px;margin:15px auto}.study-choice h1{font-size:28px}.duration-options{grid-template-columns:1fr;gap:14px;margin:25px 0}.duration-card{min-height:100px;display:grid;grid-template-columns:45px 66px 1fr;column-gap:16px;row-gap:8px;text-align:left;align-items:center;padding:18px}.duration-card strong{font-size:32px;text-align:center;grid-column:2;grid-row:1/3}.duration-card .duration-symbol{grid-column:1;grid-row:1/3}.duration-card>span:not(.duration-symbol){grid-column:3;font-size:11px}.duration-start{justify-content:flex-start}.duration-card small{font-size:11px}.study-timer{align-items:flex-start;flex-direction:column;gap:5px}.study-break-actions .primary{width:100%;justify-content:center}}
.skill-memory{--skill-fill:#f5dbeb;--skill-edge:#e6bad5;--skill-ink:#a35887}
.memory-play{max-width:640px;margin:24px auto 0}
.memory-intro{display:flex;gap:14px;align-items:center;background:#faf4fa;border:1px solid #f1e3f0;padding:16px 20px;border-radius:18px}
.memory-intro strong{color:#624873;font-size:15px;font-weight:600}
.memory-intro p{font-size:12px;color:#7e7489;margin:4px 0 0}
.memory-mark{display:grid;place-items:center;border-radius:13px;flex-shrink:0;background:#eddef2;width:40px;height:40px;color:#9b6cae}
.memory-stats{display:flex;justify-content:space-between;align-items:center;margin:21px 2px 16px;color:#7a7184;font-size:12px}
.memory-stats>span:first-child{background:#f3eafa;color:#8d5f9d;padding:4px 12px;border-radius:20px;font-weight:600}
.memory-column-labels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 12px;text-align:center;color:#8c739d;font-size:11px;font-weight:600;letter-spacing:.7px;text-transform:uppercase}
.memory-board{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.memory-slot{min-width:0}
.memory-card{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;width:100%;aspect-ratio:1.7;border:2px solid #ddd1ee;border-radius:19px;background:repeating-linear-gradient(45deg,#f0e9f9,#f0e9f9 8px,#f4eefa 8px,#f4eefa 16px);box-shadow:0 5px 0 #e1d5ee;color:#9d82b7;padding:9px;transition:background .2s,transform .2s,border-color .2s}
.memory-card:hover:not(:disabled){transform:translateY(-2px);border-color:#a78bc3}
.memory-card:focus-visible{outline:3px solid #9876bd;outline-offset:4px}
.memory-card .card-back-mark{display:grid;place-items:center;width:45px;height:45px;border-radius:15px;background:#ffffff90;border:1px solid #e6dcf2}
.memory-card .card-back-mark .icon{width:27px;height:27px}
.card-number{font-size:10px;letter-spacing:1px;color:#a28bb7}
.memory-card.face-up{background:white;border-color:#b2c5ea;box-shadow:0 5px 0 #d5e0f4;color:#385276;animation:card-reveal .22s ease-out}
.memory-card.face-up>svg:not(.icon){width:100%;height:100%;max-height:158px}
.memory-card.face-up>.icon{width:40px;height:40px;color:#6a8cda}
.memory-word{font-size:clamp(17px,2.1vw,25px);font-weight:600;line-height:1.4;text-align:center;overflow-wrap:anywhere}
.memory-card.pair-found{border-color:#9dcbb7;box-shadow:0 5px 0 #c5e2d5;background:#f6fcf9}
.memory-card.pair-miss{border-color:#dec59b;box-shadow:0 5px 0 #eddfc7}
.memory-tick{position:absolute;top:5px;right:5px;width:23px;height:23px;display:grid;place-items:center;background:#468e71;border:2px solid white;border-radius:50%;color:white}
.memory-tick .icon{width:14px;height:14px}
.memory-replay,.memory-replay-space{display:flex;align-items:center;justify-content:center;gap:6px;min-height:39px;margin-top:5px;width:100%;font-size:11px;border:0;background:transparent;color:#5378c4;padding:4px}
.memory-replay .icon{width:16px;height:16px}
.memory-replay.is-playing{color:#7552ab;background:#f1e8fb;border-radius:10px}
.memory-message{min-height:50px;margin:12px 0 0;text-align:center;font-size:13px;color:#557b69;display:flex;align-items:center;justify-content:center}
.memory-reset-pair{display:block;margin:0 auto 18px;min-height:46px;border:1px solid #ddcba9;background:#fff7e9;color:#8f7343;border-radius:12px;padding:10px 20px}
.memory-footnote{font-size:11px;color:#8b8495;text-align:center;margin:10px 0;line-height:1.6}
.image-recall{margin:20px auto 25px;max-width:300px;text-align:center}
.image-recall svg{width:100%;max-width:260px}
.image-recall figcaption{font-size:12px;color:#7b7b8f;margin:12px 0}
@keyframes card-reveal{from{transform:scale(.96)}to{transform:scale(1)}}
@media(max-width:740px){.memory-board{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.memory-card{border-radius:15px;aspect-ratio:1.3}.memory-word{font-size:19px}.memory-intro{padding:13px;gap:10px}.memory-intro strong{font-size:13px}.memory-intro p{font-size:11px}.memory-card.face-up>svg:not(.icon){max-height:122px}.memory-play{margin-top:18px}}
@media(prefers-reduced-motion:reduce){.memory-card.face-up{animation:none}.memory-card{transition:none}}
.member-entry{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:white}
.member-story{background:#eef2ff;padding:42px 11%;position:relative;display:flex;flex-direction:column;overflow:hidden}
.member-story .brand{align-self:flex-start}
.member-story-copy{margin:auto 0;padding:68px 0 34px}
.member-story-copy h1{font-size:clamp(36px,4vw,58px);font-weight:650;letter-spacing:-2px;margin:18px 0 20px}
.member-story-copy>p{font-size:18px;color:#69788e}
.member-story-footer{font-size:12px;color:#69788e;padding:14px 0}
.member-art{height:230px;position:relative;max-width:360px;margin:30px 0 0;background:radial-gradient(ellipse,#dce5ff 0%,transparent 68%)}
.member-hello{position:absolute;left:22%;top:34%;background:white;border-radius:24px 24px 24px 5px;box-shadow:0 15px 35px #6179bb15;padding:16px 32px;color:#4d70dc;font-size:36px;font-weight:650;transform:rotate(-6deg)}
.member-orbit{position:absolute;display:grid;place-items:center;width:64px;height:64px;border-radius:22px;box-shadow:0 8px 0 #26384b08}
.member-orbit .icon{width:30px;height:30px}
.member-orbit.o1{left:2%;top:12%;background:#d7e8ff;color:#4d70dc;transform:rotate(-12deg)}
.member-orbit.o2{right:4%;top:5%;background:#ece0ff;color:#8c69bc;transform:rotate(12deg)}
.member-orbit.o3{left:10%;bottom:3%;background:#d6f1e6;color:#438b73;transform:rotate(8deg)}
.member-orbit.o4{right:8%;bottom:8%;background:#fff0be;color:#a18a37;transform:rotate(-10deg)}
.member-art-star{position:absolute;right:27%;top:14%;color:#8c69bc;font-size:26px}
.member-form-side{display:flex;align-items:center;justify-content:center;padding:56px 8%}
.member-form-wrap{width:100%;max-width:410px}
.member-form-wrap h2{font-size:32px;letter-spacing:-1px;margin:14px 0}
.member-form-wrap>p{color:#69788e}
.member-setup{display:flex;align-items:flex-start;gap:12px;border:1px solid #dce5f6;background:#f6f8fe;border-radius:14px;padding:16px;margin:25px 0;font-size:12px;line-height:1.6}
.member-setup>.icon{flex-shrink:0;color:#4d70dc}
.member-setup p{margin:4px 0 0;color:#69788e}
.member-form{display:flex;flex-direction:column;gap:9px;margin:24px 0 0}
.member-form label{font-size:13px;font-weight:550;color:#26384b}
.member-form input{min-height:50px;border:1px solid #dce2ed;border-radius:10px;font:inherit;padding:12px 14px;width:100%;background:white;color:#26384b;margin-bottom:12px}
.member-form input:disabled{background:#f6f7fa;color:#69788e}
.member-form input:focus-visible{outline:3px solid #91a9f4;outline-offset:2px}
.password-label{display:flex;justify-content:space-between;gap:12px;align-items:center}
.password-label .text-button{font-size:12px}
.password-field{position:relative}
.password-field input{padding-right:76px}
.password-field button{position:absolute;right:8px;top:8px;min-height:34px;border:0;background:transparent;color:#4d70dc;font-size:12px}
.field-note{font-size:12px;color:#69788e;margin:0 0 10px}
.member-submit{width:100%;justify-content:center;min-height:50px}
.member-submit:disabled{opacity:.5}
.form-message{font-size:13px;color:#2f826c;line-height:1.7}
.form-message.is-error{color:#ac4f42}
.member-switch{text-align:center;font-size:13px;margin:25px 0;color:#69788e}
.preview-divider{text-align:center;border-top:1px solid #e9edf3;margin-top:35px}
.preview-divider span{position:relative;top:-11px;background:white;padding:0 12px;color:#69788e;font-size:10px;letter-spacing:1px}
.preview-button{border:1px solid #dce2ed;background:white;width:100%;border-radius:10px;min-height:48px;color:#4d70dc;font-weight:550}
.member-entry-footnote{text-align:center;font-size:11px;color:#69788e;margin:18px 0 0}
.account-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:960px}
.account-grid>.panel{padding:30px}
.account-grid h2{font-size:23px;margin-top:20px}
.account-plan>p{color:#69788e;margin:20px 0}
.account-sync{border-top:1px solid #e9edf3;padding-top:24px;margin-top:28px}
.account-sync p{font-size:12px;color:#69788e}
.account-plan>.text-button{display:block;margin:12px 0;min-height:40px}
.account-exit{display:block;background:white;border:1px solid #dce2ed;border-radius:10px;padding:12px 18px;margin-top:25px;color:#69788e;min-height:48px}
.member-loading{max-width:520px;margin:15vh auto;padding:25px;text-align:center}
@media(max-width:740px){.member-entry{display:block}.member-story{padding:24px 26px;background:#eef2ff}.member-story-copy,.member-story-footer{display:none}.member-form-side{padding:38px 26px}.member-form-wrap h2{font-size:28px}.account-grid{grid-template-columns:1fr}.account-grid>.panel{padding:24px}.password-label{align-items:baseline}}
:root {
  --blue:#4d70dc;
  --blue-dark:#3e61d0;
  --navy:#163b54;
  --ink:#26384b;
  --muted:#69788e;
  --paper:#f5f6fa;
  --line:#e9edf3;
  --soft-blue:#eef2ff;
  --mint:#edf9f5;
  --green:#2f826c;
  --sans:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --shadow:0 5px 24px #253a5b04;
  --sidebar:224px;
}
* {
  box-sizing:border-box;
}
html {
  scroll-behavior:smooth;
}
body {
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font:14px var(--sans);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
button,a,input,textarea {
  -webkit-tap-highlight-color:transparent;
}
button {
  font:inherit;
  cursor:pointer;
  color:inherit;
  transition:background .15s,border-color .15s,box-shadow .15s;
}
button:disabled {
  cursor:default;
}
button:focus-visible,a:focus-visible,summary:focus-visible,textarea:focus-visible {
  outline:3px solid #91a9f4;
  outline-offset:3px;
}
button:hover:not(:disabled) {
  --hover:1;
}
a {
  color:inherit;
  text-decoration:none;
}
h1,h2,h3,h4,p {
  margin-top:0;
}
h1,h2,h3,h4 {
  color:var(--navy);
  line-height:1.3;
}
h1 {
  font-size:28px;
  font-weight:650;
  letter-spacing:-.9px;
}
h2 {
  font-size:19px;
  font-weight:600;
  letter-spacing:-.4px;
}
h3 {
  font-size:17px;
  font-weight:600;
  letter-spacing:-.25px;
}
p {
  color:var(--muted);
}
.icon {
  width:20px;
  height:20px;
  flex-shrink:0;
  vertical-align:middle;
}
.skip-link {
  position:fixed;
  z-index:100;
  top:-70px;
  left:20px;
  padding:12px 18px;
  border-radius:8px;
  background:var(--navy);
  color:#fff;
}
.skip-link:focus {
  top:12px;
}
.sidebar {
  position:fixed;
  left:0;
  top:0;
  bottom:0;
  width:var(--sidebar);
  background:white;
  border-right:1px solid var(--line);
  z-index:30;
  display:flex;
  flex-direction:column;
  padding:34px 16px 21px;
}
.brand {
  display:flex;
  align-items:center;
  gap:12px;
  padding:0 14px;
  margin-bottom:50px;
  width:fit-content;
}
.brand-symbol {
  width:39px;
  height:39px;
  background:var(--navy);
  color:white;
  border-radius:11px;
  display:grid;
  place-items:center;
}
.brand-symbol .icon {
  width:22px;
  height:22px;
  stroke-width:1.5;
}
.brand-name {
  font-size:26px;
  font-weight:750;
  line-height:1;
  letter-spacing:1.2px;
  color:var(--navy);
}
.brand-name>span {
  display:block;
  letter-spacing:2.9px;
  font-size:8px;
  font-weight:550;
  margin-top:6px;
}
.workspace-label {
  font-size:9px;
  letter-spacing:1.2px;
  font-weight:550;
  color:#a0a7b6;
  padding:0 17px;
  margin-bottom:13px;
}
.side-nav {
  display:flex;
  flex-direction:column;
  gap:6px;
}
.side-link {
  display:flex;
  align-items:center;
  width:100%;
  min-height:47px;
  gap:13px;
  border:0;
  background:none;
  padding:12px 16px;
  border-radius:7px;
  color:#737e8e;
  text-align:left;
  font-size:12px;
  position:relative;
}
.side-link .icon {
  width:18px;
  height:18px;
  stroke-width:1.55;
}
.side-link:hover {
  background:#f6f8fc;
  color:var(--navy);
}
.side-link.active {
  background:#eef4fa;
  color:var(--navy);
  font-weight:550;
}
.side-link.active:before {
  position:absolute;
  content:'';
  left:0;
  top:13px;
  bottom:13px;
  background:var(--navy);
  width:2px;
  border-radius:2px;
}
.nav-dot {
  margin-left:auto;
  width:5px;
  height:5px;
  background:var(--blue);
  border-radius:50%;
}
.sidebar-bottom {
  margin-top:auto;
  padding-top:50px;
}
.sidebar-note {
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin:24px 10px 0;
  padding:20px 5px 0;
  border-top:1px solid var(--line);
}
.small-spark {
  color:#849dc3;
}
.small-spark .icon {
  width:18px;
}
.sidebar-note p {
  font-size:10px;
  line-height:1.9;
  margin:0;
  color:#9aa2b0;
}
.sidebar-note strong {
  font-weight:450;
  color:#7a8799;
}
.workspace {
  margin-left:var(--sidebar);
  min-height:100vh;
  display:flex;
  flex-direction:column;
}
.header {
  height:77px;
  background:white;
  border-bottom:1px solid var(--line);
  padding:0 42px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}
.header-location {
  display:flex;
  align-items:center;
  gap:13px;
  font-size:11px;
}
.breadcrumb-root {
  color:#9ba3b1;
}
.breadcrumb-divider {
  color:#c9ced8;
}
.header-location>strong {
  font-weight:500;
  color:#4f6174;
}
.header-right {
  display:flex;
  align-items:center;
  gap:24px;
}
.saved-label {
  font-size:9px;
  color:#a0a7b2;
  display:flex;
  align-items:center;
  gap:6px;
}
.saved-label i {
  width:5px;
  height:5px;
  border-radius:50%;
  background:#88b9a3;
}
.profile-button {
  display:flex;
  align-items:center;
  gap:10px;
  border:0;
  background:none;
  padding:5px 0;
  font-size:10px;
  color:#6e7d8f;
  min-height:44px;
}
.profile-avatar {
  height:33px;
  width:33px;
  border-radius:50%;
  background:#e9eef8;
  display:grid;
  place-items:center;
  color:#6d83b3;
}
.profile-avatar .icon {
  height:17px;
  width:17px;
}
.menu-toggle,.sidebar-overlay {
  display:none;
}
#main-content {
  flex:1;
}
#main-content:focus {
  outline:none;
}
.platform-main,.home {
  max-width:1250px;
  margin:0 auto;
  padding:42px 42px 45px;
}
.eyebrow {
  display:flex;
  align-items:center;
  gap:10px;
  font-size:9px;
  letter-spacing:1.35px;
  font-weight:550;
  color:#8a97aa;
  line-height:1.6;
}
.page-heading {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:24px;
  margin-bottom:29px;
}
.page-heading h1 {
  margin:9px 0 9px;
}
.page-heading p {
  font-size:12px;
  margin:0;
}
.page-label {
  display:flex;
  align-items:center;
  gap:7px;
  white-space:nowrap;
  font-size:10px;
  color:#8893a3;
  padding-top:24px;
}
.page-label .icon {
  width:15px;
  height:15px;
}
.stats-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:19px;
  margin-bottom:34px;
}
.stat-card {
  border:1px solid #f0f2f6;
  background:white;
  border-radius:10px;
  padding:22px 23px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  box-shadow:var(--shadow);
  min-height:110px;
}
.stat-card>div>span {
  display:block;
  font-size:11px;
  color:#87909c;
  margin-bottom:8px;
}
.stat-card strong {
  font-size:25px;
  font-weight:600;
  line-height:1;
  letter-spacing:-.6px;
  color:#314050;
}
.stat-card strong small {
  font-size:13px;
  font-weight:400;
  letter-spacing:0;
  color:#9ba4b1;
  margin-left:5px;
}
.stat-icon {
  display:grid;
  place-items:center;
  width:45px;
  height:45px;
  border-radius:13px;
}
.stat-icon .icon {
  height:24px;
  width:24px;
}
.lavender {
  background:#f0edff;
  color:#8978d4;
}
.mint {
  background:#edf9f5;
  color:#77b2a0;
}
.lime {
  background:#f3fae9;
  color:#94b578;
}
.peach {
  background:#fff5eb;
  color:#d3a377;
}
.dashboard-grid {
  display:grid;
  grid-template-columns:minmax(0,1fr) 280px;
  gap:26px;
}
.section-heading {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-bottom:18px;
}
.section-heading h2 {
  font-size:16px;
  margin-bottom:4px;
}
.section-heading p {
  font-size:11px;
  margin:0;
}
.text-button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:8px 0;
  min-height:44px;
  font-size:11px;
  border:0;
  background:none;
  color:var(--blue);
  font-weight:500;
}
.text-button:hover {
  color:var(--blue-dark);
}
.text-button .icon {
  width:15px;
  height:15px;
}
.featured-course {
  background:white;
  border:1px solid #edf0f5;
  border-radius:12px;
  overflow:hidden;
  box-shadow:var(--shadow);
}
.course-art {
  height:180px;
  background:#eaf0fa;
  position:relative;
  overflow:hidden;
  color:var(--navy);
}
.art-grid {
  position:absolute;
  inset:0;
  background-image:linear-gradient(#93a9d31a 1px,transparent 1px),linear-gradient(90deg,#93a9d31a 1px,transparent 1px);
  background-size:32px 32px;
  mask-image:linear-gradient(90deg,black,transparent);
}
.art-path {
  position:absolute;
  width:290px;
  height:160px;
  left:14%;
  top:90px;
  border:1px dashed #9aafd1;
  border-radius:50%;
  transform:rotate(-26deg);
}
.art-stop {
  position:absolute;
  width:13px;
  height:13px;
  border:4px solid #eaf0fa;
  background:#6683bc;
  box-shadow:0 0 0 1px #95abd1;
  border-radius:50%;
}
.s1 {
  left:16%;
  top:137px;
}
.s2 {
  left:43%;
  top:94px;
}
.s3 {
  left:70%;
  top:113px;
}
.art-bubble {
  position:absolute;
  left:17%;
  top:34px;
  background:white;
  font-size:30px;
  font-weight:550;
  letter-spacing:-1px;
  padding:6px 24px 10px;
  border-radius:14px 14px 14px 3px;
  box-shadow:0 5px 12px #34527c06;
  transform:rotate(-5deg);
}
.art-level {
  position:absolute;
  right:12%;
  top:54px;
  font-size:36px;
  letter-spacing:-2px;
  font-weight:500;
  color:#40608a;
}
.art-level span {
  font-size:22px;
  color:#8a9fbc;
  margin:0 8px;
  font-weight:400;
}
.art-star {
  position:absolute;
  right:12%;
  top:106px;
  font-size:35px;
  color:#b2c6a8;
  transform:rotate(9deg);
}
.featured-body {
  padding:25px 27px 24px;
}
.course-meta {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:15px;
}
.status-badge {
  display:flex;
  gap:6px;
  align-items:center;
  font-size:9px;
  color:#8a96a6;
}
.status-badge i {
  width:5px;
  height:5px;
  background:#91b8a0;
  border-radius:50%;
}
.level-tag {
  background:#eef2fb;
  padding:4px 8px;
  border-radius:5px;
  color:#6e83b3;
  font-size:9px;
  white-space:nowrap;
}
.featured-body h2 {
  font-size:24px;
  letter-spacing:-.7px;
  margin:13px 0 9px;
}
.featured-body>p {
  font-size:12px;
  line-height:1.8;
  max-width:410px;
  margin-bottom:23px;
}
.course-progress>div:first-child {
  display:flex;
  justify-content:space-between;
  gap:12px;
  font-size:10px;
  color:#8791a0;
}
.course-progress strong {
  font-weight:500;
  color:#8290a4;
}
.progress-track {
  height:5px;
  border-radius:10px;
  background:#edf0f6;
  overflow:hidden;
  margin:10px 0 24px;
}
.progress-track>span {
  display:block;
  height:100%;
  background:var(--blue);
  border-radius:10px;
}
.primary {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  padding:12px 18px;
  background:var(--blue);
  color:white;
  border:1px solid var(--blue);
  border-radius:6px;
  min-height:45px;
  font-size:11px;
  font-weight:500;
  line-height:1.4;
  box-shadow:0 2px 3px #3760c108;
}
.primary>.icon {
  width:16px;
  height:16px;
}
.primary:hover {
  background:var(--blue-dark);
  border-color:var(--blue-dark);
}
.primary:disabled {
  opacity:.4;
}
.featured-body>.primary {
  padding:13px 17px;
}
.featured-body>.primary>.icon:first-child {
  height:14px;
  width:14px;
}
.featured-body>.primary>.icon:last-child {
  margin-left:18px;
}
.course-details {
  margin-left:18px;
  font-size:10px;
}
.dashboard-aside {
  padding-top:0;
  display:flex;
  flex-direction:column;
  gap:20px;
}
.panel {
  background:white;
  border:1px solid #edf0f5;
  border-radius:10px;
  padding:24px;
  box-shadow:var(--shadow);
}
.panel-icon {
  display:grid;
  place-items:center;
  width:35px;
  height:35px;
  border-radius:10px;
  margin-bottom:19px;
}
.panel-icon .icon {
  height:19px;
  width:19px;
}
.goal-panel .eyebrow {
  font-size:8px;
  letter-spacing:1.1px;
}
.goal-panel h3 {
  font-size:20px;
  margin:11px 0 12px;
  line-height:1.4;
}
.goal-panel p {
  font-size:11px;
  line-height:1.85;
  margin-bottom:18px;
}
.goal-quote {
  background:#f6f8fc;
  border-left:2px solid #b7c8e7;
  border-radius:0 6px 6px 0;
  font-size:14px;
  line-height:1.7;
  color:#6a83ad;
  padding:12px 14px;
  margin-bottom:16px;
}
.panel-footnote {
  font-size:9px;
  color:#a1a9b6;
}
.tip-panel {
  padding:21px 24px;
}
.tip-panel .panel-icon {
  float:right;
  margin-left:10px;
  margin-bottom:10px;
  width:29px;
  height:29px;
}
.tip-panel .panel-icon .icon {
  width:17px;
}
.tip-panel h3 {
  font-size:14px;
  line-height:1.6;
  margin-bottom:11px;
}
.tip-panel p {
  font-size:11px;
  line-height:1.8;
  margin-bottom:4px;
}
.tip-panel .text-button {
  font-size:10px;
}
.platform-footnote {
  margin-top:25px;
  font-size:9px;
  color:#a1a9b6;
  display:flex;
  align-items:center;
  gap:7px;
}
.platform-footnote>.icon {
  width:12px;
  height:12px;
}
footer {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:22px 42px;
  color:#aab1bd;
  font-size:9px;
}
footer>span:first-child {
  font-weight:550;
  color:#8c9aac;
}
.count-pill {
  font-size:10px;
  padding:6px 11px;
  background:#eaf0fb;
  color:#6a83ad;
  border-radius:20px;
  white-space:nowrap;
  margin-top:25px;
}
.catalog-toolbar {
  border-bottom:1px solid #e6eaf1;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  margin-bottom:26px;
}
.catalog-filter {
  font-size:11px;
  color:var(--navy);
  border-bottom:2px solid var(--blue);
  padding:13px 0;
  display:flex;
  gap:9px;
  align-items:center;
}
.catalog-filter b {
  font-size:9px;
  background:#e8edfa;
  color:#778fbd;
  padding:0 6px;
  border-radius:4px;
  font-weight:500;
}
.catalog-toolbar>span:last-child {
  font-size:10px;
  color:#9aa4b2;
}
.catalog-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:25px;
  max-width:920px;
}
.catalog-card {
  border:1px solid #edf0f5;
  background:white;
  border-radius:12px;
  overflow:hidden;
  box-shadow:var(--shadow);
}
.catalog-card .course-art {
  height:170px;
}
.catalog-body {
  padding:24px;
}
.catalog-body h2 {
  font-size:23px;
  margin:13px 0 9px;
}
.catalog-body>p {
  font-size:12px;
  line-height:1.8;
}
.course-facts {
  display:flex;
  gap:15px;
  flex-wrap:wrap;
  margin:22px 0;
}
.course-facts>span {
  display:flex;
  align-items:center;
  gap:7px;
  font-size:9px;
  color:#8e98a7;
}
.course-facts .icon {
  width:13px;
  height:13px;
}
.catalog-body>.primary {
  width:100%;
  justify-content:space-between;
}
.future-card {
  border:1px dashed #dbe2ee;
  border-radius:12px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:40px;
  background:#f7f8fc;
  min-height:400px;
}
.future-icon {
  display:grid;
  place-items:center;
  width:68px;
  height:68px;
  background:#edf0f8;
  color:#99a9c3;
  border-radius:20px;
  margin-bottom:23px;
}
.future-icon>.icon {
  width:29px;
  height:29px;
}
.future-card .eyebrow {
  font-size:8px;
}
.future-card h2 {
  font-size:23px;
  line-height:1.45;
  margin:13px 0;
  color:#8896ad;
}
.future-card p {
  font-size:12px;
  line-height:1.85;
  max-width:250px;
  color:#a0a9b7;
}
.soon-badge {
  font-size:9px;
  padding:7px 13px;
  border:1px solid #dfe5f0;
  border-radius:20px;
  color:#99a5b8;
  margin-top:10px;
}
.progress-summary {
  display:flex;
  align-items:center;
  gap:35px;
  padding:30px;
  margin-bottom:35px;
}
.progress-summary .progress-ring {
  margin:0;
  width:138px;
  height:138px;
}
.progress-summary h2 {
  font-size:22px;
  margin:10px 0;
}
.progress-summary p {
  font-size:12px;
  max-width:520px;
}
.evidence-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
}
.evidence-grid .panel {
  padding:24px;
}
.evidence-grid .panel-icon {
  margin-bottom:14px;
}
.evidence-grid .panel>strong {
  display:block;
  font-size:29px;
  color:#3b5068;
  line-height:1.3;
  font-weight:550;
}
.evidence-grid h3 {
  font-size:13px;
  margin:10px 0;
}
.evidence-grid p {
  font-size:11px;
  line-height:1.85;
  margin-bottom:0;
}
.progress-disclaimer {
  font-size:10px;
  color:#9aa4b2;
  margin-top:22px;
}
.course-breadcrumb {
  display:flex;
  align-items:center;
  gap:12px;
  font-size:10px;
  margin-top:-16px;
  margin-bottom:20px;
  color:#8d9aaf;
}
.course-breadcrumb .text-button {
  font-size:10px;
  color:#8998ad;
}
.course-breadcrumb>span:nth-child(2) {
  color:#bdc6d4;
}
.course-heading {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-bottom:28px;
}
.course-heading h1 {
  font-size:30px;
  margin:7px 0;
}
.course-heading p {
  font-size:12px;
  margin:0;
}
.course-heading-icon {
  display:grid;
  place-items:center;
  width:53px;
  height:53px;
  border-radius:15px;
  background:#eaf0fc;
  color:#7692c7;
}
.course-heading-icon>.icon {
  width:26px;
  height:26px;
}
.level-bar {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:13px;
  margin-bottom:30px;
}
.level {
  background:#f9fafc;
  border:1px solid #e7ecf4;
  border-radius:8px;
  padding:17px;
  display:flex;
  align-items:center;
  gap:13px;
  min-height:75px;
  color:#a0a9b7;
}
.level.selected {
  background:white;
  border-color:#b9c9f3;
  box-shadow:var(--shadow);
  color:var(--navy);
}
.level-code {
  font-size:20px;
  font-weight:550;
  letter-spacing:-.5px;
  color:#a5aebd;
  background:#eef0f5;
  border-radius:50%;
  height:35px;
  width:35px;
  display:grid;
  place-items:center;
  flex-shrink:0;
}
.selected .level-code {
  color:#728dbe;
  background:#eaf0fb;
}
.level strong {
  display:block;
  font-size:11px;
  font-weight:500;
}
.level small {
  font-size:8px;
  display:block;
  margin-top:3px;
  color:#a1aabc;
  letter-spacing:.6px;
}
.current-level-dot {
  background:var(--blue);
  height:6px;
  width:6px;
  border-radius:50%;
  margin-left:auto;
}
.level-lock {
  width:14px;
  height:14px;
  margin-left:auto;
  color:#b7bfcc;
}
.journey-grid {
  display:grid;
  grid-template-columns:minmax(0,1fr) 264px;
  gap:25px;
}
.unit-heading {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  margin-bottom:20px;
  padding:2px 0;
}
.unit-heading h2 {
  font-size:23px;
  margin:7px 0;
}
.unit-heading p {
  font-size:11px;
  line-height:1.85;
  margin:0;
}
.tag {
  display:inline-block;
  background:#eaf0fa;
  color:#7c91b5;
  padding:4px 7px;
  border-radius:4px;
  font-size:8px;
  letter-spacing:.5px;
}
.unit-count {
  background:#edf0f6;
  color:#8d9bb0;
  padding:5px 9px;
  border-radius:5px;
  font-size:9px;
  white-space:nowrap;
}
.lessons {
  display:flex;
  flex-direction:column;
  gap:10px;
}
.lesson {
  display:flex;
  align-items:center;
  gap:16px;
  text-align:left;
  border:1px solid #edf0f5;
  border-radius:8px;
  background:white;
  padding:17px;
  min-height:94px;
  width:100%;
  box-shadow:var(--shadow);
}
.lesson.current {
  border-color:#b7c8f2;
  background:#fdfdff;
}
.lesson:not(:disabled):hover {
  border-color:#8ca7ed;
  box-shadow:0 3px 16px #5578e80a;
}
.lesson-icon {
  display:grid;
  place-items:center;
  width:40px;
  height:40px;
  border-radius:11px;
  background:#f0f3fa;
  color:#8f9db6;
  flex-shrink:0;
}
.lesson-icon>.icon {
  width:19px;
  height:19px;
}
.current .lesson-icon {
  background:var(--blue);
  color:white;
}
.done .lesson-icon {
  background:#ecf6ef;
  color:#8ebba1;
}
.lesson-copy {
  display:flex;
  flex-direction:column;
  gap:2px;
}
.lesson-copy>small {
  font-size:8px;
  letter-spacing:1px;
  color:#9aa6b8;
}
.lesson-copy>strong {
  font-size:13px;
  font-weight:550;
  color:#475b74;
}
.lesson-copy>span {
  font-size:10px;
  color:#9aa4b2;
}
.lesson-tail {
  margin-left:auto;
  display:flex;
  align-items:center;
  gap:7px;
  white-space:nowrap;
  color:#b2bdcd;
  font-size:9px;
}
.lesson-tail>.icon {
  width:14px;
  height:14px;
}
.lesson-tail>b {
  font-weight:500;
  font-size:10px;
  color:var(--blue);
}
.current .lesson-tail>.icon {
  color:var(--blue);
}
.done .lesson-tail {
  color:#8daf9a;
}
.lesson.locked {
  background:#fafbfd;
  border-color:#ebeff6;
  box-shadow:none;
}
.locked .lesson-copy>strong {
  color:#8f9bb0;
}
.locked .lesson-icon {
  background:#f0f2f7;
  color:#adb7c8;
}
.journey-aside {
  display:flex;
  flex-direction:column;
  gap:18px;
}
.continue-card {
  text-align:center;
  padding:24px 20px;
}
.continue-card .eyebrow {
  justify-content:center;
  font-size:8px;
}
.progress-ring {
  width:135px;
  height:135px;
  background:conic-gradient(#9fc88d var(--progress),#edf0f5 0);
  padding:9px;
  border-radius:50%;
  margin:25px auto 22px;
  display:grid;
  place-items:center;
  transform:rotate(-90deg);
}
.progress-ring>div {
  background:white;
  border-radius:50%;
  height:100%;
  width:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  transform:rotate(90deg);
  box-shadow:0 0 0 5px #fff9 inset;
}
.progress-ring strong {
  font-size:31px;
  font-weight:550;
  letter-spacing:-1px;
  color:#36516e;
  line-height:1.25;
}
.progress-ring strong>span {
  font-size:14px;
  letter-spacing:0;
  margin-left:1px;
  color:#a1acbc;
}
.progress-ring small {
  font-size:9px;
  color:#a4adbb;
  margin-top:5px;
}
.continue-card h3 {
  font-size:16px;
  margin-bottom:8px;
}
.continue-card p {
  font-size:10px;
  margin-bottom:19px;
}
.continue-card>.primary {
  width:100%;
  justify-content:space-between;
  margin-bottom:10px;
  font-size:10px;
}
.subtle {
  font-size:10px;
  color:#99a4b5;
}
.goal-card {
  padding:22px;
}
.goal-card .panel-icon {
  margin-bottom:15px;
}
.goal-card .eyebrow {
  font-size:8px;
}
.goal-card h3 {
  font-size:17px;
  line-height:1.55;
  margin:12px 0;
}
.goal-card p {
  font-size:10px;
  margin:0;
}
.podcast-teaser {
  display:flex;
  gap:13px;
  align-items:center;
  padding:18px;
}
.podcast-cover {
  width:72px;
  min-width:72px;
  height:98px;
  background:#e2eaf8;
  border-radius:5px;
  padding:12px 8px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  line-height:1.2;
  color:#647fae;
}
.podcast-cover>span {
  font-size:13px;
}
.podcast-cover b {
  font-size:17px;
  font-weight:600;
}
.podcast-cover>.icon {
  width:19px;
  height:19px;
}
.podcast-teaser small {
  font-size:7px;
  letter-spacing:.8px;
  color:#a1aabc;
}
.podcast-teaser h4 {
  font-size:11px;
  margin:5px 0;
}
.podcast-teaser p {
  font-size:9px;
  line-height:1.7;
  margin:0;
}
.podcast-teaser .text-button {
  font-size:8px;
  gap:3px;
  min-height:35px;
  padding-bottom:0;
}
.podcast-teaser .text-button>.icon {
  width:12px;
}
.bridge {
  font-size:9px;
  line-height:1.9;
  text-align:center;
  margin:0;
  color:#a5afbd;
}
.bridge>button {
  font-size:9px;
  border:0;
  min-height:44px;
  padding:5px 0;
  background:none;
  color:#8a9cba;
}
.exercise-main {
  max-width:790px;
  margin:35px auto 45px;
  padding:30px 38px 34px;
  background:white;
  border:1px solid #edf0f5;
  border-radius:12px;
  box-shadow:var(--shadow);
}
.exercise-top {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  font-size:9px;
  color:#94a1b5;
  letter-spacing:.6px;
}
.exercise-top .text-button {
  font-size:10px;
}
.exercise-main .progress-track {
  margin:10px 0 32px;
}
.task-heading h1,.exercise-main>h1 {
  font-size:27px;
  font-weight:550;
  letter-spacing:-.7px;
  line-height:1.35;
  margin:12px 0 28px;
  color:var(--navy);
}
.task-heading .eyebrow {
  font-size:8px;
}
.vocabulary-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.vocab {
  padding:23px;
  border:1px solid #e5ebf6;
  background:#fafbfe;
  border-radius:10px;
  display:flex;
  flex-direction:column;
  gap:15px;
  align-items:flex-start;
}
.vocab-label {
  font-size:8px;
  letter-spacing:1.1px;
  color:#a1acc0;
}
.vocab-word {
  font-size:27px;
  font-weight:500;
  letter-spacing:-.6px;
  line-height:1.35;
  color:#365578;
  padding:5px 0;
  border:0;
  background:none;
  text-align:left;
}
.vocab small {
  font-size:9px;
  color:#9aa7b9;
  line-height:1.7;
}
.audio-button {
  display:inline-flex;
  align-items:center;
  gap:8px;
  border:1px solid #dce5fa;
  background:#edf2ff;
  color:#6f8ac6;
  border-radius:6px;
  padding:10px 13px;
  font-size:11px;
  min-height:44px;
}
.audio-button>.icon {
  width:16px;
  height:16px;
}
.audio-button:hover {
  background:#e3ebff;
  border-color:#becff5;
}
.options {
  display:flex;
  flex-direction:column;
  gap:12px;
  margin:23px 0;
}
.option {
  display:flex;
  align-items:center;
  gap:14px;
  text-align:left;
  padding:14px 18px;
  min-height:60px;
  background:white;
  border:1px solid #e2e8f2;
  border-radius:8px;
  font-size:14px;
  color:#55708e;
}
.option:hover:not(:disabled) {
  border-color:#afc2ef;
  background:#fafbff;
}
.option.selected {
  border-color:#8ba8f0;
  background:#f2f5ff;
  color:#426bc6;
}
.option>span:last-child {
  margin-left:auto;
  color:#a7b6ce;
}
.option-key {
  display:grid;
  place-items:center;
  font-size:10px;
  color:#97a8c2;
  width:25px;
  height:25px;
  border:1px solid #e0e7f2;
  border-radius:5px;
}
.word-strip {
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  align-items:center;
  margin-top:24px;
}
.word-strip>small {
  font-size:8px;
  color:#9eabba;
  letter-spacing:.8px;
  margin-right:5px;
}
.word {
  background:#f5f7fc;
  border:1px solid #e5ebf6;
  color:#8499b8;
  font-size:11px;
  padding:9px 10px;
  border-radius:5px;
  min-height:44px;
}
.word:hover {
  background:#edf2ff;
}
.word>span {
  font-size:9px;
  color:#a3b2ca;
}
.exercise-actions {
  border-top:1px solid var(--line);
  margin-top:26px;
  padding-top:23px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}
.exercise-actions>.subtle {
  max-width:230px;
}
.feedback {
  font-size:12px;
  line-height:1.8;
  color:#ae8751;
  margin-top:19px;
}
.feedback.correct {
  background:#edf8f1;
  border:1px solid #deeee3;
  color:#5e9977;
  padding:15px;
  border-radius:7px;
}
.hint-box {
  margin-top:20px;
  background:#fffaf0;
  border:1px solid #f1e8d3;
  padding:18px;
  border-radius:8px;
  font-size:12px;
  color:#9e8359;
}
.hint-box p {
  margin-bottom:0;
  color:#a58c69;
}
.tile-answer {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:9px;
  min-height:100px;
  background:#f4f7fd;
  border-bottom:2px solid #c4d3f0;
  padding:17px;
  border-radius:9px 9px 0 0;
}
.tile-answer>span {
  font-size:12px;
  color:#9aaac3;
}
.tiles {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  padding:23px 0;
}
.tile {
  border:1px solid #dce4f3;
  background:white;
  color:#607fa7;
  padding:12px 16px;
  border-radius:6px;
  box-shadow:0 2px #e2e9f5;
  min-height:45px;
  font-size:14px;
}
.tile:hover:not(:disabled) {
  border-color:#aabfe9;
}
.tile:disabled {
  opacity:.25;
}
.tile>span {
  font-size:10px;
  color:#b0bdd1;
}
.matching {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:25px;
  margin:24px 0;
}
.matching>div {
  display:flex;
  flex-direction:column;
  gap:13px;
}
.option.matched {
  background:#f0f8f3;
  color:#8bb29b;
  border-color:#dfede4;
}
.input-label {
  display:block;
  font-size:11px;
  color:#8393ac;
  margin:22px 0 9px;
}
textarea {
  width:100%;
  font:17px/1.7 var(--sans);
  color:#426185;
  border:1px solid #d5dff2;
  border-radius:8px;
  background:#fbfcfe;
  padding:18px;
  resize:vertical;
}
.writing-prompt {
  display:flex;
  align-items:center;
  gap:12px;
  font-size:12px;
  color:#8c9db7;
}
.avatar {
  width:40px;
  height:40px;
  background:#edf2fd;
  color:#829ac7;
  border-radius:50%;
  display:grid;
  place-items:center;
}
blockquote {
  margin:20px 0;
  padding:24px;
  border-left:3px solid #b3c7ee;
  background:#f5f8fe;
  border-radius:0 8px 8px 0;
  font-size:18px;
  color:#6b86ab;
  line-height:1.9;
}
.model-card {
  border:1px solid #e0e8f6;
  background:#f7f9fd;
  border-radius:10px;
  padding:27px;
  margin-bottom:20px;
}
.model-card h2 {
  font-size:23px;
  margin:13px 0;
}
.model-card .model-sentence {
  font-size:24px;
  color:#6f88ad;
  margin:18px 0;
}
.model-card>p {
  font-size:12px;
  line-height:1.9;
}
.service-note {
  border:1px dashed #d6dfef;
  padding:19px;
  border-radius:8px;
  font-size:11px;
  color:#8a9bb7;
  margin:20px 0;
}
.service-note strong {
  font-weight:550;
}
.service-note p {
  font-size:11px;
  margin:7px 0 0;
  color:#a1adc0;
}
.episode-art {
  background:var(--navy);
  color:#edf3ff;
  border-radius:10px;
  padding:32px;
  min-height:255px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:18px;
}
.episode-art>span {
  font-size:8px;
  letter-spacing:2px;
  color:#9db2cb;
}
.episode-art>strong {
  font-size:39px;
  font-weight:500;
  letter-spacing:-1px;
}
.episode-art>small {
  font-size:11px;
  color:#b5c6db;
}
.wave {
  font-size:21px;
  letter-spacing:4px;
  color:#9db8ee;
}
.media-note {
  font-size:10px;
  line-height:1.8;
  color:#a0adc0;
  margin:12px 0;
}
.transcript {
  padding:20px;
  border:1px solid #e3e9f4;
  background:#fcfdff;
  border-radius:8px;
  margin:22px 0;
}
summary {
  display:flex;
  align-items:center;
  gap:10px;
  min-height:44px;
  cursor:pointer;
  font-size:12px;
  color:#6f8cba;
}
summary:before {
  content:'＋';
}
details[open]>summary:before {
  content:'−';
}
.transcript h4 {
  font-size:10px;
  color:#8ca0bd;
  letter-spacing:.6px;
  margin:20px 0 5px;
}
.transcript-line {
  display:flex;
  align-items:flex-start;
  gap:15px;
  padding:17px 0;
  border-bottom:1px solid var(--line);
  font-size:13px;
  color:#6e87a6;
}
.transcript-line>strong {
  font-size:10px;
  color:#9baac0;
  width:33px;
  margin-top:4px;
}
.transcript-line>div {
  flex:1;
}
.transcript-helpers {
  display:flex;
  flex-wrap:wrap;
  gap:5px;
  margin-top:9px;
}
.transcript-helpers .word {
  font-size:9px;
  padding:6px 7px;
}
.replay {
  width:44px;
  height:44px;
  flex-shrink:0;
  border:0;
  background:#edf3fe;
  color:#83a1d1;
  border-radius:50%;
  font-size:20px;
}
.helper {
  position:fixed;
  bottom:24px;
  right:24px;
  z-index:50;
  width:calc(100vw - 32px);
  max-width:340px;
  padding:25px;
  background:white;
  border:1px solid #cbd9f5;
  border-radius:12px;
  box-shadow:0 12px 55px #163b5424;
}
.helper .eyebrow {
  font-size:8px;
}
.helper h3 {
  font-size:25px;
  font-weight:550;
  margin:15px 0 8px;
  color:#45688f;
}
.helper p {
  font-size:15px;
  color:#7a90ac;
}
.helper small {
  font-size:10px;
  color:#9aa9bf;
}
.helper .media-note {
  font-size:9px;
  color:#9caabd;
}
.helper-close {
  position:absolute;
  top:3px;
  right:6px;
  width:44px;
  height:44px;
  border:0;
  background:none;
  font-size:23px;
  color:#a5b1c4;
}
.completion {
  max-width:650px;
  margin:45px auto;
  padding:55px 40px;
  text-align:center;
  background:white;
  border:1px solid #edf0f5;
  border-radius:12px;
  box-shadow:var(--shadow);
}
.completion .eyebrow {
  justify-content:center;
}
.complete-symbol {
  display:grid;
  place-items:center;
  width:70px;
  height:70px;
  background:#edf8f0;
  color:#9dc8a8;
  border-radius:50%;
  margin:0 auto 25px;
  font-size:30px;
}
.completion h1 {
  font-size:36px;
  font-weight:550;
  margin:17px 0 20px;
}
.completion h1 em {
  font-style:normal;
  color:#879fc7;
}
.completion p {
  font-size:12px;
  line-height:1.9;
}
.completion .subtle {
  font-size:10px;
}
.completion>.primary {
  margin-top:20px;
}
.notice {
  padding:12px 42px;
  background:#fff8e8;
  color:#9a7d46;
  font-size:11px;
  border-bottom:1px solid #f3ead5;
}
.guide-page {
  padding:35px;
}
.guide-page .intro {
  font-size:14px;
  line-height:2;
  color:#829ac0;
}
.guide-page>h2 {
  font-size:18px;
  margin:25px 0 10px;
}
.guide-page>p {
  font-size:12px;
  line-height:1.9;
}
.guide-page>.primary {
  margin-top:15px;
}
@media(min-width:1500px) {
  .platform-main,.home {
    padding-top:48px;
  }
  .dashboard-grid {
    grid-template-columns:minmax(0,1fr) 310px;
    gap:30px;
  }
  .course-art {
    height:210px;
  }
  .featured-body {
    padding:28px 30px;
  }
  .featured-body h2 {
    font-size:27px;
  }
  .featured-body>p {
    max-width:480px;
  }
  .goal-panel {
    padding:27px;
  }
  .goal-panel h3 {
    font-size:23px;
  }
  .goal-panel p {
    font-size:12px;
  }
  .stat-card {
    min-height:118px;
  }
}
@media(max-width:1190px) {
  :root {
    --sidebar:196px;
  }
  .sidebar {
    padding:30px 12px 20px;
  }
  .brand {
    padding:0 12px;
  }
  .header {
    padding:0 28px;
  }
  .platform-main,.home {
    padding:32px 28px 35px;
  }
  .page-label {
    display:none;
  }
  .dashboard-grid {
    grid-template-columns:minmax(0,1fr) 245px;
    gap:20px;
  }
  .stat-card {
    padding:20px;
    min-height:102px;
  }
  .stat-icon {
    width:37px;
    height:37px;
  }
  .stat-icon .icon {
    width:20px;
    height:20px;
  }
  .stats-grid {
    gap:14px;
  }
  .saved-label {
    display:none;
  }
  .featured-body {
    padding:22px;
  }
  .featured-body>.primary {
    width:100%;
    justify-content:space-between;
  }
  .featured-body>.primary>.icon:last-child {
    margin-left:auto;
  }
  .course-details {
    margin:7px 0 0;
    font-size:10px;
  }
  .dashboard-aside {
    gap:17px;
  }
  .panel {
    padding:21px;
  }
  .goal-panel h3 {
    font-size:18px;
  }
  .journey-grid {
    grid-template-columns:minmax(0,1fr) 235px;
    gap:20px;
  }
  .lesson-tail>b,.done .lesson-tail>span {
    display:none;
  }
  .lesson {
    gap:12px;
    padding:14px;
  }
  .level {
    padding:13px;
    gap:9px;
  }
  .level strong {
    font-size:10px;
  }
  .level small {
    font-size:7px;
  }
  .level-code {
    width:31px;
    height:31px;
    font-size:17px;
  }
  .exercise-main {
    margin:28px 28px 35px;
    padding:27px;
  }
  .catalog-grid {
    gap:20px;
  }
  .catalog-body {
    padding:21px;
  }
  .catalog-card .art-level {
    font-size:29px;
  }
  .catalog-card .art-bubble {
    font-size:25px;
    left:13%;
    padding:8px 18px;
  }
  .catalog-card .art-level {
    right:10%;
  }
  .future-card {
    padding:25px;
  }
  .future-card h2 {
    font-size:21px;
  }
  .evidence-grid {
    gap:14px;
  }
  .evidence-grid .panel {
    padding:20px;
  }
  .completion {
    margin:35px 28px;
  }
  .art-level {
    font-size:31px;
    right:9%;
  }
  .art-bubble {
    left:12%;
  }
  .art-star {
    right:9%;
  }
  footer {
    padding:22px 28px;
  }
}
@media(max-width:960px) {
  .dashboard-grid {
    grid-template-columns:minmax(0,1fr);
  }
  .dashboard-aside {
    display:grid;
    grid-template-columns:1fr 1fr;
  }
  .goal-panel .panel-icon {
    float:right;
    margin:0 0 10px 10px;
  }
  .goal-panel h3 {
    font-size:18px;
  }
  .goal-panel .goal-quote {
    display:none;
  }
  .goal-panel p {
    margin-bottom:15px;
  }
  .tip-panel {
    display:flex;
    flex-direction:column;
  }
  .tip-panel .panel-icon {
    float:none;
    margin-bottom:13px;
  }
  .tip-panel h3 br {
    display:none;
  }
  .stats-grid {
    gap:12px;
  }
  .stat-card {
    padding:18px 16px;
  }
  .stat-card>div>span {
    font-size:10px;
  }
  .stat-icon {
    width:32px;
    height:32px;
    border-radius:10px;
  }
  .stat-icon .icon {
    width:17px;
    height:17px;
  }
  .journey-grid {
    grid-template-columns:1fr;
  }
  .journey-aside {
    display:grid;
    grid-template-columns:1fr 1fr;
  }
  .continue-card {
    display:flex;
    flex-direction:column;
    align-items:center;
    grid-column:1/-1;
  }
  .continue-card .progress-ring {
    width:110px;
    height:110px;
    margin:20px 0;
  }
  .continue-card .primary {
    max-width:300px;
  }
  .continue-card p {
    margin-bottom:15px;
  }
  .podcast-teaser {
    align-items:center;
  }
  .bridge {
    grid-column:1/-1;
  }
  .level-bar {
    gap:9px;
  }
  .level {
    gap:8px;
    padding:12px;
  }
  .level-lock {
    display:none;
  }
  .lesson-tail>b,.done .lesson-tail>span {
    display:inline;
  }
  .evidence-grid {
    grid-template-columns:1fr;
  }
  .evidence-grid .panel {
    display:grid;
    grid-template-columns:43px 40px 1fr;
    align-items:center;
    gap:14px;
  }
  .evidence-grid .panel-icon {
    margin:0;
  }
  .evidence-grid .panel>strong {
    font-size:23px;
  }
  .evidence-grid h3 {
    margin:0;
  }
  .evidence-grid p {
    grid-column:3;
    margin-top:-6px;
  }
  .progress-summary {
    gap:24px;
    padding:24px;
  }
  .catalog-grid {
    grid-template-columns:minmax(0,1fr);
    max-width:620px;
  }
  .future-card {
    min-height:260px;
  }
  .future-card h2 br {
    display:none;
  }
  .future-icon {
    height:45px;
    width:45px;
    border-radius:12px;
    margin-bottom:15px;
  }
  .future-icon .icon {
    width:22px;
    height:22px;
  }
  .future-card p {
    max-width:330px;
  }
  .catalog-card .art-level {
    font-size:36px;
    right:15%;
  }
  .catalog-card .art-bubble {
    font-size:29px;
    left:17%;
  }
  .featured-body>.primary {
    width:auto;
  }
  .featured-body>.primary>.icon:last-child {
    margin-left:16px;
  }
  .course-details {
    margin:0 0 0 20px;
  }
  .featured-body>p {
    max-width:470px;
  }
}
@media(max-width:740px) {
  :root {
    --sidebar:240px;
  }
  .sidebar {
    transform:translateX(-100%);
    transition:transform .2s;
    box-shadow:12px 0 40px #163b5410;
    padding-top:32px;
  }
  .menu-open .sidebar {
    transform:translateX(0);
  }
  .menu-open .sidebar-overlay {
    display:block;
    position:fixed;
    inset:0;
    width:100%;
    height:100%;
    z-index:25;
    border:0;
    background:#17334c42;
    cursor:pointer;
  }
  .workspace {
    margin-left:0;
  }
  .header {
    height:66px;
    padding:0 19px;
    gap:12px;
  }
  .header-location {
    gap:10px;
    font-size:10px;
  }
  .header-location>strong {
    font-size:11px;
  }
  .menu-toggle {
    display:grid;
    place-items:center;
    background:none;
    border:0;
    width:35px;
    height:44px;
    padding:5px;
    color:#6e85a6;
  }
  .menu-toggle .icon {
    width:21px;
    height:21px;
  }
  .breadcrumb-root,.breadcrumb-divider {
    display:none;
  }
  .header-right {
    gap:0;
  }
  .profile-button>span:last-child {
    display:none;
  }
  .profile-avatar {
    width:30px;
    height:30px;
  }
  .platform-main,.home {
    padding:28px 20px 35px;
  }
  .page-heading {
    margin-bottom:24px;
    gap:14px;
  }
  .eyebrow {
    font-size:8px;
    letter-spacing:1.2px;
  }
  .page-heading h1 {
    font-size:24px;
    line-height:1.4;
    letter-spacing:-.7px;
    max-width:300px;
    margin:7px 0;
  }
  .page-heading p {
    font-size:11px;
    line-height:1.8;
  }
  .stats-grid {
    gap:8px;
    margin-bottom:28px;
  }
  .stat-card {
    padding:15px 11px;
    min-height:98px;
    align-items:flex-start;
    position:relative;
  }
  .stat-card>div>span {
    font-size:8px;
    line-height:1.7;
    max-width:80px;
    min-height:29px;
    margin-bottom:7px;
  }
  .stat-card strong {
    font-size:22px;
  }
  .stat-card strong small {
    font-size:10px;
    margin-left:3px;
  }
  .stat-icon {
    display:none;
  }
  .section-heading {
    gap:12px;
    margin-bottom:15px;
  }
  .section-heading h2 {
    font-size:15px;
  }
  .section-heading p {
    font-size:10px;
  }
  .section-heading .text-button {
    font-size:9px;
    white-space:nowrap;
    gap:4px;
  }
  .section-heading .text-button>.icon {
    width:12px;
  }
  .dashboard-grid {
    gap:19px;
  }
  .course-art {
    height:165px;
  }
  .art-bubble {
    font-size:28px;
    top:31px;
    left:13%;
    padding:8px 21px;
  }
  .art-level {
    font-size:30px;
    top:54px;
    right:10%;
  }
  .art-level span {
    font-size:18px;
    margin:0 5px;
  }
  .art-star {
    right:10%;
    top:107px;
    font-size:27px;
  }
  .art-path {
    width:230px;
    height:150px;
    left:15%;
    top:91px;
  }
  .s1 {
    left:17%;
    top:132px;
  }
  .s2 {
    left:48%;
    top:92px;
  }
  .s3 {
    left:78%;
    top:131px;
  }
  .featured-body {
    padding:21px;
  }
  .featured-body h2 {
    font-size:23px;
    margin:14px 0 10px;
  }
  .featured-body>p {
    font-size:11px;
    line-height:1.9;
    margin-bottom:20px;
  }
  .status-badge {
    font-size:8px;
  }
  .level-tag {
    font-size:8px;
  }
  .course-progress>div:first-child {
    font-size:9px;
  }
  .featured-body>.primary {
    width:100%;
    font-size:10px;
    justify-content:space-between;
    padding:13px 14px;
  }
  .featured-body>.primary>.icon:last-child {
    margin-left:auto;
  }
  .course-details {
    width:100%;
    margin:7px 0 -3px;
    font-size:10px;
    min-height:40px;
  }
  .dashboard-aside {
    gap:14px;
    grid-template-columns:1fr;
  }
  .goal-panel {
    padding:22px;
  }
  .goal-panel .goal-quote {
    display:block;
    font-size:13px;
    max-width:260px;
  }
  .goal-panel h3 br {
    display:none;
  }
  .goal-panel p {
    font-size:11px;
    max-width:450px;
  }
  .goal-panel .panel-footnote {
    font-size:9px;
  }
  .tip-panel {
    display:block;
    padding:22px;
  }
  .tip-panel .panel-icon {
    float:right;
    margin:0 0 10px 12px;
  }
  .tip-panel h3 {
    font-size:14px;
  }
  .tip-panel h3 br {
    display:none;
  }
  .tip-panel p {
    font-size:11px;
  }
  .platform-footnote {
    font-size:8px;
    margin-top:20px;
  }
  .count-pill {
    font-size:8px;
    max-width:110px;
    margin-top:23px;
  }
  .catalog-toolbar>span:last-child {
    display:none;
  }
  .catalog-toolbar {
    margin-bottom:20px;
  }
  .catalog-filter {
    font-size:10px;
  }
  .catalog-body {
    padding:21px;
  }
  .catalog-body h2 {
    font-size:22px;
  }
  .catalog-body>p {
    font-size:11px;
  }
  .course-facts {
    font-size:9px;
    gap:13px;
    margin:20px 0;
  }
  .catalog-card .art-level {
    font-size:30px;
    right:10%;
  }
  .catalog-card .art-bubble {
    font-size:28px;
    left:13%;
  }
  .future-card {
    min-height:290px;
  }
  .future-card h2 {
    font-size:20px;
  }
  .future-card p {
    font-size:11px;
  }
  .future-card .eyebrow {
    font-size:8px;
  }
  .progress-summary {
    flex-direction:column;
    align-items:flex-start;
    gap:23px;
    padding:24px;
  }
  .progress-summary>.progress-ring {
    margin:0;
  }
  .progress-summary>div:first-child {
    align-self:center;
  }
  .progress-summary>div:last-child {
    width:100%;
  }
  .progress-summary h2 {
    font-size:21px;
  }
  .progress-summary p {
    font-size:11px;
  }
  .progress-summary .primary {
    width:100%;
    justify-content:space-between;
  }
  .evidence-grid {
    gap:12px;
  }
  .evidence-grid .panel {
    grid-template-columns:35px 30px 1fr;
    gap:12px;
    padding:18px;
  }
  .evidence-grid .panel-icon {
    height:32px;
    width:32px;
  }
  .evidence-grid .panel>strong {
    font-size:22px;
  }
  .evidence-grid h3 {
    font-size:11px;
  }
  .evidence-grid p {
    font-size:10px;
  }
  .progress-disclaimer {
    font-size:9px;
    line-height:1.9;
  }
  .course-breadcrumb {
    margin-top:-12px;
    margin-bottom:17px;
    font-size:9px;
    gap:9px;
  }
  .course-breadcrumb .text-button {
    font-size:9px;
  }
  .course-heading {
    margin-bottom:23px;
  }
  .course-heading h1 {
    font-size:27px;
    margin:7px 0 9px;
  }
  .course-heading p {
    font-size:11px;
    max-width:270px;
    line-height:1.8;
  }
  .course-heading .eyebrow {
    font-size:7px;
  }
  .course-heading-icon {
    width:43px;
    height:43px;
    border-radius:12px;
    flex-shrink:0;
  }
  .course-heading-icon>.icon {
    width:21px;
    height:21px;
  }
  .level-bar {
    gap:8px;
    margin-bottom:25px;
  }
  .level {
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    padding:12px;
    gap:7px;
    position:relative;
    min-height:107px;
  }
  .level-code {
    width:28px;
    height:28px;
    font-size:15px;
  }
  .level strong {
    font-size:9px;
    line-height:1.6;
    max-width:90px;
  }
  .level small {
    font-size:6px;
    letter-spacing:.4px;
    margin-top:4px;
  }
  .current-level-dot {
    position:absolute;
    top:17px;
    right:13px;
    width:4px;
    height:4px;
  }
  .level-lock {
    display:none;
  }
  .unit-heading {
    margin-bottom:17px;
  }
  .unit-heading .eyebrow {
    font-size:8px;
  }
  .unit-heading h2 {
    font-size:22px;
  }
  .unit-heading p {
    font-size:10px;
  }
  .unit-count {
    font-size:8px;
    padding:5px 7px;
  }
  .tag {
    font-size:7px;
  }
  .journey-grid {
    gap:22px;
  }
  .lesson {
    gap:12px;
    padding:14px;
    min-height:91px;
  }
  .lesson-icon {
    height:36px;
    width:36px;
    border-radius:10px;
  }
  .lesson-icon .icon {
    height:17px;
    width:17px;
  }
  .lesson-copy>small {
    font-size:7px;
    letter-spacing:.8px;
  }
  .lesson-copy>strong {
    font-size:12px;
  }
  .lesson-copy>span {
    font-size:9px;
    max-width:200px;
    line-height:1.7;
  }
  .lesson-tail>b,.done .lesson-tail>span {
    display:none;
  }
  .lesson-tail>.icon {
    width:13px;
    height:13px;
  }
  .journey-aside {
    grid-template-columns:1fr;
    gap:16px;
  }
  .continue-card {
    padding:24px;
    display:grid;
    grid-template-columns:90px 1fr;
    column-gap:19px;
    text-align:left;
    align-items:center;
  }
  .continue-card .eyebrow {
    grid-column:2;
    justify-content:flex-start;
    font-size:7px;
  }
  .continue-card .progress-ring {
    grid-column:1;
    grid-row:1/6;
    width:90px;
    height:90px;
    margin:0;
    padding:7px;
  }
  .continue-card .progress-ring strong {
    font-size:24px;
  }
  .continue-card .progress-ring strong>span {
    font-size:12px;
  }
  .continue-card .progress-ring small {
    font-size:7px;
  }
  .continue-card h3 {
    grid-column:2;
    font-size:14px;
    margin:6px 0;
  }
  .continue-card p {
    display:none;
  }
  .continue-card>.primary {
    grid-column:2;
    width:100%;
    max-width:none;
    font-size:9px;
    min-height:43px;
    padding:10px 12px;
    margin:7px 0;
  }
  .continue-card>.subtle {
    grid-column:2;
    font-size:8px;
  }
  .goal-card h3 {
    font-size:17px;
    max-width:290px;
  }
  .goal-card .panel-icon {
    float:right;
    margin-left:15px;
  }
  .podcast-teaser {
    padding:21px;
    gap:18px;
  }
  .podcast-teaser small {
    font-size:8px;
  }
  .podcast-teaser h4 {
    font-size:13px;
  }
  .podcast-teaser p {
    font-size:10px;
  }
  .podcast-teaser .text-button {
    font-size:10px;
    gap:7px;
    min-height:44px;
  }
  .bridge {
    grid-column:auto;
  }
  .exercise-main {
    padding:23px 20px;
    margin:20px 16px 30px;
    border-radius:10px;
  }
  .exercise-top {
    gap:10px;
    font-size:7px;
    letter-spacing:.3px;
  }
  .exercise-top .text-button {
    font-size:9px;
  }
  .exercise-main .progress-track {
    margin:10px 0 27px;
  }
  .task-heading h1,.exercise-main>h1 {
    font-size:23px;
    line-height:1.4;
    letter-spacing:-.4px;
    margin-bottom:24px;
  }
  .task-heading .eyebrow {
    font-size:7px;
    gap:8px;
  }
  .vocabulary-grid {
    gap:10px;
  }
  .vocab {
    padding:17px 12px;
    gap:12px;
  }
  .vocab-word {
    font-size:23px;
  }
  .vocab-label {
    font-size:7px;
    letter-spacing:.8px;
  }
  .vocab small {
    font-size:8px;
    line-height:1.8;
  }
  .audio-button {
    font-size:10px;
    padding:9px 11px;
    gap:6px;
  }
  .audio-button>.icon {
    width:14px;
    height:14px;
  }
  .option {
    padding:12px 14px;
    gap:12px;
    min-height:59px;
    font-size:13px;
  }
  .option-key {
    width:22px;
    height:22px;
    font-size:9px;
  }
  .word-strip {
    gap:6px;
  }
  .word-strip>small {
    font-size:7px;
  }
  .word {
    font-size:10px;
    padding:9px;
  }
  .exercise-actions {
    margin-top:23px;
    padding-top:20px;
    gap:13px;
  }
  .exercise-actions>.subtle {
    font-size:8px;
    line-height:1.8;
    max-width:130px;
  }
  .exercise-actions .primary {
    font-size:10px;
    padding:11px 14px;
    gap:8px;
  }
  .exercise-actions .text-button {
    font-size:10px;
  }
  .hint-box {
    font-size:11px;
    padding:15px;
  }
  .feedback {
    font-size:11px;
  }
  .matching {
    gap:12px;
  }
  .matching .option {
    padding:13px;
    min-height:55px;
  }
  .tile {
    font-size:12px;
    padding:11px 14px;
  }
  .tiles {
    gap:8px;
  }
  .tile-answer {
    padding:14px;
    min-height:100px;
  }
  .tile-answer>span {
    font-size:11px;
  }
  .input-label {
    font-size:10px;
  }
  textarea {
    font-size:15px;
    padding:16px;
  }
  .writing-prompt {
    font-size:11px;
  }
  .episode-art {
    padding:26px 15px;
    min-height:235px;
  }
  .episode-art>strong {
    font-size:29px;
  }
  .episode-art>span {
    font-size:7px;
    letter-spacing:1.5px;
  }
  .wave {
    font-size:16px;
    letter-spacing:2px;
  }
  .transcript {
    padding:15px;
  }
  .transcript-line {
    gap:10px;
    font-size:12px;
  }
  .transcript-line>strong {
    font-size:9px;
    width:30px;
  }
  .transcript-helpers .word {
    font-size:8px;
  }
  .model-card {
    padding:22px;
  }
  .model-card h2 {
    font-size:21px;
  }
  .model-card .model-sentence {
    font-size:22px;
  }
  .service-note {
    font-size:10px;
    padding:16px;
  }
  .service-note p {
    font-size:10px;
  }
  .helper {
    bottom:16px;
    right:16px;
  }
  .completion {
    margin:25px 16px;
    padding:42px 24px;
  }
  .completion h1 {
    font-size:29px;
  }
  .completion p {
    font-size:11px;
  }
  .notice {
    padding:12px 20px;
    font-size:10px;
  }
  footer {
    padding:20px;
    gap:14px;
    font-size:8px;
  }
  footer>span:last-child {
    max-width:190px;
    text-align:right;
  }
  .guide-page {
    padding:25px;
  }
  .guide-page .intro {
    font-size:12px;
  }
  .guide-page>h2 {
    font-size:17px;
  }
  .guide-page>p {
    font-size:11px;
  }
}
@media(prefers-reduced-motion:reduce) {
  * {
    scroll-behavior:auto!important;
    transition:none!important;
  }
}
/* Readable secondary text on the reference's light surfaces. */
.eyebrow,.workspace-label,.breadcrumb-root,.saved-label,.sidebar-note p,.sidebar-note strong,.page-label,.stat-card>div>span,.status-badge,.course-progress>div:first-child,.course-progress strong,.panel-footnote,.platform-footnote,.catalog-toolbar>span:last-child,.course-facts>span,.progress-disclaimer,.course-breadcrumb,.course-breadcrumb .text-button,.unit-count,.level small,.lesson-copy>small,.lesson-copy>span,.continue-card .subtle,.subtle,.bridge,.bridge>button,.exercise-top,.vocab-label,.vocab small,.word-strip>small,.input-label,.media-note,.helper small,.helper .media-note,.service-note,.service-note p,footer {
  color:#697a91;
}
.primary {
  background:var(--blue);
  border-color:var(--blue);
}
.audio-button,.word,.text-button,.level-tag,.tag {
  color:#496ba3;
}
.future-card h2,.future-card p,.soon-badge {
  color:#6e7f98;
}
.feedback.correct {
  color:#367353;
}
.hint-box,.hint-box p {
  color:#86652f;
}
.guide-page .intro {
  color:#647da3;
}
@media(max-width:740px) {
  .lesson-copy>span {
    font-size:10px;
  }
  .vocab small {
    font-size:9px;
  }
  .exercise-actions>.subtle {
    font-size:9px;
  }
  .stat-card>div>span {
    font-size:9px;
  }
  .goal-panel h3 br,.tip-panel h3 br {
    display:none;
  }
}

/* Guided vertical journey: one authored exercise below the previous one. */
.guided-intro{display:flex;align-items:flex-start;gap:9px;padding:14px 16px;background:#edf2fd;border-radius:8px;color:#607eaf;font-size:11px;line-height:1.8;margin-bottom:20px}
.guided-intro>.icon{width:16px;height:16px;margin-top:2px}
.vertical-journey{display:flex;flex-direction:column;gap:13px}
.journey-chapter{background:#fff;border:1px solid #e6edf7;border-radius:12px;overflow:hidden;box-shadow:0 5px 20px #24426803}
.journey-chapter.active-chapter{border-color:#b8cafa}
.journey-chapter>summary{display:flex;align-items:center;gap:14px;padding:20px 18px;min-height:95px;color:var(--navy);list-style:none}
.journey-chapter>summary::-webkit-details-marker{display:none}
.journey-chapter>summary:before{display:none}
.chapter-number{display:grid;place-items:center;flex-shrink:0;width:38px;height:38px;background:#f0f3f9;border-radius:12px;color:#8c9db6;font-size:14px;font-weight:550}
.active-chapter .chapter-number{background:#e5edff;color:#5f80ca}
.completed-chapter .chapter-number{background:#edf8f0;color:#79a78b}
.chapter-copy{display:flex;flex-direction:column;gap:3px;min-width:0}
.chapter-copy>span{font-size:8px;letter-spacing:1px;color:#7f91ab}
.chapter-copy>strong{font-size:14px;font-weight:550;color:#3b5573}
.chapter-copy>small{font-size:10px;color:#7c8da5;line-height:1.7;overflow-wrap:anywhere}
.chapter-caret{margin-left:auto;color:#8ea1c0;font-size:20px}
.journey-chapter[open] .chapter-caret{transform:rotate(180deg)}
.exercise-path{padding:21px 18px 28px;margin:0;list-style:none;display:flex;flex-direction:column;align-items:center;position:relative;background:linear-gradient(180deg,#fafcff,#fff)}
.path-stop{position:relative;display:flex;flex-direction:column;align-items:center;width:100%;padding:22px 0 28px;min-height:210px;text-align:center}
.path-stop:not(:last-child):after{content:'';position:absolute;top:116px;bottom:-18px;left:calc(50% - 1px);width:2px;background:#dfe7f5;z-index:0}
.path-node{display:grid;place-items:center;position:relative;border:1px solid var(--skill-edge);border-radius:32px;background:var(--skill-fill);color:var(--skill-ink);width:85px;height:80px;box-shadow:0 7px 0 var(--skill-edge),inset 0 3px 0 #ffffff80;flex-shrink:0;z-index:1;padding:0}
.path-node:before{content:'';position:absolute;top:10px;left:12px;width:27px;height:9px;background:#ffffff7a;border-radius:12px;transform:rotate(-30deg)}
.node-art>.icon{width:35px;height:35px;stroke-width:1.8}
.node-status{position:absolute;right:-7px;bottom:-5px;display:grid;place-items:center;border:3px solid white;border-radius:50%;background:var(--skill-ink);color:#fff;width:27px;height:27px}
.node-status>.icon{width:12px;height:12px;stroke-width:2}
.node-copy{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:5px;background:#fff;padding:14px 12px 4px;margin-top:15px;max-width:310px}
.node-copy>.node-position{font-size:8px;letter-spacing:1px;color:#8292aa}
.node-copy>strong{font-size:15px;font-weight:600;color:#3f5a7b}
.node-copy>span:not(.node-position){font-size:11px;color:#7487a4;line-height:1.8}
.node-copy>small{font-size:9px;color:#8b9bb1}
.next-step-flag{position:relative;z-index:2;font-size:8px;letter-spacing:1px;font-weight:550;background:#ecf1ff;border:1px solid #dbe5fc;color:#6684c1;border-radius:6px;padding:7px 10px;margin-bottom:20px}
.next-step-flag:after{content:'';position:absolute;width:8px;height:8px;background:#ecf1ff;border-right:1px solid #dbe5fc;border-bottom:1px solid #dbe5fc;bottom:-5px;left:calc(50% - 4px);transform:rotate(45deg)}
.path-stop.current:not(:last-child):after{top:165px}
.path-stop.current .path-node{outline:5px solid #edf2ff;outline-offset:5px}
.path-stop.completed .path-node{opacity:.9}
.path-stop.completed .node-status{background:#79ab8d}
.path-stop.locked .path-node{--skill-fill:#f0f3f8;--skill-edge:#e0e6f0;--skill-ink:#a9b6c9;box-shadow:0 5px 0 var(--skill-edge),inset 0 3px 0 #ffffff70}
.path-stop.locked .node-copy>strong{color:#8293ad}
.path-stop.locked .node-copy>small{color:#788ba7}
.skill-vocabulary,.skill-reading{--skill-fill:#e0f1e9;--skill-edge:#bedfce;--skill-ink:#609c82}
.skill-listening{--skill-fill:#e2eaff;--skill-edge:#becdf5;--skill-ink:#6084da}
.skill-speaking,.skill-conversation{--skill-fill:#ede5ff;--skill-edge:#d6c6f3;--skill-ink:#9476c9}
.skill-writing,.skill-building{--skill-fill:#fff0da;--skill-edge:#ebd9b8;--skill-ink:#b49454}
.skill-recognition{--skill-fill:#e6eefb;--skill-edge:#cbd8ee;--skill-ink:#7b96bf}
.skill-banner{display:flex;align-items:center;gap:19px;margin:0 0 29px;padding:20px;background:#f9fbfe;border:1px solid #eaf0f8;border-radius:11px}
.skill-art{width:65px;height:62px;display:grid;place-items:center;flex-shrink:0;border-radius:23px;background:var(--skill-fill);box-shadow:0 5px 0 var(--skill-edge);color:var(--skill-ink)}
.skill-art>.icon{width:29px;height:29px;stroke-width:1.8}
.skill-banner .eyebrow{font-size:8px;letter-spacing:1px;margin-bottom:5px}
.skill-banner h2{font-size:21px;font-weight:550;margin:0 0 5px}
.skill-banner p{font-size:11px;line-height:1.8;margin:0;color:#7185a2}
.vocabulary-grid{grid-template-columns:1fr}
@media(max-width:740px){
 .guided-intro{font-size:10px;padding:13px;margin-bottom:16px}
 .journey-chapter>summary{padding:18px 15px;gap:12px}
 .chapter-number{width:33px;height:33px;border-radius:10px;font-size:12px}
 .chapter-copy>strong{font-size:13px}
 .chapter-copy>span{font-size:7px}
 .chapter-copy>small{font-size:9px}
 .exercise-path{padding:15px 12px 21px}
 .node-copy{max-width:270px;padding-left:8px;padding-right:8px}
 .node-copy>span:not(.node-position){font-size:11px}
 .path-stop{min-height:215px;padding-bottom:28px}
 .path-node{width:82px;height:77px;border-radius:30px}
 .node-art>.icon{width:34px;height:34px}
 .skill-banner{padding:18px 15px;gap:15px;margin-bottom:25px}
 .skill-art{width:55px;height:53px;border-radius:19px}
 .skill-art>.icon{height:26px;width:26px}
 .skill-banner h2{font-size:18px}
 .skill-banner p{font-size:10px}
 .skill-banner .eyebrow{font-size:7px}
 .vocabulary-grid{grid-template-columns:1fr}
}

/* Availability uses color plus explicit status; locked steps stay neutral. */
.skill-listening{--skill-fill:#cfe0ff;--skill-edge:#abc3f4;--skill-ink:#4268b9}
.skill-speaking,.skill-conversation{--skill-fill:#e3d1ff;--skill-edge:#cbb0ed;--skill-ink:#7c54b1}
.skill-vocabulary,.skill-reading{--skill-fill:#c9ebdc;--skill-edge:#a6d4bd;--skill-ink:#397c60}
.skill-writing,.skill-building{--skill-fill:#ffe6b8;--skill-edge:#e8cc95;--skill-ink:#98702a}
.skill-recognition{--skill-fill:#d5e4fb;--skill-edge:#b2c9eb;--skill-ink:#5578a8}
.path-stop.completed .path-node{opacity:1}
.path-stop.current .path-node{outline:3px solid var(--skill-edge);outline-offset:6px}
.journey-chapter.active-chapter .chapter-number,.journey-chapter.completed-chapter .chapter-number{background:var(--skill-fill);color:var(--skill-ink)}
.chapter-copy>.chapter-state{display:inline-flex;align-items:center;gap:5px;align-self:flex-start;font-size:9px;letter-spacing:0;color:#6f7f93;background:#f0f2f6;padding:3px 7px;border-radius:5px;margin-top:4px}
.chapter-state>.icon{width:11px;height:11px}
.active-chapter .chapter-copy>.chapter-state,.completed-chapter .chapter-copy>.chapter-state{background:var(--skill-fill);color:var(--skill-ink)}
.journey-chapter:not(.active-chapter):not(.completed-chapter) .chapter-copy>strong{color:#8290a5}
@media(max-width:740px){.chapter-copy>.chapter-state{font-size:9px}.journey-chapter>summary{min-height:114px}}

/* Audio-first task surface: one stimulus, one answer area, one clear action. */
.audio-stimulus{display:flex;align-items:center;gap:20px;margin:24px 0 25px;min-width:0}
.voice-character{width:94px;height:139px;position:relative;flex-shrink:0;align-self:center}
.character-head{position:absolute;left:24px;top:24px;background:#edc6a6;width:49px;height:58px;border-radius:42% 42% 46% 46%;z-index:2;display:flex;gap:14px;justify-content:center;padding-top:24px}
.character-head>i{display:block;width:4px;height:5px;background:#4d4a55;border-radius:50%}
.character-head>b{position:absolute;top:39px;left:20px;width:11px;height:5px;border-bottom:2px solid #be896e;border-radius:0 0 50% 50%}
.character-hair{position:absolute;left:22px;top:16px;width:53px;height:27px;background:#435978;border-radius:28px 28px 12px 7px;z-index:3;transform:rotate(-8deg)}
.character-shirt{position:absolute;left:8px;top:73px;width:80px;height:47px;border-radius:32px 32px 17px 17px;background:#b9cefa;box-shadow:inset 0 -5px #a5bdeb}
.character-name{position:absolute;left:0;right:0;bottom:0;font-size:10px;letter-spacing:.5px;text-align:center;color:#788da9}
.character-julia .character-hair{background:#79617d;left:20px;width:58px;height:45px;border-radius:30px 30px 16px 12px;z-index:1;top:17px}
.character-julia .character-head{z-index:2;top:29px;left:25px;width:47px}
.character-julia .character-shirt{background:#d7c9f5;box-shadow:inset 0 -5px #c7b6e9}
.audio-bubble{flex:1;min-width:0;position:relative;padding:21px;border:1px solid #ccdaf5;border-radius:20px 20px 20px 5px;background:#f4f7ff}
.audio-bubble:before{content:'';position:absolute;left:-8px;top:48px;width:14px;height:14px;background:#f4f7ff;transform:rotate(45deg);border-left:1px solid #ccdaf5;border-bottom:1px solid #ccdaf5}
.audio-caption{font-size:10px;letter-spacing:.3px;color:#6d84ac;display:block;margin-bottom:12px}
.audio-main{display:flex;align-items:center;gap:17px;width:100%;min-height:67px;padding:9px 0;border:0;background:none;text-align:left;color:#567dd5}
.audio-main>.icon{width:34px;height:34px;stroke-width:2;flex-shrink:0}
.sound-bars{display:flex;align-items:center;justify-content:center;gap:5px;flex:1;height:53px;overflow:hidden;max-width:255px}
.sound-bars>i{height:var(--bar-height);width:5px;flex-shrink:0;border-radius:6px;background:#87a7ef;transition:background .15s}
.audio-play-label{font-size:11px;display:block;color:#6885bc}
.audio-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px}
.audio-slow{display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:9px 12px;border:1px solid #d4e0f7;border-radius:7px;background:white;color:#6885bc;font-size:11px}
.audio-slow>.icon{width:15px;height:15px}
.audio-tools>span{font-size:9px;color:#8094b4}
.audio-status{font-size:10px;color:#617ba5;line-height:1.8}
.audio-status:not(:empty){margin-top:11px}
.audio-button{box-shadow:0 3px 0 #d7e1f6;gap:9px;font-size:12px;padding:11px 15px}
.audio-button>.icon{width:21px;height:21px}
.is-playing{color:#355fbf!important}
.is-playing .sound-bars>i{background:#4e77d6}
.word-listen-row{display:flex;flex-wrap:wrap;gap:11px}
.visual-vocab{position:relative;padding:26px;background:linear-gradient(135deg,#f9fbff,#f2f6ff)}
.visual-vocab .vocab-word{font-size:33px;color:#365675;margin-bottom:3px}
.visual-vocab .vocab-label{font-size:9px}
.written-model{margin:0 0 22px;padding:0 4px;font-size:12px;color:#6a82a6}
.written-model summary{font-size:11px}
#listening-model{font-size:20px;color:#55729a;padding:8px 0}
.answer-workspace{min-height:135px;padding:10px 0 0;border-bottom:2px solid #d3deef;position:relative;background:repeating-linear-gradient(transparent,transparent 63px,#e2e9f5 63px,#e2e9f5 65px)}
.answer-line{display:flex;flex-wrap:wrap;align-content:flex-start;gap:10px;min-height:119px;padding:7px 0 9px}
.answer-line>span{font-size:12px;color:#879ab7;padding:11px 4px}
.tile-bank{justify-content:center;align-items:center;gap:12px;padding:30px 0 14px;min-height:112px}
.tile{min-height:47px;padding:12px 17px;font-size:15px;border-radius:10px;border:1px solid #cfdaee;box-shadow:0 4px 0 #dce5f4;background:white;color:#536e94;transition:background .15s,border-color .15s}
.tile:hover:not(:disabled){background:#f3f6ff;border-color:#9fb9ec}
.tile.tile-used{color:transparent;background:#eef1f7;border-color:#eef1f7;box-shadow:0 4px 0 #e6eaf2;opacity:1}
.answer-correct .answer-tile{background:#edf7eb;border-color:#bfd9b7;box-shadow:0 4px 0 #c9dfbf;color:#5d8b4b;opacity:1}
.tile.selected{background:#edf2ff;border-color:#a3bbed;color:#4d72b9}
.source-sentence{display:flex;align-items:flex-start;gap:17px;margin:24px 0 28px}
.source-sentence .audio-button{padding:12px;min-height:48px}
.source-sentence .audio-button>span{display:none}
.source-sentence p{font-size:23px;color:#4e6c93;line-height:1.8;margin:0;align-self:center}
.completion-context{margin-top:19px}
.sentence-gap{font-size:25px;color:#526e93;line-height:1.9;background:#f7f9fe;padding:22px;border-radius:12px;text-align:center;margin-bottom:25px}
.gap-target{display:inline-block;min-width:68px;color:#6488ce;border-bottom:2px solid #b9cbee;margin:0 4px;line-height:1.4}
.completion-options{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-bottom:27px}
.completion-options .tile{min-width:74px}
.matching{gap:22px}
.match-cell{display:flex;align-items:stretch;border:1px solid #d7e0ef;border-radius:10px;box-shadow:0 4px 0 #e3e9f3;background:white;min-height:64px;overflow:hidden}
.match-cell .option{border:0;border-radius:0;flex:1;min-width:0;margin:0;padding:16px 14px;font-size:14px;overflow-wrap:anywhere}
.match-cell .option>span:first-child{margin:0;color:inherit}
.match-cell .option>.icon{width:16px;height:16px;color:#739b62;margin-left:auto;flex-shrink:0}
.match-cell .option.selected{background:#edf3ff;color:#5f82bd}
.match-cell .option.matched{background:#eef7eb;color:#6d8c5b;opacity:1}
.match-cell.pair-matched{border-color:#c6dabd;box-shadow:0 4px 0 #dae9d0}
.match-cell .option.pair-error{background:#fff0ed;color:#b47266}
.match-audio{border:0;border-left:1px solid #edf0f7;background:#f6f8fd;color:#7291c0;padding:0;width:44px;flex-shrink:0;min-height:44px}
.match-audio>.icon{width:18px;height:18px}
.pair-matched .match-audio{background:#eef7eb;color:#6d8c5b;border-color:#e2eddc}
.matching-progress{display:flex;align-items:center;gap:14px;font-size:10px;color:#7c8eaa;margin:17px 0 12px}
.pair-progress-track{flex:1;height:5px;border-radius:4px;background:#edf1f8;overflow:hidden}
.pair-progress-track>span{display:block;background:#a8c995;height:100%;transition:width .15s}
.feedback-panel{border-radius:10px;padding:18px 20px;background:#eff6eb;border:1px solid #dfead6;color:#6a8f55}
.feedback-panel p{font-size:12px;color:inherit;line-height:1.85;margin:8px 0 0}
.feedback-head{display:flex;align-items:center;gap:10px}
.feedback-head>strong{font-size:17px;font-weight:550}
.feedback-head>.icon{width:23px;height:23px}
.feedback-panel.retry{background:#fff5ec;border-color:#f0e0cd;color:#a07c4e}
.feedback-panel.pair-success{background:#f0f7ed;border-color:#e0ecd9;color:#6d905b}
.feedback-panel details{margin-top:10px}
.feedback-panel summary{font-size:11px;color:inherit;min-height:42px;justify-content:center;background:#ffffff80;border:1px solid #cfdfc1;border-radius:7px;padding:8px 12px}
.feedback-panel details>p{padding:4px 3px 9px;font-size:11px}
.feedback-panel.correct{padding:18px 20px}
.exercise-actions{margin-top:24px}
.exercise-actions>.primary{min-width:160px;min-height:48px;box-shadow:0 4px 0 #3d60c5}
.reading-stimulus>.audio-button{margin-bottom:8px}
@media(max-width:740px){
 .audio-stimulus{gap:11px;margin:21px 0 23px;align-items:center}
 .voice-character{width:66px;height:116px;transform:scale(.82);transform-origin:center right;margin-left:-7px;margin-right:0}
 .character-head{left:11px}.character-hair{left:9px}.character-shirt{left:-5px}.character-name{bottom:-15px;left:-12px}
 .character-julia .character-hair{left:7px}.character-julia .character-head{left:12px}
 .audio-bubble{padding:15px 13px;border-radius:15px 15px 15px 4px}
 .audio-caption{font-size:9px;margin-bottom:5px;line-height:1.7}
 .audio-main{gap:9px;min-height:58px}
 .audio-main>.icon{width:26px;height:26px}
 .audio-play-label{display:none}
 .sound-bars{gap:3px;height:49px;justify-content:flex-start}
 .sound-bars>i{width:3px;height:calc(var(--bar-height)*.75)}
 .audio-tools{margin-top:6px;gap:9px}
 .audio-slow{font-size:10px;padding:9px;gap:5px}
 .audio-tools>span{font-size:8px}
 .audio-status{font-size:9px;line-height:1.8}
 .audio-button{font-size:11px;padding:11px 13px}
 .audio-button>.icon{width:20px;height:20px}
 .visual-vocab{padding:22px}.visual-vocab .vocab-word{font-size:30px}
 .source-sentence{gap:13px;margin:22px 0}.source-sentence p{font-size:20px}
 .source-sentence .audio-button{padding:11px}
 .answer-workspace{min-height:135px}.answer-line{gap:9px}.answer-line>span{font-size:11px}
 .tile{font-size:13px;min-height:46px;padding:12px 14px;border-radius:9px}
 .tile-bank{padding:26px 0 12px;gap:10px;min-height:120px}
 .matching{gap:12px}.matching>div{gap:14px}
 .match-cell{min-height:63px}.match-cell .option{font-size:12px;padding:12px 10px;gap:5px}
 .match-audio{width:36px}.match-audio>.icon{width:16px;height:16px}
 .match-cell .option>.icon{width:12px;height:12px}
 .sentence-gap{font-size:22px;padding:18px 12px}.gap-target{min-width:53px}
 .completion-options{gap:13px}.completion-options .tile{min-width:64px}
 .feedback-panel,.feedback-panel.correct{padding:17px}.feedback-head>strong{font-size:16px}.feedback-panel p{font-size:11px}
 .exercise-actions>.primary{min-width:132px;min-height:47px}.exercise-actions{gap:12px}
 .model-card .audio-stimulus{margin-left:-10px;margin-right:-10px}.model-card .voice-character{display:none}
 .model-card .audio-bubble:before{display:none}
}

/* Keep the task, audio and word bank close together on a phone. */
.skill-banner{padding:12px 16px;gap:13px;margin-bottom:22px;min-height:63px}
.skill-banner .eyebrow,.skill-banner p{display:none}
.skill-banner h2{font-size:16px;margin:0}
.skill-art{width:43px;height:41px;border-radius:15px;box-shadow:0 3px 0 var(--skill-edge)}
.skill-art>.icon{width:21px;height:21px}
@media(max-width:740px){
 .exercise-main .progress-track{margin-bottom:20px}
 .skill-banner{padding:11px 14px;margin-bottom:20px;min-height:61px}
 .skill-banner h2{font-size:15px}
 .task-heading h1{margin-top:10px;margin-bottom:20px}
 .audio-stimulus{margin-top:18px;margin-bottom:18px}
 .audio-bubble{padding-top:12px;padding-bottom:11px}
 .audio-main{min-height:49px}
 .audio-caption{margin-bottom:3px}
 .audio-tools{margin-top:0}
 .audio-voice{min-height:100px}
 .written-model{margin-bottom:13px}
 .answer-workspace{min-height:96px}
 .answer-line{min-height:80px}
 .tile-bank{padding-top:21px;min-height:104px}
}

.recovery-page{max-width:480px;text-align:left;background:white;border:1px solid #e1e7f2;border-radius:22px;padding:32px;margin:10vh auto}.recovery-page h1{font-size:28px;margin-top:20px}.recovery-page>p{color:#7c899e;font-size:13px;line-height:1.8}.recovery-page .primary{justify-content:center;min-height:48px}.recovery-options{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;margin-top:25px;font-size:12px}@media(max-width:600px){.recovery-page{margin:25px 16px;padding:25px 20px}}

/* Conexões: latitude, longitude and three colored connection points. */
.brand-symbol{--globe-node-border:var(--navy);background:var(--navy);color:#e5edf2;border-radius:50%;}
.brand-symbol .icon{width:29px;height:29px;stroke-width:1.35;}
.globe-course-art{background:linear-gradient(120deg,#e9e5f6,#e3f2ed);min-height:180px;}
.course-globe{position:absolute;width:142px;height:142px;left:12%;top:50%;transform:translateY(-50%);border-radius:50%;background:#fff9;color:var(--navy);box-shadow:0 12px 28px #26234e14;display:grid;place-items:center;}
.course-globe .icon{width:120px;height:120px;stroke-width:.8;}
.globe-orbit{position:absolute;width:220px;height:104px;border:1px dashed #7f88ac;left:5%;top:50%;border-radius:50%;transform:translateY(-50%) rotate(-28deg);}
.globe-course-label{position:absolute;left:56%;top:28%;font-size:clamp(12px,1.5vw,18px);letter-spacing:1.5px;line-height:1.6;}
.globe-course-label b{font-weight:750;}
.globe-course-level{position:absolute;left:56%;bottom:24%;font-size:13px;letter-spacing:2px;}
.globe-spark{position:absolute;right:10%;top:13%;color:#6b729b;font-size:24px;}
@media(max-width:480px){.course-globe{left:7%;width:124px;height:124px}.course-globe .icon{width:108px;height:108px}.globe-orbit{left:0;width:190px}.globe-course-label,.globe-course-level{left:54%}.globe-course-label{font-size:12px;letter-spacing:1px}}

.course-globe .icon{stroke-width:1.05}.course-heading-icon .icon{width:42px;height:42px}

.vocabulary-grid.single-word{display:block}.single-word .vocab{min-height:240px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px}.single-word .vocab-word{font-size:clamp(42px,8vw,68px)}.voice-practice{margin-top:20px;padding:24px;border:1px solid #dce7ef;border-radius:18px;background:#f1faf6;text-align:center}.voice-practice h3{margin:12px 0 20px}.voice-practice .primary{margin:auto;min-height:52px}.voice-practice small{display:block;max-width:460px;margin:16px auto 0;color:#697d8a;font-size:12px;line-height:1.6}.voice-practice audio{max-width:100%;margin:12px auto}.voice-practice audio[hidden]{display:none}.study-timer{flex-wrap:wrap}.study-time-track{flex-basis:100%;height:7px;overflow:hidden;border-radius:20px;background:#e0e6f2;width:100%}.study-time-track span{display:block;width:100%;height:100%;background:linear-gradient(90deg,#83cdb2,#7771d8);transform-origin:left;transition:transform 1s linear;border-radius:20px}.time-reached .study-time-track span{background:#c29142}

.single-word .vocab-label{font-size:24px;font-weight:750;letter-spacing:2px;color:var(--navy)}.voice-practice .speak-target{font-size:clamp(36px,6vw,54px);line-height:1.2;color:var(--navy);margin:16px 0 24px}.voice-practice .speech-correct{background:#16724d;color:#fff;border-color:#16724d}.voice-practice .speech-retry{background:#b93643;color:#fff;border-color:#b93643}

.voice-local{display:block;margin:14px auto}.voice-local[hidden]{display:none}

.voice-playback-option{margin:18px auto 0;max-width:360px}.voice-playback-option[hidden]{display:none}.voice-playback-option summary{cursor:pointer;font-weight:600;color:var(--navy);padding:12px;min-height:44px}.voice-playback-option audio{display:block;width:100%}
