.starter-lessons{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:28px 0 38px}
.starter-lesson{display:flex;flex-direction:column;align-items:flex-start;gap:17px;padding:29px;border:1px solid #d8cfe8;border-radius:22px;background:white}
.starter-lesson:first-child{background:#f5f1fc}
.starter-lesson-top{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%}
.starter-lesson h3{font-size:1.6875rem;letter-spacing:-.7px}
.starter-lesson p{font-size:0.875rem;color:var(--muted);max-width:380px;margin-bottom:4px}
.starter-lesson .button{margin-top:auto}
.lesson-status{white-space:nowrap;font-size:0.6875rem;color:var(--purple);background:var(--lavender);border-radius:20px;padding:5px 10px}
.course-map-label{margin-top:15px}
.course-map-label+.course-grid{margin-top:16px}
.learning-route{list-style:none;counter-reset:route;padding:0;margin:27px 0}
.learning-route li{counter-increment:route;position:relative;padding:0 0 27px 46px;margin:0}
.learning-route li::before{content:counter(route);position:absolute;left:0;top:0;width:29px;height:29px;display:grid;place-items:center;background:var(--lavender);border:1px solid #d8cdea;border-radius:50%;font-size:0.75rem;color:var(--purple);z-index:1}
.learning-route li:not(:last-child)::after{content:'';position:absolute;left:14px;top:29px;bottom:0;width:1px;background:#ddd4ed}
.learning-route li:last-child{padding-bottom:0}
.learning-route strong{font-size:1rem}
.learning-route p{font-size:0.875rem;color:var(--muted);margin-top:5px}
.lesson-takeaway{background:#f1f6e9;border-left:3px solid #90b854;border-radius:0 12px 12px 0;padding:17px 19px;font-size:0.8125rem!important;line-height:1.8!important;margin-top:24px!important;color:#425333!important}
.phrase-practice{display:grid;gap:0;margin:24px 0;padding:8px 23px;background:var(--lavender);border-radius:16px}
.phrase-practice p{padding:15px 0;color:var(--ink);font-size:1.0625rem;line-height:1.65}
.phrase-practice p+p{border-top:1px solid #ddd3ef}
.practice-plan-preview{border:1px dashed #c6b6e0;border-radius:15px;padding:22px;margin-top:27px;background:#faf8fd}
.practice-plan-preview p{font-size:1rem;line-height:1.7;margin:11px 0}
.practice-plan-preview small{display:block;color:var(--muted);font-size:0.6875rem;line-height:1.6}
.finish-step>.actions{justify-content:center}
.practice-check{display:flex;align-items:flex-start;justify-content:center;gap:11px;text-align:left;margin:24px auto;max-width:430px;font-weight:400;line-height:1.7}
.practice-check input{appearance:auto;width:18px;height:18px;flex:none;min-height:0;padding:0;margin:3px 0 0;accent-color:var(--purple)}
.practice-done{margin-top:24px;border-top:1px solid #d7e4c5;padding-top:20px}
.practice-done p{margin:8px 0 0;font-size:0.8125rem}
#practiceReturn{display:inline-block;margin-top:10px}
.install-panel{display:grid;grid-template-columns:1.25fr 1fr;align-items:center;gap:34px;margin-top:20px;border:1px solid var(--line);padding:26px 30px;border-radius:20px;background:#fff}
.install-panel h2{font-size:1.4375rem;letter-spacing:-.6px;margin:8px 0 11px}
.install-panel p{font-size:0.8125rem;color:var(--muted);line-height:1.8}
.install-panel .notice{font-size:0.6875rem;margin-top:10px}
.install-actions .button{margin-bottom:12px}
.install-actions summary{font-size:0.8125rem;color:var(--purple);cursor:pointer;padding:8px 0}
.install-actions details p{font-size:0.75rem;margin:12px 0}
.connection-notice,.update-notice{padding:13px 18px;margin-top:18px;border:1px solid #ddd3eb;background:var(--lavender);border-radius:13px;font-size:0.8125rem}
.update-notice{display:flex;justify-content:space-between;align-items:center;gap:18px}
.update-notice p{margin:0}
.update-notice .button{flex:none;min-height:40px;padding:8px 16px;font-size:0.75rem}
.reminder-optin{display:flex;align-items:flex-start;gap:10px;font-weight:500;line-height:1.7}
.reminder-optin input{width:18px;height:18px;padding:0;margin-top:3px;accent-color:var(--purple);flex:none}
.reminder-days{display:flex;gap:7px;flex-wrap:wrap;border:0;padding:0;margin:23px 0 0}
.reminder-days legend{font-size:0.8125rem;font-weight:600;margin-bottom:10px}
.reminder-days label{position:relative;margin:0;cursor:pointer}
.reminder-days input{position:absolute;opacity:0;width:1px;height:1px;padding:0}
.reminder-days span{display:grid;place-items:center;width:44px;height:43px;border:1px solid var(--line);border-radius:11px;font-size:0.8125rem;background:var(--paper);color:var(--muted)}
.reminder-days input:checked+span{background:var(--lavender);color:var(--purple);border-color:var(--purple)}
.reminder-days input:focus-visible+span{outline:3px solid #8e79db;outline-offset:3px}
.reminder-fields{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.notification-preview{display:flex;gap:12px;align-items:flex-start;padding:19px;background:#f2f0f5;border:1px solid #e4deeb;border-radius:17px;margin-top:25px}
.notification-preview img{border-radius:10px;flex:none}
.notification-preview span{font-size:0.75rem;font-weight:600;display:flex;gap:13px;align-items:center}
.notification-preview small{font-size:0.625rem;font-weight:400;color:var(--muted)}
.notification-preview p{font-size:0.875rem;margin-top:5px;line-height:1.6}
@media(max-width:460px){.reminder-fields{grid-template-columns:1fr;gap:0}.reminder-days{gap:5px}.reminder-days span{width:36px;height:40px;font-size:0.75rem}.notification-preview{padding:15px}}
@media(display-mode:standalone){body{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}.site-header{padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right))}#pwaPanel{display:none}}
@media(max-width:760px){.starter-lessons{grid-template-columns:1fr;gap:13px}.starter-lesson{padding:24px}.starter-lesson h3{font-size:1.5625rem}.starter-lesson-top{flex-wrap:wrap}.install-panel{grid-template-columns:1fr;gap:12px;padding:23px}.install-panel h2{font-size:1.375rem}.phrase-practice{padding:5px 17px}.phrase-practice p{font-size:0.9375rem}.learning-route p{font-size:0.8125rem}.learning-route strong{font-size:0.9375rem}.practice-plan-preview{padding:17px}.practice-plan-preview p{font-size:0.875rem}.practice-check{font-size:0.8125rem}.update-notice{align-items:flex-start}.update-notice p{font-size:0.75rem}}
