.course-shell{max-width:1120px;margin:auto;padding:28px 24px 320px;font-size:16px;line-height:1.7;color:#42354e}.course-header{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:24px}.course-header h1{font-size:28px;margin:0}.course-header a{color:#7656af;font-size:14px}.course-card{background:#fff;border:1px solid #e5ddf0;border-radius:20px;padding:24px;margin:18px 0}.course-card h2{font-size:22px;margin:0 0 12px}.course-card h3{font-size:18px;margin:0 0 10px}.course-card p{margin:10px 0}.course-banner{background:#eee6fc;border:1px solid #d2bee9;border-radius:20px;padding:20px 24px;display:flex;gap:24px;flex-wrap:wrap;align-items:center}.course-banner strong{font-size:24px}.course-banner progress{display:block;width:240px;height:12px;accent-color:#8054bf}.course-meta{font-size:14px;color:#776785}.course-nav{display:flex;gap:7px;flex-wrap:wrap;margin:22px 0}.course-nav button,.day-select,.course-shell select,.course-shell input{font:inherit;border:1px solid #dcd0ec;border-radius:10px;background:white;padding:9px 13px;color:#57416e}.course-nav button[aria-pressed=true]{background:#7858c8;color:white;border-color:#7858c8}.course-actions{display:flex;gap:12px;flex-wrap:wrap;margin:16px 0;align-items:center}.course-shell button{font:inherit;cursor:pointer}.course-shell button:disabled{opacity:.55;cursor:not-allowed}.course-shell .primary{background:#7858c8;color:white;border:0;border-radius:10px;padding:11px 20px;display:inline-flex;font-size:16px}.course-shell .secondary{background:white;border:1px solid #cbbbdf;border-radius:10px;padding:9px 15px;color:#65428f}.course-shell label{display:block;margin:12px 0 6px}.course-shell textarea{width:100%;min-height:110px;padding:15px;font:inherit;border:1px solid #cdbbdc;border-radius:12px;resize:vertical}.pattern-example{padding:13px 0;border-top:1px solid #f0eaf5}.pattern-example strong{font-size:19px;display:block}.vocab{display:inline-block;background:#f2edf9;border-radius:8px;padding:3px 9px;font-size:14px;margin-top:6px}.pattern-rule{background:#f7f2fd;border-left:3px solid #9772ca;padding:14px 17px;border-radius:0 10px 10px 0}.study-flow{display:flex;gap:8px;flex-wrap:wrap;color:#755496;font-size:14px}.study-flow span{background:#f1e9fa;padding:5px 10px;border-radius:20px}.course-question{font-size:23px;background:#f5f0fb;border-radius:14px;padding:24px;margin:20px 0;line-height:1.8}.exam-clock{font-size:24px;font-variant-numeric:tabular-nums;color:#6943a1}.exam-clock.urgent{color:#b24959}.question-nav{display:grid;grid-template-columns:repeat(10,1fr);gap:5px;margin:20px 0}.question-nav button{background:white;border:1px solid #ded3e9;border-radius:7px;padding:6px}.question-nav button.answered{background:#e6f3e9;border-color:#9bc5a7}.question-nav button.current{outline:2px solid #8b60bb}.course-choices{display:grid;grid-template-columns:1fr 1fr;gap:10px}.course-choices button{padding:14px;text-align:left;border:1px solid #dacde6;border-radius:12px;background:white}.course-choices button[aria-pressed=true]{background:#e9defa;border-color:#9164c6}.result-panel{background:#eff8f2;border:1px solid #b9dcc8;border-radius:14px;padding:20px;margin-top:20px}.result-panel.retry{background:#fff5e9;border-color:#e7c995}.course-shell table{width:100%;border-collapse:collapse}.course-shell th,.course-shell td{padding:12px;text-align:left;border-bottom:1px solid #e9e1f0}.course-shell tr.mine{background:#f1eafb}.course-error{background:#fff1f3;color:#913c4f;padding:14px;border-radius:12px;margin:16px 0}.course-notice{background:#fff5df;border-radius:12px;padding:14px;color:#785f30}.save-status{font-size:14px;color:#696073;min-height:24px}.course-shell details{margin:15px 0}.course-shell summary{cursor:pointer;color:#6e4b97}.course-shell :focus-visible{outline:3px solid #9a71cf;outline-offset:3px}.course-shell .score{font-size:30px;font-weight:800;color:#7652a8}.course-shell del{background:#ffe0e7;color:#9b4359}.course-shell mark{background:#ffe9b0;color:#664b22}.course-shell .progress-note{font-size:14px;margin:6px 0}.course-loading{padding:30px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:20px}@media(max-width:650px){.course-shell{padding:18px 16px 290px}.course-header{align-items:flex-start}.course-header h1{font-size:23px}.course-card{padding:18px}.course-choices,.two-col{grid-template-columns:1fr}.question-nav{grid-template-columns:repeat(5,1fr)}.course-banner{padding:18px;gap:12px}.course-banner progress{width:200px}.course-question{font-size:20px;padding:18px}.course-nav button{font-size:14px;padding:8px}.course-shell th,.course-shell td{padding:9px 5px;font-size:14px}}
.calendar-heading{justify-content:space-between}.calendar-heading h2{margin:0}.calendar-heading>div{display:flex;align-items:center;gap:12px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin:20px 0}.calendar-weekday{text-align:center;font-weight:700;color:#806899}.calendar-day,.calendar-empty{min-height:142px}.calendar-day{position:relative;overflow:hidden;border:1px solid #e7dced;border-radius:15px;background:#fbf8ff;padding:9px;display:flex;flex-direction:column;gap:2px}.calendar-day.today{border:2px solid #9573d1}.calendar-day.has-stamp{padding-bottom:54px}.calendar-number{font-weight:800;color:#5f4877}.calendar-tag{font-size:12px;color:#6c4e96;font-weight:700}.calendar-facts{display:flex;flex-direction:column;font-size:12px;line-height:1.35;z-index:1}.calendar-facts b{color:#4d3b64}.calendar-open{margin-top:auto;border:0;background:transparent;color:#704daf;text-decoration:underline;font-size:11px;text-align:left;padding:2px 0;z-index:2}.calendar-stamp{position:absolute;right:-17px;bottom:1px;width:112px;height:100px;transform:rotate(-19deg);pointer-events:none;color:#3e856b;opacity:.95}.calendar-stamp.retry{color:#ac7541}.calendar-stamp.fail{color:#9c6176}.calendar-stamp canvas{position:absolute;right:7px;bottom:16px;width:88px;height:88px;opacity:.67}.calendar-stamp strong{position:absolute;right:13px;bottom:0;white-space:nowrap;font-size:14px;line-height:1;background:#ffffffdf;border:2px solid currentColor;border-radius:20px;padding:3px 6px;box-shadow:0 2px 6px #6d52782b}.stamp-tear{position:absolute;right:24px;bottom:55px;font-size:15px}.calendar-retry-note{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:14px;margin-top:12px;border-radius:12px;background:#fff1df}.calendar-retry-note span{font-size:14px}.calendar-retry-note button{margin-left:auto}@media(max-width:700px){.calendar-grid{gap:3px}.calendar-day,.calendar-empty{min-height:111px}.calendar-day{padding:4px;border-radius:8px}.calendar-day.has-stamp{padding-bottom:44px}.calendar-tag,.calendar-facts{font-size:9px}.calendar-open{font-size:9px}.calendar-stamp{right:-19px;bottom:1px;transform:rotate(-20deg) scale(.75);transform-origin:bottom right}.calendar-heading>div{gap:3px}}
.auth-card{max-width:500px;margin:10vh auto 0}.auth-card input{display:block;width:100%;box-sizing:border-box}.auth-card .course-actions button[aria-pressed=true]{background:#7858c8;color:#fff}.auth-card #auth-message{min-height:1.6em;color:#614580}
.auth-topbar{display:flex;justify-content:flex-end}.course-shell .course-language{display:inline-flex;align-items:center;gap:8px;margin:0;color:#57416e;font-weight:700}.course-language select{min-width:104px}.course-header>div:last-child{display:flex;justify-content:flex-end;align-items:center;gap:10px;flex-wrap:wrap}.course-header .course-language{white-space:nowrap}@media(max-width:650px){.auth-card{margin:24px auto 0}.course-header{flex-wrap:wrap}.course-header>div:last-child{width:100%;justify-content:flex-start}}
.spacing-note{padding:9px 12px;border-radius:9px;background:#fff7df;color:#765c2f;font-size:14px}
.calendar-swipe-hint{display:none}.calendar-scroll{max-width:100%}.course-header>div{min-width:0}.course-shell select{max-width:100%}.course-shell table{table-layout:fixed}.course-shell th,.course-shell td{overflow-wrap:anywhere}
@media(min-width:701px) and (max-width:900px){.calendar-stamp{right:-3px;transform:rotate(-19deg) scale(.72);transform-origin:bottom right}}
@media(max-width:700px){.calendar-swipe-hint{display:block;font-size:13px;color:#755496}.calendar-scroll{overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;padding-bottom:9px}.calendar-grid{min-width:770px;gap:8px}.calendar-day,.calendar-empty{min-height:142px}.calendar-day{padding:9px;border-radius:15px}.calendar-day.has-stamp{padding-bottom:54px}.calendar-tag,.calendar-facts{font-size:12px}.calendar-open{width:100%;font-size:11px;line-height:1.35;text-align:center;white-space:normal;overflow-wrap:anywhere}.calendar-stamp{right:-3px;bottom:0;transform:rotate(-19deg) scale(.72);transform-origin:bottom right}}
@media(max-width:420px){.course-header .course-language{order:-1;flex-basis:100%;justify-content:flex-end}.course-header>div:last-child{gap:8px}.course-header h1{overflow-wrap:anywhere}.calendar-heading>div{gap:6px}}
.guided-hero{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(190px,.65fr);gap:28px;align-items:center;padding:30px 32px;margin:18px 0;border:1px solid #dfd3ee;border-radius:24px;background:linear-gradient(125deg,#f5efff 0%,#fffaf0 100%);box-shadow:0 8px 24px #64498c0b}.guided-kicker{display:block;font-size:13px;font-weight:800;letter-spacing:.04em;color:#7653aa}.guided-hero h2{font-size:28px;line-height:1.35;margin:7px 0 10px;color:#392d47}.guided-hero p{max-width:650px;font-size:16px;line-height:1.8;color:#62556e}.guided-sample,.guided-discovery{display:flex;flex-direction:column;align-items:flex-start;gap:5px;margin-top:20px;padding:16px 18px;border:1px solid #eadcf4;border-radius:16px;background:#ffffffcf}.guided-sample>span:first-child,.guided-discovery>span:first-child{font-size:12px;font-weight:700;color:#806598}.guided-sample strong{font-size:20px;line-height:1.5;color:#3d3150}.guided-sample>span:last-child,.guided-discovery>span:last-child{color:#6f627a}.guided-progress{display:flex;flex-direction:column;align-items:flex-start;gap:5px;padding:22px;border-radius:18px;background:#fff;box-shadow:0 4px 18px #6045880d}.guided-progress>strong{font-size:34px;line-height:1;color:#6947a1}.guided-progress>strong span{font-size:18px;color:#9c90a7}.guided-progress>span{font-size:14px;color:#6e6079}.guided-progress progress,.guided-stage-progress{width:100%;height:11px;accent-color:#7957bd}.guided-progress small{margin-top:6px;line-height:1.6;color:#80748b}.guided-path-card,.guided-lesson{padding:24px;margin:18px 0;border:1px solid #e5ddf0;border-radius:20px;background:#fff}.guided-section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.guided-section-heading h3,.guided-section-heading h2{margin:4px 0 0;font-size:20px}.guided-path{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:18px 0 0;padding:0;list-style:none}.guided-path-step{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;min-height:58px;padding:9px 12px;text-align:left;color:#59466d;border:1px solid #e9e1f0;border-radius:13px;background:#fcfaff;transition:background .15s,border-color .15s,transform .15s}.guided-path-step:hover{transform:translateY(-1px);border-color:#bea8d7}.guided-path-step.is-current{background:#f0e8fb;border-color:#8c69bc;box-shadow:0 0 0 2px #8c69bc18}.guided-path-step.is-done{background:#f0f8f3;border-color:#bfddc9}.guided-path-step.is-skipped{background:#fbf7ef}.guided-path-number{display:grid;width:30px;height:30px;place-items:center;border-radius:50%;background:#efe9f5;color:#66498e;font-weight:800}.is-current .guided-path-number{background:#7957bd;color:#fff}.is-done .guided-path-number{background:#dfefe4;color:#39724e}.guided-path-title{font-size:14px;font-weight:700;line-height:1.4;overflow-wrap:anywhere}.guided-path-state{font-size:11px;white-space:nowrap;color:#786b82}.guided-lesson{padding:28px 32px;box-shadow:0 8px 28px #5940780b}.guided-lesson-heading{display:grid;grid-template-columns:1fr auto;align-items:center;gap:5px 12px}.guided-lesson-heading .guided-kicker{grid-column:1}.guided-lesson-heading h2{grid-column:1 / -1;margin:5px 0 0;font-size:26px;line-height:1.45;color:#392d47}.guided-tag{grid-column:2;grid-row:1 / span 2;padding:5px 10px;border-radius:20px;background:#f4eff8;color:#70558c;font-size:12px;font-weight:700}.guided-discovery{margin:20px 0 18px;background:#fffaf0;border-color:#f0e1bd}.guided-discovery strong{font-size:21px;line-height:1.55;color:#3e3046}.guided-discovery p{margin:5px 0 0;color:#78694f;font-size:13px}.guided-rule{padding:16px 18px;border-radius:15px;background:#f8f5fc}.guided-rule summary{font-weight:800;color:#59416e}.guided-rule .pattern-rule{margin-top:13px;line-height:1.85}.guided-rule>p:last-child{line-height:1.8;color:#65586f}.guided-examples{margin-top:24px}.guided-examples h3{margin-bottom:10px;font-size:18px}.guided-example{display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:12px;padding:15px 4px;border-top:1px solid #eee8f3}.guided-example-number{display:grid;width:27px;height:27px;place-items:center;border-radius:50%;background:#f1ebf8;color:#705493;font-size:12px;font-weight:800}.guided-example-copy{display:flex;flex-direction:column;gap:3px;min-width:0}.guided-example-copy strong{font-size:18px;line-height:1.6;color:#3d314a;overflow-wrap:anywhere}.guided-example-copy>span{font-size:14px;color:#665a70}.guided-example-copy small{font-size:12px;color:#877992}.guided-example .secondary{white-space:nowrap}.guided-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:22px;padding-top:18px;border-top:1px solid #eee8f3}.guided-actions .primary{margin-left:auto}.guided-skip{padding:9px 13px;color:#72545d;border:1px solid #ead9dc;border-radius:10px;background:#fff9fa;font:inherit;cursor:pointer}.guided-skip:hover{border-color:#cfaeb5;background:#fff3f5}.guided-skip:disabled{opacity:.5;cursor:not-allowed}.guided-footnote{margin:10px 0 0;text-align:right;font-size:12px;color:#82778a}.practice-roadmap{margin:-4px -4px 22px;padding:20px;border-radius:17px;background:linear-gradient(120deg,#f6f1fc,#fffaf0)}.practice-roadmap .guided-section-heading h2{font-size:19px}.practice-step-count{color:#7656ad;font-size:15px;white-space:nowrap}.practice-path{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:15px 0 18px;padding:0;list-style:none}.practice-path li{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;padding:9px;border:1px solid #e7deed;border-radius:11px;background:#fff;color:#675a70}.practice-path li>span{display:grid;width:23px;height:23px;place-items:center;border-radius:50%;background:#f0ebf5;font-size:11px;font-weight:800}.practice-path li strong{font-size:12px;overflow-wrap:anywhere}.practice-path li small{font-size:10px;color:#8b7d93}.practice-path li.is-current{border-color:#8c68bd;background:#f0e8fb}.practice-path li.is-current>span{background:#7957bd;color:white}.practice-path li.is-skipped{background:#fbf7ef;border-style:dashed}.practice-stage-heading{display:flex;justify-content:space-between;gap:10px;align-items:center;color:#453653}.practice-stage-heading strong{font-size:18px}.practice-stage-heading span{font-size:13px;color:#756783}.practice-roadmap>progress{display:block;width:100%;height:9px;margin-top:7px;accent-color:#7957bd}.practice-roadmap>p{margin:8px 0 0;color:#6e6277;font-size:13px;line-height:1.6}.practice-roadmap+.question-nav{margin-top:4px}
@media(max-width:700px){.guided-hero{grid-template-columns:1fr;gap:16px;padding:22px 20px;border-radius:19px}.guided-hero h2{font-size:24px}.guided-progress{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:6px 12px;padding:15px}.guided-progress>strong{grid-row:span 2}.guided-progress progress,.guided-progress small{grid-column:2}.guided-progress small{margin:0}.guided-path-card,.guided-lesson{padding:19px}.guided-path{grid-template-columns:1fr;gap:7px}.guided-path-step{min-height:50px}.guided-lesson-heading h2{font-size:23px}.guided-example{grid-template-columns:25px minmax(0,1fr);gap:9px}.guided-example .secondary{grid-column:2;justify-self:start}.guided-actions{justify-content:stretch}.guided-actions>*{flex:1 1 auto;justify-content:center}.guided-actions .primary{margin-left:0}.guided-footnote{text-align:left}.practice-roadmap{margin:-4px -4px 18px;padding:15px}.practice-path{gap:4px}.practice-path li{padding:7px 5px}.practice-path li strong{font-size:10px}.practice-path li small{font-size:9px}}
@media(max-width:420px){.guided-section-heading h3,.guided-section-heading h2{font-size:17px}.guided-path-step{grid-template-columns:30px minmax(0,1fr) auto;gap:7px;padding:8px}.guided-path-title{font-size:13px}.guided-path-state{font-size:10px}.guided-lesson{padding:17px}.guided-sample strong,.guided-discovery strong{font-size:18px}.practice-roadmap .guided-section-heading h2{font-size:16px}.practice-path li strong{font-size:9px}.practice-path li small{font-size:8px}}
.guided-week{margin:18px 0;padding:18px 20px;border:1px solid #e5ddf0;border-radius:18px;background:#fff}.guided-week-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.guided-week-heading>span:last-child{font-size:13px;color:#776a81}.guided-day-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:12px}.guided-day{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:0;min-height:90px;padding:11px 12px;text-align:left;border:1px solid #e8e0ed;border-radius:13px;background:#fcfaff;color:#58476b;cursor:pointer}.guided-day>span{font-size:11px;font-weight:800;color:#7958ad}.guided-day strong{font-size:13px;line-height:1.4;overflow-wrap:anywhere}.guided-day small{margin-top:auto;font-size:10px;color:#7e7387}.guided-day.is-current{border-color:#8967bb;background:#f2ebfb;box-shadow:0 0 0 2px #8c69bc18}.guided-day.is-done{border-color:#bedbc7;background:#f1f8f3}.guided-day:hover{border-color:#bca6d4}@media(max-width:700px){.guided-week{padding:15px}.guided-week-heading{align-items:flex-start;flex-direction:column;gap:2px}.guided-day-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.guided-day{min-height:78px;padding:9px}.guided-day strong{font-size:12px}.guided-day small{font-size:10px}}
.course-shell .guided-day:disabled{opacity:1;cursor:default}.guided-day:disabled:hover{border-color:inherit}
.calendar-swipe-hint{display:none}@media(max-width:700px){.calendar-swipe-hint{display:none}.calendar-scroll{overflow:visible;padding-bottom:0}.calendar-grid{min-width:0;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;margin:12px 0}.calendar-weekday{font-size:11px}.calendar-day,.calendar-empty{min-height:78px}.calendar-day{padding:4px 2px;border-radius:7px;gap:2px}.calendar-day.has-stamp{padding-bottom:4px}.calendar-number{font-size:11px}.calendar-tag,.calendar-facts{font-size:8px;line-height:1.2;overflow-wrap:anywhere}.calendar-facts{gap:2px}.calendar-open{display:none}}@media(max-width:380px){.calendar-weekday{font-size:10px}.calendar-day,.calendar-empty{min-height:68px}.calendar-day{padding:3px 1px}.calendar-number{font-size:10px}.calendar-tag,.calendar-facts{font-size:7px}}
.exam-review-callout{border-color:#dccced;background:linear-gradient(135deg,#f8f3ff,#fffaf1)}.exam-review-callout h2{margin-bottom:8px}.exam-review-callout .course-notice{display:inline-block;margin:8px 0 0}.exam-review-callout .primary{margin-top:4px}
.exam-reminder{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:0 0 14px;padding:14px 18px;border:1px solid #e2bd75;border-radius:15px;background:#fff6df;color:#59431c}.exam-reminder>div{display:flex;flex-direction:column;gap:2px}.exam-reminder strong{font-size:17px}.exam-reminder span{font-size:14px}.exam-reminder .primary{flex:0 0 auto}.exam-sticky-clock{position:sticky;top:env(safe-area-inset-top,0px);z-index:1000;display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 -24px 16px;padding:10px 24px;background:#392b49;color:#fff;box-shadow:0 4px 12px #281e3544}.exam-sticky-clock[hidden]{display:none!important}.exam-sticky-clock strong{font-size:30px;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:.04em;color:#fff}.exam-sticky-clock.urgent strong{color:#ffd6a3}.exam-sticky-clock span{font-size:14px;font-weight:700}.exam-sticky-clock.urgent{background:#612e3c}@media(max-width:650px){.exam-reminder{align-items:flex-start;flex-direction:column;padding:13px 14px}.exam-reminder .primary{width:100%;justify-content:center}.exam-sticky-clock{margin:0 -16px 12px;padding:10px 16px}.exam-sticky-clock strong{font-size:28px}.exam-sticky-clock span{font-size:12px}}
.course-shell.exam-mode{position:fixed;inset:0;z-index:2000;max-width:none;margin:0;padding:env(safe-area-inset-top,12px) max(14px,calc((100vw - 780px)/2)) env(safe-area-inset-bottom,24px);overflow-y:auto;border:0;border-radius:0;background:#fbf9fd;overscroll-behavior:contain}.course-shell.exam-mode>:not(#exam-sticky-clock):not(#course-content):not(#course-error){display:none!important}.course-shell.exam-mode>#exam-sticky-clock{position:sticky;top:0;margin:0 0 12px;padding:12px 16px}.course-shell.exam-mode>#course-content{max-width:780px;margin:0 auto}.course-shell.exam-mode>#course-error:empty{display:none}.exam-exit{margin:0 0 12px}
.study-section-tabs{display:flex;gap:8px;margin:14px 0 18px;padding:5px;border:1px solid #e8e1ee;border-radius:13px;background:#f5f1f8}.study-section-tabs button{flex:1;min-height:44px;border:0;border-radius:9px;background:transparent;color:#64576f;font:inherit;font-weight:700;cursor:pointer}.study-section-tabs button[aria-pressed=true]{background:#7654b5;color:#fff;box-shadow:0 2px 7px #33205020}.vocabulary-section h3{margin:0 0 14px;color:#483854}.study-vocabulary-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}.study-vocabulary-item{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;min-width:0;padding:11px 13px;border:1px solid #ece5f1;border-radius:11px;background:#fcfaff}.study-vocabulary-item strong{overflow-wrap:anywhere;color:#49375b}.study-vocabulary-item span{font-size:13px;color:#756a7e;text-align:right}.vocabulary-reveal-button,.vocabulary-master-button{flex-basis:100%;min-height:38px;padding:6px 10px;font-size:14px}
@media(max-width:700px){.calendar-day.has-stamp{padding-bottom:4px}.calendar-day,.calendar-empty{min-height:96px}.calendar-stamp{display:block!important;right:0;bottom:1px;width:45px;height:42px;transform:rotate(-20deg);transform-origin:bottom right;opacity:1}.calendar-stamp canvas{right:3px;bottom:7px;width:36px;height:36px;opacity:.94}.calendar-stamp strong{right:0;bottom:0;max-width:45px;overflow:hidden;font-size:5px;line-height:1;white-space:nowrap;padding:2px 3px;border-width:1px;border-radius:8px;box-shadow:0 1px 3px #6d52782b}.calendar-stamp .stamp-tear{right:12px;bottom:22px;font-size:8px}}

.calendar-stamp{overflow:visible}.calendar-sticker{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 2px 3px #37244332);opacity:1;transform:scale(1);transition:opacity .18s ease,transform .3s cubic-bezier(.2,1.5,.4,1)}.calendar-stamp canvas{z-index:2;right:9px;bottom:7px;width:84px;height:84px;opacity:0;transition:opacity .15s}.calendar-stamp.is-new .calendar-sticker{opacity:0;transform:scale(.68) rotate(16deg)}.calendar-stamp.is-new canvas{opacity:1}.calendar-stamp.imprinted .calendar-sticker{opacity:1;transform:scale(1.12) rotate(0)}.calendar-stamp.imprinted canvas{opacity:0}.calendar-stamp strong{z-index:3}.calendar-stamp.is-new strong{opacity:0}.calendar-stamp.imprinted strong{opacity:1;transition:opacity .2s .15s}
@media(max-width:700px){.calendar-stamp{width:45px;height:42px}.calendar-stamp canvas{right:2px;bottom:5px;width:38px;height:38px}.calendar-stamp strong{font-size:5px}.calendar-stamp .calendar-sticker{filter:drop-shadow(0 1px 2px #37244338)}}

/* 평일만 간결하게 표시하고 상세 기록은 날짜 선택 후 보여 줍니다. */
.calendar-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}
.calendar-empty{min-height:0}
.calendar-day{appearance:none;-webkit-appearance:none;width:100%;min-width:0;min-height:82px;padding:6px;border-radius:12px;text-align:left;font:inherit;color:#5f4877;cursor:pointer;transition:border-color .15s,background .15s}
.calendar-day.has-stamp{padding-bottom:4px}
.calendar-day:hover,.calendar-day.is-selected{border-color:#9573d1;background:#f3edfc}
.calendar-number{position:relative;z-index:2}
.calendar-stamp{right:0;bottom:0;width:66px;height:62px}
.calendar-detail-card{margin-top:16px}
.calendar-detail-heading{position:relative;display:flex;align-items:center;justify-content:space-between;min-height:92px}
.calendar-detail-heading .calendar-stamp{position:relative;inset:auto;right:auto;bottom:auto;flex:none;width:92px;height:86px;transform:rotate(-10deg)}
.calendar-detail-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:9px;margin:12px 0}
.calendar-detail-facts>span{display:flex;flex-direction:column;gap:3px;padding:10px;border-radius:10px;background:#f7f3fb}
.calendar-detail-facts small{color:#806899}.calendar-detail-facts strong{color:#4d3b64}
@media(max-width:700px){.calendar-scroll{overflow:visible;padding-bottom:0}.calendar-grid{min-width:0;gap:4px}.calendar-day,.calendar-empty{min-height:70px}.calendar-day{padding:4px;border-radius:9px}.calendar-day.has-stamp{padding:4px}.calendar-stamp{right:0;bottom:0;width:58px;height:54px}.calendar-detail-heading .calendar-stamp{position:relative;right:auto;bottom:auto;width:82px;height:76px;transform:rotate(-10deg)}.calendar-retry-note{font-size:12px}}

.reading-passage{margin:16px 0;padding:20px 22px;border:1px solid #ded2ed;border-radius:17px;background:#f6f1fc;color:#3d3150;line-height:1.9;white-space:normal}.reading-passage p{margin:8px 0 0;font-size:1.08rem;overflow-wrap:anywhere}.study-reading-question{margin:18px 0;padding:15px;border:1px solid #e6dcec;border-radius:14px}.study-reading-question input{width:min(100%,420px);min-height:42px;margin:0 8px 8px 0;padding:8px;border:1px solid #cbbddd;border-radius:9px}.study-reading-question [role=status]{min-height:1.5em;color:#654489}.choice-explanations{margin-top:20px;border-top:1px solid #e9e0ee;padding-top:12px}.choice-explanations h4{margin:0 0 8px}.choice-explanation{display:flex;flex-direction:column;gap:3px;margin:6px 0;padding:9px 11px;border:1px solid #eee7f2;border-radius:9px;background:#fbf9fd}.choice-explanation.correct{border-color:#a7d4ad;background:#f1fbf2}.choice-explanation small{color:#756b7d;font-size:.84rem;line-height:1.5}.practice-history-item{padding:10px 0;border-top:1px solid #ece5f0}.practice-history-item summary{cursor:pointer;overflow-wrap:anywhere}.weekly-test-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}.weekly-test-card{display:flex;flex-direction:column;align-items:flex-start;gap:9px;padding:16px;border:1px solid #e3d8ed;border-radius:14px;background:#fcfaff}.weekly-test-card h3,.weekly-test-card p{margin:0}.weekly-test-card button{margin-top:auto}.history-exam-row{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;margin:8px 0;padding:14px;border:1px solid #e1d6ec;border-radius:12px;background:#faf7fd;color:#4b3b60;text-align:left;font:inherit;cursor:pointer}.history-exam-row:hover{border-color:#7654b5;background:#f3ebfb}.stamp-collection{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.stamp-collection-item{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:170px;gap:8px;padding:12px;border:1px solid #e4d7ed;border-radius:14px;background:#fff;color:#49395d;font:inherit;cursor:pointer}.stamp-collection-item .calendar-stamp{position:relative;inset:auto;right:auto;bottom:auto;width:105px;height:100px;transform:rotate(-9deg)}.stamp-collection-item small{text-align:center}.stamp-zoom{max-width:min(92vw,520px);max-height:90vh;padding:20px;border:2px solid #d6c5e6;border-radius:20px;background:#fff}.stamp-zoom::backdrop{background:#271d3588}.stamp-zoom #stamp-zoom-content{display:flex;flex-direction:column;align-items:center;min-width:min(75vw,340px);gap:14px;padding:20px}.stamp-zoom .calendar-stamp{position:relative;inset:auto;right:auto;bottom:auto;width:290px;height:270px;max-width:75vw;transform:rotate(-10deg)}.stamp-zoom .calendar-stamp strong{font-size:19px;max-width:none}.stamp-zoom .vocab-stamp{transform:scale(1.5);margin:36px}.vocab-stamp{position:relative;display:flex;align-items:center;justify-content:center;width:115px;height:115px;border:7px double #e5b84c;border-radius:50%;background:radial-gradient(circle,#fff8d9,#f6dda1);box-shadow:0 4px 14px #9a6c2d55,inset 0 0 0 3px #fff6ce;transform:rotate(-9deg)}.vocab-stamp img{width:72%;height:72%;object-fit:contain}.vocab-stamp span{position:absolute;top:-19px;font-size:28px}.vocab-stamp strong{position:absolute;bottom:3px;padding:2px 8px;border:1px solid #b88326;border-radius:9px;background:#ffefb2;color:#744816;font-size:13px;white-space:nowrap}.vocab-stamp.large{width:175px;height:175px;margin:28px auto}.vocab-stamp.large span{font-size:40px;top:-25px}.vocab-stamp.large strong{font-size:20px}
@media(max-width:650px){.reading-passage{padding:15px}.course-nav{flex-wrap:wrap}.course-nav button{min-height:40px}.stamp-collection{grid-template-columns:repeat(2,minmax(0,1fr))}.study-section-tabs button{font-size:13px;padding:6px}.history-exam-row{align-items:flex-start;flex-direction:column}}
/* 집중코스: 자유연습의 부드러운 라벤더 톤을 이어 가는 학습 화면 */
body:has(.course-shell){background:radial-gradient(ellipse at 5% 0%,#f4edff 0,transparent 34rem),#fbf9fd}
.course-shell{max-width:1080px;padding-top:26px;color:#40354d;letter-spacing:-.012em}
.course-header{align-items:center;gap:14px;margin-bottom:19px}
.course-header>div:first-child .course-meta{display:inline-flex;align-items:center;padding:4px 10px;border:1px solid #eadff3;border-radius:999px;background:#fff;color:#795ba0;font-size:12px;font-weight:750}
.course-header h1{margin-top:7px;color:#392d49;font-size:clamp(25px,3vw,31px);font-weight:850;letter-spacing:-.045em}
.course-header>div:last-child{gap:8px}
.course-header>div:last-child>a,.course-header>div:last-child>button{display:inline-flex;min-height:40px;align-items:center;justify-content:center;padding:8px 14px;border:1px solid #e3d6ed;border-radius:13px;background:#fff;color:#654687;text-decoration:none;font-size:13px;font-weight:750;transition:transform .16s,border-color .16s,background .16s}
.course-header>div:last-child>a:hover,.course-header>div:last-child>button:hover{transform:translateY(-1px);border-color:#bca3d2;background:#faf6ff}
.course-banner{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(250px,.85fr);gap:16px;align-items:stretch;overflow:hidden;padding:20px;border:1px solid #e0d0f1;border-radius:24px;background:linear-gradient(118deg,#f0e7ff 0%,#faf4ff 56%,#fff7e9 100%);box-shadow:0 12px 30px #56377b12}
.course-banner::after{position:absolute;z-index:-1;right:25%;bottom:-72px;width:190px;height:190px;border:1px solid #ffffffa8;border-radius:50%;content:"";box-shadow:0 0 0 20px #ffffff32,0 0 0 42px #ffffff22}
.course-banner>div{min-width:0;padding:15px 17px;border:1px solid #ffffffb8;border-radius:18px;background:#ffffffb8;backdrop-filter:blur(8px)}
.course-banner>div:first-child>div:first-child{color:#79658e;font-size:13px;font-weight:750}
.course-banner>div:first-child>strong{display:inline-block;margin-top:4px;color:#392a53;font-size:30px;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.course-banner>div:first-child{font-size:14px;color:#735f87}
.course-banner>div:first-child progress{width:min(100%,270px);height:9px;margin-top:6px;overflow:hidden;border:0;border-radius:999px;background:#e8deef;accent-color:#8a62c4}
.course-banner>div:first-child progress::-webkit-progress-bar{border-radius:999px;background:#e8deef}.course-banner>div:first-child progress::-webkit-progress-value{border-radius:999px;background:linear-gradient(90deg,#7752b3,#ad84dc)}
.course-banner>div:last-child{display:flex;flex-direction:column;justify-content:center;gap:5px;background:#fffdf9dc}
.course-banner>div:last-child>strong{display:flex;align-items:center;gap:7px;color:#51396a;font-size:19px}
.course-banner>div:last-child>strong::before{display:grid;width:30px;height:30px;place-items:center;border-radius:10px;background:#f0e8fb;color:#7b57b4;font-size:14px;content:"✦"}
.course-banner>div:last-child>div{color:#71627d;font-size:13px;line-height:1.65}
.course-shell>details.course-card{padding:14px 17px;border-color:#e9e0ef;border-radius:17px;background:#ffffffd9;box-shadow:0 5px 17px #503a6808}
.course-shell>details.course-card summary{display:flex;align-items:center;gap:8px;color:#624981;font-size:14px;font-weight:750;list-style:none}
.course-shell>details.course-card summary::-webkit-details-marker{display:none}.course-shell>details.course-card summary::before{color:#9873c7;content:"＋"}.course-shell>details.course-card[open] summary::before{content:"−"}
.course-shell>details.course-card p{color:#766b7d;font-size:13px;line-height:1.75}
.course-shell .course-nav{display:flex;flex-wrap:wrap;gap:7px;margin:17px 0;padding:6px;border:1px solid #ece5f1;border-radius:17px;background:#f4f0f7}
.course-shell .course-nav button{min-height:39px;padding:8px 13px;border:1px solid transparent;border-radius:12px;background:transparent;color:#6e6078;font-size:13px;font-weight:750;white-space:nowrap;transition:background .15s,color .15s,box-shadow .15s}
.course-shell .course-nav button:hover{background:#fff;color:#614584}.course-shell .course-nav button[aria-pressed=true]{border-color:#7957bd;background:#7957bd;color:#fff;box-shadow:0 3px 9px #7957bd35}
.course-shell .course-card{border-color:#ebe3f1;border-radius:21px;box-shadow:0 7px 23px #4c35690a}
.course-shell .course-card h2,.course-shell .course-card h3{color:#40334f;letter-spacing:-.025em}
.course-shell .course-card p{line-height:1.75}
.course-shell .study-section-tabs{position:sticky;top:8px;z-index:5;padding:5px;border:1px solid #e8e0ef;border-radius:15px;background:#f5f1f8ed;box-shadow:0 5px 14px #46315c0b;backdrop-filter:blur(10px)}
.course-shell .study-section-tabs button{border-radius:11px}
.course-shell .guided-week{padding:19px 21px;border-color:#e7dcef;border-radius:20px;background:linear-gradient(120deg,#f6f0ff,#fffdf8);box-shadow:0 7px 20px #50366b0a}
.course-shell .guided-kicker{color:#8060a6;font-weight:800;letter-spacing:.035em}
.course-shell .guided-hero{border:1px solid #e6d8f2;border-radius:23px;background:linear-gradient(125deg,#f1e9ff,#fffaf3);box-shadow:0 8px 24px #4c35690c}
.course-shell .guided-lesson,.course-shell .guided-path-card{border-color:#ebe2f1;border-radius:21px;background:#fff;box-shadow:0 8px 24px #4c35690c}
.course-shell .guided-discovery{border:1px solid #f0e4c8;border-radius:18px;background:linear-gradient(120deg,#fff9ec,#fffdf8)}
.course-shell .guided-rule{border:1px solid #eee7f4;border-radius:16px;background:#fbf9fd}
.course-shell .primary{border-radius:13px;background:linear-gradient(135deg,#805ac1,#704db0);box-shadow:0 4px 10px #7854b526;font-weight:750;transition:transform .15s,box-shadow .15s}
.course-shell .primary:hover{transform:translateY(-1px);box-shadow:0 7px 15px #7854b53a}
.course-shell .secondary{border-color:#dfd1ea;border-radius:13px;color:#654687;font-weight:700;transition:background .15s,border-color .15s}
.course-shell .secondary:hover{border-color:#bba3d2;background:#faf6ff}
.course-shell details:not(.guided-rule) summary{font-weight:750}
.course-shell #activity-note{padding:0 5px;color:#867990;font-size:12px}
.study-vocabulary-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,205px),1fr));gap:10px}
.study-vocabulary-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 10px;padding:12px 13px;border-color:#ece4f2;border-radius:15px;background:linear-gradient(135deg,#fff,#fcf9ff);box-shadow:0 3px 10px #4a37600a}
.study-vocabulary-item .vocabulary-word-line{display:flex;align-items:center;gap:8px;min-width:0}
.study-vocabulary-item .vocabulary-word-line strong{min-width:0;text-align:left;font-size:16px;line-height:1.4;overflow-wrap:anywhere}
.study-vocabulary-item [data-word-meaning]{grid-column:1/-1;text-align:left;font-size:13px;line-height:1.45;color:#6c5b79}
.study-vocabulary-item .word-pronunciation{display:grid;flex:none;width:30px;height:30px;place-items:center;padding:0;border:1px solid #e8def0;border-radius:10px;background:#f8f4fc;color:#7957b2;font-size:11px;cursor:pointer}
.study-vocabulary-item .word-pronunciation:hover{border-color:#c7b2db;background:#eee6f8}
.study-vocabulary-item .vocabulary-reveal-button,.study-vocabulary-item .vocabulary-master-button{grid-column:1/-1;width:100%;min-height:34px;padding:6px 9px;border-radius:10px;font-size:12px}
.course-shell .study-flow span{border:1px solid #e9dff1;border-radius:999px;background:#f8f4fc;color:#77569f;font-weight:700}
.course-shell .pattern-example{padding:15px 13px;border:1px solid #eee7f3;border-radius:15px;background:#fff;margin:9px 0}
.course-shell .pattern-example .secondary{margin-left:4px;padding:6px 10px;border-radius:10px;font-size:12px}
@media(max-width:700px){
 .course-shell{padding:16px 14px 250px}
 .course-header{align-items:flex-start;margin-bottom:14px}
 .course-header h1{font-size:24px}
 .course-header>div:last-child{gap:6px}
 .course-header>div:last-child>a,.course-header>div:last-child>button{min-height:37px;padding:7px 10px;font-size:12px}
 .course-banner{grid-template-columns:1fr;gap:9px;padding:12px;border-radius:21px}
 .course-banner>div{padding:12px 14px;border-radius:15px}
 .course-banner>div:first-child>strong{font-size:27px}
 .course-banner>div:last-child{min-height:78px}
 .course-banner>div:last-child>strong{font-size:17px}
 .course-shell .course-nav{display:flex;flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;margin:14px -1px;padding:5px;scrollbar-width:none}
 .course-shell .course-nav::-webkit-scrollbar{display:none}
 .course-shell .course-nav button{flex:0 0 auto;min-height:38px;padding:7px 11px;font-size:12px}
 .course-shell .study-section-tabs{top:4px}
 .course-shell .guided-week{padding:15px;border-radius:18px}
 .course-shell .guided-day-list{grid-template-columns:repeat(2,minmax(0,1fr))}
 .study-vocabulary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .study-vocabulary-item{padding:10px;border-radius:13px}
 .study-vocabulary-item .vocabulary-word-line strong{font-size:14px}
 .course-shell .course-card{padding:17px;border-radius:18px}
}
@media(max-width:390px){.course-header>div:last-child>a,.course-header>div:last-child>button{padding-inline:9px}.course-banner>div:last-child>div{font-size:12px}}
@media(max-width:350px){.study-vocabulary-grid{grid-template-columns:1fr}}
@media(max-width:700px){body:has(.course-shell) #floating-pet{width:118px;right:8px;bottom:8px}.course-shell~#floating-pet .pet-bubble{height:50px;padding:5px 8px;font-size:10px;line-height:1.45}.course-shell~#floating-pet .pet-stage{height:84px}.course-shell~#floating-pet .pet-touch{width:84px;height:84px}.course-shell~#floating-pet .pet-toolbar{height:23px;margin:0;gap:1px}.course-shell~#floating-pet .pet-mood{font-size:8px}.course-shell~#floating-pet .pet-drag-handle{padding:2px;font-size:9px}.course-shell~#floating-pet .pet-help{display:none}}
@media(max-width:700px){
 .course-shell .course-nav{position:relative;z-index:81;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible;gap:6px;margin:14px 0;padding:6px}
 .course-shell .course-nav button{width:100%;min-width:0;min-height:44px;padding:7px 5px;white-space:normal;overflow-wrap:anywhere;text-align:center;line-height:1.3;font-size:12px}
}
@media(max-width:480px){.course-shell .course-nav{grid-template-columns:repeat(3,minmax(0,1fr))}.course-shell .course-nav button{font-size:11px}}
.course-shell .guided-week{padding:0;overflow:hidden}
.guided-week-summary{display:flex;align-items:center;gap:8px 14px;flex-wrap:wrap;min-height:56px;padding:12px 18px;list-style:none;cursor:pointer}
.guided-week-summary::-webkit-details-marker,.guided-path-card>summary::-webkit-details-marker,.vocabulary-section>summary::-webkit-details-marker{display:none}
.guided-week-summary .guided-kicker{font-size:12px;white-space:nowrap}
.guided-week-summary strong{flex:1;min-width:150px;color:#463650;font-size:14px}
.guided-week-summary>span:last-child{color:#7959a3;font-size:12px;font-weight:700;white-space:nowrap}
.guided-week[open] .guided-day-list{padding:0 16px 16px}
.course-shell .guided-hero{grid-template-columns:minmax(0,1fr) 150px;gap:14px;margin:12px 0;padding:18px 20px}
.guided-hero h2{margin:3px 0 5px;font-size:23px}
.guided-hero p{margin:0;font-size:13px;line-height:1.6}
.guided-progress{padding:13px 15px}
.guided-progress>strong{font-size:27px}
.guided-progress small{font-size:11px}
.course-shell .guided-path-card{padding:0;overflow:hidden;margin:12px 0}
.guided-path-card>summary{min-height:60px;padding:12px 18px;list-style:none;cursor:pointer}
.guided-path-card>summary::after{content:'⌄';color:#8161ab;font-size:20px;line-height:1}
.guided-path-card[open]>summary::after{transform:rotate(180deg)}
.guided-path-card .guided-path{padding:0 18px 18px;margin:0}
.course-shell .guided-lesson{padding:22px 24px;margin:12px 0}
.guided-lesson-heading h2{font-size:23px}
.guided-rule{margin:14px 0}
.guided-examples{margin-top:17px}
.guided-examples h3{margin-bottom:7px;font-size:16px}
.guided-more-examples{border-top:1px solid #eee8f3}
.guided-more-examples>summary{padding:12px 4px;color:#6e4b97;font-size:13px;font-weight:750;cursor:pointer}
.guided-more-examples .guided-example:first-of-type{border-top:0}
.course-shell .vocabulary-section{padding:0;overflow:hidden;margin:10px 0}
.vocabulary-section>summary{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:52px;padding:11px 17px;list-style:none;cursor:pointer}
.vocabulary-section>summary strong{font-size:16px;color:#49385c}
.vocabulary-section>summary small{flex:none;border-radius:999px;background:#f1e9fa;padding:3px 9px;color:#7658a0;font-size:11px}
.vocabulary-section>.study-vocabulary-grid{margin:0;padding:0 15px 15px}
@media(max-width:700px){
 .course-shell .guided-week{padding:0}
 .guided-week-summary{padding:11px 14px}
 .guided-week-summary strong{min-width:130px}
 .course-shell .guided-hero{grid-template-columns:1fr;gap:10px;padding:15px 17px}
 .guided-progress{display:grid;grid-template-columns:auto 1fr;gap:3px 10px;padding:11px 13px}
 .guided-progress>strong{grid-row:1/3;font-size:25px}
 .guided-progress>span{font-size:12px}
 .guided-progress progress,.guided-progress small{grid-column:2}
 .guided-progress small{font-size:10px}
 .guided-path-card>summary{padding:10px 14px}
 .course-shell .guided-lesson{padding:17px}
 .vocabulary-section>summary{padding:10px 13px}
 .vocabulary-section>.study-vocabulary-grid{padding:0 11px 11px}
}
.course-shell{padding-bottom:180px}
@media(min-width:380px) and (max-width:700px){.course-banner{grid-template-columns:1fr 1fr;align-items:stretch}.course-banner>div:first-child>strong{font-size:22px}.course-banner>div:last-child{min-height:0}.course-banner>div:last-child>div{font-size:11px}}
@media(max-width:700px){.course-shell{padding-bottom:155px}}

/* 읽기 편한 대비와 좁은 화면의 학습 흐름 */
.course-shell .course-card{box-shadow:0 3px 14px #4c356908}
.course-shell .guided-lesson,.course-shell .guided-path-card{box-shadow:0 3px 14px #4c356908}
.course-shell .guided-rule{padding:12px 15px;border:0;border-left:3px solid #b39acb;border-radius:0 12px 12px 0;background:#f8f5fc}
.course-shell .guided-rule .pattern-rule{margin:10px 0;padding:0 0 0 12px;border:0;border-left:2px solid #c8b4dc;border-radius:0;background:transparent;line-height:1.8}
.course-shell .guided-rule>p:last-child{font-size:15px;color:#51475b}
.guided-kicker,.guided-week-summary .guided-kicker{color:#6c5188;font-size:13px}
.guided-week-summary>span:last-child{font-size:13px;color:#654584}
.guided-progress small{font-size:12px;color:#65596f}
.guided-day small,.guided-path-state{font-size:12px;color:#62576d}
.guided-example-copy>span{font-size:15px;color:#554a60}
.guided-example-copy small,.guided-footnote{font-size:13px;color:#62576d}
.study-vocabulary-item .vocabulary-reveal-button,.study-vocabulary-item .vocabulary-master-button{font-size:13px}
.vocabulary-section>summary small{font-size:12px;color:#624583}
#course-content{position:relative;z-index:81}
@media(max-width:700px){
 .course-header{margin-bottom:10px}
 .course-shell .course-banner{gap:8px;padding:10px}
 .course-banner>div{padding:10px 12px}
 .course-shell>details.course-card{margin:10px 0;padding:10px 13px}
 .course-shell #activity-note{margin:4px 0;padding:0 2px;color:#62576d;font-size:13px;line-height:1.5}
 .course-shell .course-nav{margin:10px 0;gap:5px}
 .course-shell .course-nav button{min-height:44px}
 .course-shell .guided-week{margin:10px 0}
 .course-shell .study-section-tabs{margin:10px 0}
 .course-shell .guided-hero{margin:10px 0}
 .guided-progress small{font-size:12px}
 .guided-week-summary .guided-kicker,.guided-week-summary>span:last-child{font-size:12px}
}
@media(max-width:480px){
 .course-shell .course-nav button{font-size:12px}
 .course-shell .guided-rule{padding:11px 13px}
 .guided-example-copy>span{font-size:14px}
}
@media(max-width:350px){.guided-path-card>summary .course-meta{flex:none;white-space:nowrap}.guided-section-heading h3{font-size:15px;line-height:1.35}}
@media(max-width:700px){
 body:has(.course-shell) #floating-pet[data-collapsed="true"]{width:54px}
 body:has(.course-shell) #floating-pet[data-collapsed="true"] .pet-stage{height:54px}
 body:has(.course-shell) #floating-pet[data-collapsed="true"] .pet-touch{width:50px;height:50px}
 body:has(.course-shell) #floating-pet[data-collapsed="true"] .pet-toggle{width:20px;height:20px;font-size:13px}
 .course-shell .study-section-tabs{z-index:81}
}
/* Date based, ungraded vocabulary practice */
.practice-choice-card{padding:clamp(20px,3.2vw,34px);background:linear-gradient(135deg,#fff 0%,#fbf8ff 70%,#fffaf1 100%)}.practice-choice-card>h2{margin:5px 0 22px}.practice-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.practice-choice{display:flex;flex-direction:column;align-items:flex-start;min-width:0;padding:clamp(18px,2.5vw,26px);border:1px solid #e8def2;border-radius:20px;background:#fff;box-shadow:0 8px 24px #6045880b}.practice-choice-vocabulary{background:linear-gradient(145deg,#fff 0%,#faf6ff 100%)}.practice-choice-icon{display:grid;place-items:center;width:42px;height:42px;margin-bottom:12px;border-radius:14px;background:#f1e9fb;color:#7653aa;font-weight:800;font-size:18px}.practice-choice h3{margin:0;font-size:20px}.practice-choice p{flex:1;color:#6f627a;line-height:1.65}.practice-choice label{margin:8px 0 6px}.practice-choice select{width:100%;min-height:48px}.practice-choice .course-meta{margin:9px 0}.practice-choice .primary{min-height:48px;align-items:center;justify-content:center}.word-practice-card{padding:clamp(18px,3vw,30px)}.word-practice-heading{display:flex;justify-content:space-between;align-items:center;gap:14px}.word-practice-heading h2{margin:4px 0 0}.word-practice-counter{flex:none;font-size:22px;font-variant-numeric:tabular-nums}.word-practice-counter span{font-size:15px;color:#82758c}.word-practice-progress{display:block;width:100%;height:10px;margin:18px 0 7px;accent-color:#7858c8}.word-question-nav{grid-template-columns:repeat(10,minmax(36px,1fr));max-height:148px;overflow:auto;padding:3px 3px 8px;overscroll-behavior:contain}.word-question-nav button{min-height:42px;font-variant-numeric:tabular-nums}.word-test-prompt>span{display:block;color:#796c85;font-size:14px;font-weight:700}.word-test-prompt .course-question{margin:8px 0 18px;font-size:clamp(24px,4vw,34px);font-weight:750;overflow-wrap:anywhere}.word-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.word-choice-grid button{display:flex;align-items:center;gap:12px;min-width:0;min-height:62px;padding:12px 15px;line-height:1.5;overflow-wrap:anywhere}.word-choice-letter{display:grid;place-items:center;flex:none;width:32px;height:32px;border-radius:10px;background:#f4eff9;color:#69499b;font-weight:800}.word-choice-grid button[aria-pressed=true] .word-choice-letter{background:#7858c8;color:white}.word-practice-actions{align-items:stretch}.word-practice-actions button{min-height:48px}.word-result-actions{display:flex;gap:10px;flex-wrap:wrap}.word-result-actions button{min-height:48px}.word-result-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}.word-result-item{min-width:0;padding:17px 19px}.word-result-item summary{display:flex;justify-content:space-between;align-items:center;gap:10px;overflow-wrap:anywhere}.word-result-item summary strong{flex:none;font-size:13px}.word-result-item .is-correct{color:#31805a}.word-result-item .is-wrong{color:#a24b5b}
@media(max-width:760px){.practice-choice-grid{gap:12px}.word-question-nav{grid-template-columns:repeat(8,minmax(36px,1fr));max-height:132px}.word-result-list{grid-template-columns:1fr}}
@media(max-width:520px){.practice-choice-grid,.word-choice-grid{grid-template-columns:1fr}.practice-choice-card{padding:18px}.practice-choice{padding:18px}.practice-choice p{margin:7px 0 12px}.word-practice-heading{align-items:flex-start}.word-practice-counter{font-size:19px}.word-question-nav{grid-template-columns:repeat(5,minmax(36px,1fr));max-height:126px;gap:6px}.word-question-nav button{min-height:44px}.word-choice-grid button{min-height:56px}.word-practice-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.word-practice-actions button{justify-content:center;padding:10px 8px!important;font-size:14px!important}.word-result-actions button{flex:1;justify-content:center}}
@media(max-width:350px){.word-practice-card{padding:15px}.word-question-nav{grid-template-columns:repeat(4,minmax(36px,1fr))}.practice-choice-card>h2{font-size:19px}}
.word-write-answer{width:100%;min-height:58px;padding:14px 16px;border:1px solid #d8cce6;border-radius:14px;background:#fff;color:#42354e;font:inherit;font-size:20px}.word-write-answer:disabled{background:#f7f4fa;color:#70647a}.word-answer-feedback{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;margin:14px 0;padding:14px 16px;border-radius:13px}.word-answer-feedback.is-correct{background:#eff8f2;color:#286747}.word-answer-feedback.is-wrong{background:#fff2f3;color:#973c4e}.word-answer-feedback span{font-size:15px}.weekly-word-card .course-question{margin-bottom:18px}.weekly-word-card .word-practice-actions{justify-content:flex-end}.word-practice-card .word-practice-actions{justify-content:space-between}
.frequent-practice-button{width:100%;min-height:46px;margin-top:9px;justify-content:center}
