:root{--paper:#ffffff;--ink:#1c1c1c;--muted:#6b7280;--line:#e6e6e6;--blue:#2563eb;--card:#ffffff;--good:#15803d;--good-bg:#ecfdf3;--amber:#b45309;--amber-bg:#fff7ed;--bad:#b91c1c;--bad-bg:#fef2f2}*{box-sizing:border-box}body,html{margin:0;padding:0}html{overflow-x:clip}body{min-height:100vh;background:var(--paper);color:var(--ink);font-family:var(--font-sans),"Avenir Next","Segoe UI",sans-serif;font-size:17px;line-height:1.45}button,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:inherit}:focus-visible{outline:2px solid var(--blue);outline-offset:3px}.floor{width:min(1120px,calc(100% - 32px));margin:0 auto;padding:20px 0 64px}.bar,.bar-links{display:flex;gap:16px;align-items:center}.bar{justify-content:space-between;padding-bottom:14px;border-bottom:1px solid var(--line);margin-bottom:28px}.mark{text-decoration:none;font-family:var(--font-serif),Georgia,serif;font-size:26px;font-weight:500;letter-spacing:-.03em}.bar-title,.topbar-meta{margin:0;font-size:14px;color:var(--muted)}.case-kicker,.eyebrow,.kicker{margin:0 0 6px;font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase}.case-card h2,h1,h2{font-family:var(--font-serif),Georgia,serif;font-weight:500;letter-spacing:-.03em}h1{margin:0;font-size:clamp(32px,5vw,44px);line-height:1.08;max-width:16em}h1.page-title{max-width:18em;font-size:clamp(34px,4.5vw,52px);line-height:1}.lede{max-width:38rem;margin:16px 0 0;color:var(--muted);font-size:18px}.sheet{list-style:none;margin:36px 0 0;padding:0;border-top:1px solid var(--line)}.row{display:grid;grid-template-columns:64px 1fr;grid-gap:8px 18px;gap:8px 18px;align-items:start;padding:18px 0;border-bottom:1px solid var(--line);text-decoration:none}.row-num{font-family:var(--font-serif),Georgia,serif;font-size:28px;line-height:1;padding-top:4px}.row h2{margin:0 0 6px;font-size:clamp(28px,4vw,36px)}.row p{margin:0;color:var(--muted)}.row-foot{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;justify-content:space-between;margin-top:12px}.row.is-locked{color:var(--muted)}.row.is-locked h2{color:var(--ink)}a.row:hover h2{color:var(--blue)}.stamp{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--line);padding:4px 8px}.stamp-closed{background:var(--good-bg);color:var(--good);border-color:var(--good)}.stamp-thin{background:var(--amber-bg);color:var(--amber);border-color:var(--amber)}.stamp-lost{background:var(--bad-bg);color:var(--bad);border-color:var(--bad)}.stamp-open{background:var(--ink);color:var(--paper)}.fine{margin:14px 0 0;color:var(--muted);font-size:14px}.btn,.btn-ghost,.text-btn{border-radius:0;padding:10px 14px}.text-btn{background:transparent;border:0;color:var(--muted);padding:6px 0;text-decoration:underline;text-underline-offset:3px}.btn{background:var(--blue);color:white;border:0;border-radius:8px;text-decoration:none;display:inline-block}.btn:disabled,.choice:disabled{opacity:.4;cursor:not-allowed}.btn.is-saved{background:var(--good-bg);border:1px solid var(--good);color:#14532d}.btn-ghost{background:transparent;border:1px solid var(--line);border-radius:8px;text-decoration:none;display:inline-block}.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.set{position:relative;display:flex;flex-direction:column;border:1px solid var(--line);overflow:hidden;background:#c8bda9}.room-office{background:#d9d0c2}.room-corridor{background:#cfc6b8}.stage{position:relative;height:min(460px,52vh);min-height:320px;flex:none}.room-art{inset:0;width:100%;object-fit:cover}.room-art,.who{position:absolute;height:100%}.who{z-index:2;bottom:0;left:62%;width:auto;padding:0;border:0;background:transparent;text-align:center;transform:translateX(-50%)}.who:disabled{cursor:default}.portrait{display:block;height:100%;width:auto;overflow:visible}.portrait .arm,.portrait .eyes,.portrait .figure,.portrait .mouth-open{transform-box:fill-box;transform-origin:center}.portrait .arm{transform-origin:top center}.portrait .figure{transform-origin:50% 100%;animation:figure-idle 3.4s ease-in-out infinite}.portrait .eyes{animation:blink 5.2s infinite}.portrait .mouth-open{opacity:0}.who.is-speaking .portrait .figure{animation:figure-talk .48s ease-in-out infinite}.who.is-speaking .portrait .mouth-rest{opacity:0}.who.is-speaking .portrait .mouth-open{opacity:1;animation:mouth .28s ease-in-out infinite}.who.is-speaking .portrait .arm-left{animation:arm-left .48s ease-in-out infinite}.who.is-speaking .portrait .arm-right{animation:arm-right .48s ease-in-out infinite}.who-tag{position:absolute;left:50%;top:68%;transform:translateX(-50%);white-space:nowrap;background:var(--ink);color:var(--paper);font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;padding:5px 8px}.who.is-speaking .who-tag{background:var(--blue)}.speech{position:absolute;z-index:4;top:16px;left:16px;max-width:min(440px,48%);padding:12px 14px 14px;background:#fff;border:1px solid var(--line);border-radius:16px 16px 16px 4px;box-shadow:0 10px 28px rgba(28,28,28,.08);animation:bubble-in .35s ease}.speech .kicker{margin-bottom:4px}.speech-line{margin:0;font-family:var(--font-serif),Georgia,serif;font-size:20px;line-height:1.35}.speech.is-talking .speech-line:after{content:"▍";margin-left:3px;color:var(--blue);animation:caret .9s steps(1) infinite}@keyframes figure-idle{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-8px) scale(1.012,.988)}}@keyframes figure-talk{0%,to{transform:translateY(0) rotate(0deg)}35%{transform:translateY(-6px) rotate(.7deg)}70%{transform:translateY(-2px) rotate(-.6deg)}}@keyframes blink{0%,92%,to{transform:scaleY(1)}95%{transform:scaleY(.12)}}@keyframes mouth{0%,to{transform:scaleY(.4)}50%{transform:scaleY(1)}}@keyframes arm-left{0%,to{transform:rotate(0deg)}50%{transform:rotate(7deg)}}@keyframes arm-right{0%,to{transform:rotate(0deg)}50%{transform:rotate(-7deg)}}@keyframes bubble-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes caret{50%{opacity:0}}.cue{position:relative;z-index:3;background:#ffffff;border-top:1px solid var(--line);padding:14px 14px 12px}.cue h2{font-size:32px}.cue h2,.role{margin:0 0 8px}.role{font-size:18px}.goal,.hidden-line,.hint{margin:0;color:var(--muted)}.goal{margin-bottom:8px}.line{margin:0;font-family:var(--font-serif),Georgia,serif;font-size:22px;line-height:1.3}.listen-row,.respond{display:grid;grid-gap:8px;gap:8px;margin-top:12px}.choice{width:100%;display:grid;grid-template-columns:auto 1fr;grid-gap:10px;gap:10px;align-items:start;text-align:left;background:transparent;border:0;border-top:1px solid var(--line);padding:10px 0}.choice.is-picked{background:var(--good-bg)}.key{width:22px;font-size:16px}.key,.prompt{font-family:var(--font-serif),Georgia,serif}.prompt{margin:10px 0 0;font-size:22px}.rec{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:10px}.rec-dot{width:10px;height:10px;border-radius:50%;background:var(--blue)}textarea{width:100%;min-height:110px;margin-top:10px;border:1px solid var(--line);background:white;padding:10px;resize:vertical}.live,.model,.note{margin:10px 0 0;padding-top:8px;border-top:1px solid var(--line)}.meter{min-width:min(220px,42vw)}.meter-top{display:flex;justify-content:space-between;gap:8px;font-size:12px;letter-spacing:.06em;text-transform:uppercase;margin-bottom:4px}.meter-score{display:flex;align-items:baseline;gap:8px}.meter-score em{font-style:normal}.meter-top strong{font-weight:600;font-size:16px;letter-spacing:0;text-transform:none}.meter-high .meter-score{color:var(--blue)}.meter-track{height:8px;border-radius:999px;background:var(--line);overflow:hidden}.meter-fill{height:100%;background:var(--blue)}.meter-mid .meter-fill{background:var(--amber)}.meter-mid .meter-score{color:var(--amber)}.meter-low .meter-fill{background:var(--bad)}.meter-low .meter-score{color:var(--bad)}.path-list,.skill-list{list-style:none;margin:18px 0 0;padding:0;display:grid;grid-gap:0;gap:0;border-top:1px solid var(--line)}.hook,.path-item,.skill-row{padding:12px 0;border-bottom:1px solid var(--line)}.skill-row{display:flex;justify-content:space-between;gap:12px}.skill-holds strong{color:var(--good)}.skill-again strong{color:var(--bad)}.kind{font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}.hook p,.path-item p{margin:6px 0 0}.path-item .said{margin:4px 0 0}.path-item .path-feedback{display:block;margin-top:12px}.path-fold{margin-top:18px}.path-fold summary{cursor:pointer;color:var(--muted);text-decoration:underline;text-underline-offset:3px}.path-fold .path-list{margin-top:8px}.takes{display:grid;grid-gap:8px;gap:8px;margin-top:14px}.rec audio,.takes audio{width:min(420px,100%)}.author{margin-top:28px;max-width:40rem;padding-top:18px;border-top:1px solid var(--line)}.author h2{margin:0 0 8px;font-size:28px}.author p{margin:0}.prose{max-width:44rem;margin-top:22px}.prose h2{margin:28px 0 8px;font-size:clamp(26px,3vw,34px)}.prose p{margin:0 0 12px;overflow-wrap:anywhere}.prose .note,.teacher-note{color:var(--muted);border-left:3px solid var(--blue);padding-left:12px}.prose .label{margin:0 0 2px;font-weight:600}.teacher-note{margin:16px 0;padding:12px 14px;background:#f7f7f7}.packet-list{margin:0 0 16px;padding-left:22px}.packet-list li{margin:0 0 7px}.dialogue-line{display:grid;grid-template-columns:minmax(76px,120px) 1fr;grid-gap:12px;gap:12px;padding:8px 0;border-top:1px solid var(--line)}.dialogue-line span{color:var(--muted)}.quiz{list-style:none;margin:28px 0 0;padding:0;display:grid;grid-gap:14px;gap:14px;max-width:44rem}.quiz>li{padding:16px;border:1px solid var(--line);background:var(--card)}.quiz>li.is-missed{border-color:var(--bad)}.q-prompt{margin:0 0 8px;font-family:var(--font-serif),Georgia,serif;font-size:22px;line-height:1.25}.opt{width:100%;display:grid;grid-template-columns:auto 1fr;grid-gap:10px;gap:10px;align-items:start;text-align:left;margin-top:8px;padding:12px;background:var(--paper);border:1px solid var(--line)}.opt.is-picked{background:#eff6ff}.opt.is-right{background:var(--good-bg)}.opt.is-wrong{background:var(--bad-bg)}.score-line{margin:0;font-family:var(--font-serif),Georgia,serif;font-size:36px}.score-holds{color:var(--good)}.score-again{color:var(--amber)}.speak-grid{display:grid;grid-gap:14px;gap:14px;margin-top:28px}.speak-card{margin:0;padding:18px;border:1px solid var(--line);background:var(--card)}.speak-card h2{margin:0 0 8px;font-size:32px}.speak-card p{margin:0 0 10px}.prompts{margin:0;padding-left:18px}.prompts li{margin:0 0 8px}.gloss-search{flex-wrap:wrap;gap:12px 16px;margin-top:26px;max-width:44rem}.gloss-field,.gloss-search{display:flex;align-items:center}.gloss-field{flex:1 1 260px;gap:10px;padding:11px 16px;border:1px solid #d8d8d8;border-radius:999px;background:#fff;color:var(--muted)}.gloss-field:focus-within{border-color:var(--blue)}.gloss-field input{flex:1 1;min-width:0;border:0;outline:0;background:transparent;color:var(--ink);font:inherit;font-size:16px}.gloss-search .fine{margin:0;white-space:nowrap}.gloss{margin:22px 0 0;max-width:44rem}.gloss div{padding:16px 2px;border-top:1px solid #ededed}.gloss div:last-child{border-bottom:1px solid #ededed}.gloss dt{font-family:var(--font-serif),Georgia,serif;font-weight:500;font-size:21px;letter-spacing:-.015em}.gloss dd{margin:6px 0 0;color:var(--muted)}.book-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:10px;gap:10px;max-width:44rem}.book-list li{margin:0;padding:16px 18px;border:1px solid var(--line);border-radius:12px;background:#fbf6ee;font-family:var(--font-serif),Georgia,serif;font-size:18px;line-height:1.45}.link-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px;max-width:44rem}.link-list li{margin:0}.link-list a{display:flex;align-items:center;gap:10px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);text-decoration:none;overflow-wrap:anywhere}.link-list a svg{flex:none;color:var(--blue)}.landing-figures{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:24px;gap:24px;margin:56px 0 0;padding:26px 0 0;border-top:1px solid var(--line)}.landing-figures li{margin:0}.landing-figures strong{display:block;margin-bottom:6px;font-family:var(--font-serif),Georgia,serif;font-weight:500;font-size:32px;line-height:1}.landing-figures span{color:var(--muted);font-size:14px}.gate-wait{display:flex;align-items:center;gap:12px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.gate-wait p{margin:0;color:var(--muted);font-size:14px}.gate-wait-mark{flex:none;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:999px;border:1px solid var(--line);background:#fbfbfb;color:var(--muted)}.section-title{margin:28px 0 8px;font-size:32px;max-width:16em}.sources{margin:0;padding-left:18px;max-width:44rem}.sources li{margin:0 0 10px}.sources a{color:var(--blue)}.landing{width:min(720px,100%)}.landing-block{margin-top:28px;padding:22px 22px 24px;border:1px solid #dbeafe;border-radius:12px;background:#eff6ff}.landing-block h2{margin:0 0 12px;font-size:32px}.landing-block p{max-width:40rem;margin:0}.landing-actions{margin-top:36px}.modal-back{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:20px;background:rgba(28,28,28,.35)}.modal-card{position:relative;width:min(440px,100%);max-height:min(92dvh,100%);overflow:auto;padding:24px;border:1px solid var(--line);background:white}.modal-card h2{margin:0;font-size:36px}.modal-close{position:absolute;top:16px;right:16px;border:0;background:transparent;color:var(--muted);font-size:14px}.gate-card{max-width:440px;margin:36px auto 0;padding:24px;border:1px solid var(--line);background:var(--card)}.gate-card h1{max-width:none}.gate-steps{margin:14px 0 0;padding-left:18px;color:var(--muted)}.gate-steps li{margin:0 0 6px}.gate-form{display:grid;grid-gap:16px;gap:16px;margin-top:22px}.gate-form label{display:grid;grid-gap:6px;gap:6px;font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.gate-form input{border:1px solid var(--line);background:white;padding:12px;font:inherit;letter-spacing:0;text-transform:none;font-weight:400}.lesson-hero{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(260px,.7fr);grid-gap:26px;gap:26px;margin-top:28px;padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.lesson-summary{max-width:38rem;margin:0;font-family:var(--font-serif),Georgia,serif;font-size:clamp(25px,3.2vw,38px);line-height:1.14}.outcome-card{align-self:stretch;display:flex;flex-direction:column;justify-content:space-between;padding:16px;color:var(--paper);background:var(--ink)}.outcome-card p{margin:18px 0 0}.strategy-section{margin-top:42px}.course-section-title h2,.reflection-card h2,.scenario-callout h2,.strategy-section>h2{margin:0;font-family:var(--font-serif),Georgia,serif;font-size:clamp(28px,4vw,42px);font-weight:500;letter-spacing:-.03em}.strategy-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:12px;gap:12px;margin-top:18px}.strategy-card{min-height:280px;display:flex;flex-direction:column;padding:16px;border:1px solid var(--line);background:rgba(247,241,230,.45)}.strategy-number{color:var(--blue)}.strategy-card h3,.strategy-number{font-family:var(--font-serif),Georgia,serif;font-size:26px}.strategy-card h3{margin:24px 0 8px;font-weight:500}.strategy-card p{margin:0;color:var(--muted)}.strategy-card blockquote{margin:auto 0 0;padding-top:18px;font-size:15px;font-weight:600}.scenario-callout{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:24px;gap:24px;align-items:end;margin-top:42px;padding:24px;color:var(--paper);background:var(--blue)}.scenario-callout p{max-width:38rem;margin:8px 0 0}.scenario-callout .btn{background:var(--paper);color:var(--ink);border-color:var(--paper);text-decoration:none;white-space:nowrap}.scenario-action{display:grid;justify-items:end;grid-gap:12px;gap:12px}.scenario-action .stamp{color:var(--paper);border-color:var(--paper);background:transparent}.reflection-card{max-width:44rem;margin-top:26px;padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.reflection-card p:last-child{margin:10px 0 0;font-family:var(--font-serif),Georgia,serif;font-size:23px}.packet{margin-top:42px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.packet summary{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 0;cursor:pointer;font-size:16px}.packet summary::marker{color:var(--blue)}.packet summary .kicker{display:block;font-family:var(--font-sans),sans-serif}.packet summary>span:last-child{color:var(--muted);font-family:var(--font-sans),sans-serif;font-size:13px}.packet .prose{margin:0 0 30px;padding-top:6px}.lesson-nav{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px;margin-top:36px}.lesson-nav a{display:block;min-height:92px;padding:14px;border:1px solid var(--line);font-family:var(--font-serif),Georgia,serif;font-size:19px;text-decoration:none}.lesson-nav a:last-of-type{text-align:right}.lesson-nav a:hover{color:var(--blue)}.lesson-nav a span{display:block;margin-bottom:8px;color:var(--muted);font-family:var(--font-sans),sans-serif;font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}.passport{display:grid;grid-template-columns:auto 1fr;grid-gap:16px 34px;gap:16px 34px;margin-top:34px;padding:20px;border:1px solid var(--line);background:var(--card)}.passport strong{font-family:var(--font-serif),Georgia,serif;font-size:42px;font-weight:500}.passport strong span{color:var(--muted);font-family:var(--font-sans),sans-serif;font-size:14px}.passport-skills{display:flex;justify-content:flex-end;align-items:flex-end;gap:10px}.passport-skills span{padding:6px 8px;border:1px solid var(--line);font-size:12px;text-transform:uppercase;letter-spacing:.06em}.passport-skills b{color:var(--blue)}.passport-track{grid-column:1/-1;display:grid;grid-template-columns:repeat(10,1fr);grid-gap:5px;gap:5px}.passport-track i{height:6px;background:rgba(28,20,14,.15)}.passport-track i.is-filled{background:var(--good)}.course-section-title{margin-top:0}.home-hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);grid-gap:28px;gap:28px;align-items:end}.home-hero .passport{margin-top:0;grid-template-columns:1fr}.home-hero .passport-skills{justify-content:flex-start;flex-wrap:wrap}.continue-card{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:18px;padding:16px 18px;color:var(--paper);background:var(--ink);text-decoration:none}.continue-card strong{display:block;font-family:var(--font-serif),Georgia,serif;font-size:26px;font-weight:500}.continue-card .kicker{color:#d7c8b4}.continue-card .path-go{color:var(--paper)}.home-block{margin-top:36px}.lesson-grid,.start-grid{display:grid;grid-gap:12px;gap:12px;margin:16px 0 0;padding:0;list-style:none}.start-grid{grid-template-columns:repeat(3,1fr)}.lesson-grid{grid-template-columns:1fr 1fr}.path-card{display:flex;flex-direction:column;min-height:100%;padding:16px;border:1px solid var(--line);background:var(--card);text-decoration:none}.path-card:hover{background:#fffdf8}.path-card:hover h2{color:var(--blue)}.path-card h2{margin:8px 0;font-size:24px;line-height:1.15}.path-card p{margin:0;color:var(--muted)}.path-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.path-num{font-family:var(--font-serif),Georgia,serif;font-size:28px;line-height:1;color:var(--blue)}.path-foot{display:grid;grid-gap:8px;gap:8px;margin-top:auto;padding-top:16px}.path-meta{display:block;color:var(--ink);font-size:13px;font-weight:600}.path-go{display:inline-block;margin-top:auto;padding-top:16px;color:var(--blue);font-size:14px;font-weight:600}.path-foot .path-go{margin-top:0;padding-top:0}.path-card-quiet h2{margin-top:0}.simple{width:min(640px,calc(100% - 32px))}.lesson-screen{width:100%;min-height:100dvh;margin:0;padding:24px 40px 32px;display:flex;flex-direction:column}.lesson-screen .bar{margin-bottom:0}.lesson-body{width:min(760px,100%);gap:28px;padding-top:28px}.lesson-body,.lesson-side{display:flex;flex-direction:column}.lesson-side{padding:18px 20px;background:#eff6ff;border:1px solid #dbeafe;border-radius:12px}.lesson-read>.kicker,.lesson-side .kicker{color:var(--blue)}.lesson-read{width:min(1100px,100%);padding-top:28px}.sheet section{margin-top:36px}.sheet h2{margin:0 0 10px;padding-left:12px;border-left:4px solid var(--blue);font-size:clamp(26px,3vw,34px)}.sheet h3{margin:22px 0 8px;font-family:var(--font-sans),"Public Sans",sans-serif;font-size:15px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--blue)}.sheet p{margin:0 0 12px;max-width:46rem;overflow-wrap:anywhere}.table-wrap{overflow-x:auto;margin:12px 0 4px}.data-table{width:100%;min-width:880px;border-collapse:collapse;font-size:15px;line-height:1.45}.data-table td,.data-table th{border:1px solid var(--line);padding:10px 12px;vertical-align:top;text-align:left}.data-table thead th{background:#eff6ff;border-color:#dbeafe;font-weight:600}.data-table tbody th{font-weight:600;background:#fbf6ee}.fill-list{margin:0 0 12px;padding-left:18px}.fill-list li{margin:0 0 6px}.fill-list li:last-child{margin-bottom:0}.letters{list-style:upper-alpha}.blank{display:inline-block;min-width:4.5em;border-bottom:1px solid var(--blue);color:transparent;line-height:1}.answer-key{margin-top:8px;color:var(--muted)}.excerpt{margin:8px 0 16px;padding:12px 14px;border-left:3px solid var(--blue);background:#eff6ff}.match-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:28px;gap:28px;align-items:start}.gap{display:inline-flex;flex-direction:column;gap:4px;min-width:8rem}.gap-input{width:100%;min-height:40px;box-sizing:border-box;border:2px dashed #cfcfcf;border-radius:8px;background:#fcfcfc;color:inherit;font:inherit;padding:5px 10px}.gap-input:focus{outline:none;border-color:var(--blue);background:#fff}.gap-input.is-filled{border-style:solid;border-color:var(--blue);background:#eff6ff}.gap-input.is-right{background:var(--good-bg);border-bottom-color:var(--good)}.gap-input.is-wrong{background:var(--bad-bg);border-bottom-color:var(--bad)}.gap-hint{color:var(--muted);font-size:13px}.chip-bank{display:grid;grid-gap:8px;gap:8px;margin:0 0 12px}.chip{display:block;width:100%;margin:0 0 8px;padding:8px 10px;text-align:left;background:#fff;color:inherit;border:1px solid var(--line);border-radius:8px;font:inherit;cursor:pointer}.chip.is-held{border-color:var(--blue);background:#eff6ff}.chip.is-right{border-color:var(--good);background:var(--good-bg)}.chip.is-wrong{border-color:var(--bad);background:var(--bad-bg)}.place-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px}.place-board-four{grid-template-columns:repeat(4,minmax(180px,1fr));min-width:760px}.place-col{display:flex;flex-direction:column;min-height:120px;padding:10px;border:1px solid #eadfce;border-radius:12px;background:#fbf6ee}.place-col.is-ready{border-color:var(--blue)}.place-col .pair-slot:first-of-type{margin-top:8px}.place-col strong{display:block;margin-bottom:6px;font-size:14px}.check-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:14px}.check-row .fine{margin:0}.pair-row{margin-bottom:12px;padding:10px;border:1px solid #ededed;border-radius:12px;background:#fcfcfc}.pair-row strong{display:block;margin-bottom:4px}.pair-choice{margin:6px 0 0;padding:8px 10px;border-radius:8px;background:#f7f7f7}.pair-choice.is-right{background:var(--good-bg)}.pair-choice.is-wrong{background:var(--bad-bg)}.pair-choice .text-btn{margin-left:8px}.pair-slot{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:44px;box-sizing:border-box;margin-top:8px;padding:10px 12px;border:2px dashed #cfcfcf;border-radius:8px;background:#fcfcfc;color:var(--muted);font:inherit;text-align:left;cursor:default}.pair-slot.is-ready{border-color:var(--blue);background:#f5f8ff;color:var(--blue);cursor:pointer}.pair-slot.is-filled{border-style:solid;border-color:var(--blue);background:#eff6ff;color:var(--ink);cursor:pointer}.pair-slot.is-filled svg{flex:none;color:var(--muted)}.pair-slot.is-right{border-color:var(--good);background:var(--good-bg)}.pair-slot.is-wrong{border-color:var(--bad);background:var(--bad-bg);color:var(--ink)}.pair-row .gap-hint{display:block;margin-top:6px}.move-board{list-style:none;display:grid;grid-gap:12px;gap:12px;margin:0;padding:0;counter-reset:step}.move-board li{position:relative;display:flex;flex-direction:column;min-height:140px;padding:18px 18px 18px 64px;border:1px solid #eadfce;border-radius:12px;background:#fbf6ee;counter-increment:step}.move-board li:before{content:counter(step);position:absolute;top:18px;left:16px;width:32px;height:32px;display:grid;place-items:center;border-radius:999px;background:var(--blue);color:#fff;font-family:var(--font-sans),"Public Sans",sans-serif;font-size:15px;font-weight:700}.move-board strong{font-family:var(--font-serif),Georgia,serif;font-size:26px;font-weight:500}.move-board p{margin:8px 0 0;color:var(--muted)}.move-board q{display:block;margin-top:16px;padding:10px 12px;background:#fff;border-left:3px solid var(--blue);border-radius:0 8px 8px 0}.lesson-game{margin-top:22px;padding:16px;border:1px solid var(--line);border-radius:12px;background:#fff}.lesson-game-line{margin:8px 0 0;font-family:var(--font-serif),Georgia,serif;font-size:22px;line-height:1.35}.lesson-game-options{display:grid;grid-gap:8px;gap:8px;margin-top:14px}.lesson-game-option{padding:12px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);text-align:left}.lesson-game-option.is-right{border-color:var(--good);background:var(--good-bg)}.lesson-game-option.is-wrong{border-color:var(--bad);background:var(--bad-bg)}.lesson-game-option:disabled{cursor:default}.lesson-game-why{margin:12px 0 0;color:var(--muted)}.home-screen{width:100%;min-height:100dvh;margin:0;padding:24px 40px 28px;display:flex;flex-direction:column}.home-screen .bar{margin-bottom:0}.board-grid{flex:1 1;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-auto-rows:1fr;grid-gap:12px;gap:12px;margin-top:18px}.board-grid form{display:flex;margin:0;min-height:0}.board-card{display:flex;align-items:flex-end;width:100%;height:100%;min-height:112px;padding:16px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);text-align:left;text-decoration:none;font-family:var(--font-serif),Georgia,serif;font-size:26px;font-weight:500;line-height:1.1}.board-card.is-start{background:#eff6ff;border-color:#dbeafe}.board-card.is-lesson{flex-direction:column;align-items:flex-start;justify-content:space-between;background:#fbf6ee;border-color:#eadfce}.board-done,.board-here{display:inline-flex;align-items:center;gap:6px;min-height:1.2em;font-family:var(--font-sans),"Avenir Next","Segoe UI",sans-serif;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase}.board-done{color:var(--good)}.board-here{color:var(--blue)}.board-card.is-ref{background:#f3f7f4;border-color:#d7e3da}.board-card.is-current{border-color:var(--blue);border-width:2px;box-shadow:0 6px 18px rgba(37,99,235,.14)}.board-card.is-lesson.is-done{background:#fbf6ee}.board-card.is-lesson:not(.is-done):not(.is-current){background:#fdfaf5}.board-key{list-style:none;display:flex;flex-wrap:wrap;gap:10px 20px;margin:18px 0 0;padding:16px 0 0;border-top:1px solid var(--line);font-size:14px;color:var(--muted)}.board-key li{display:inline-flex;align-items:center;gap:8px}.board-swatch{display:block;width:14px;height:14px;border-radius:4px;border:1px solid var(--line);background:#fff}.board-swatch.is-start{background:#eff6ff;border-color:#dbeafe}.board-swatch.is-lesson{background:#fbf6ee;border-color:#eadfce}.board-swatch.is-ref{background:#f3f7f4;border-color:#d7e3da}.save-ring{flex:none;display:flex}.board-card:hover{border-color:var(--blue)}.board-grid-two{flex:none;grid-template-columns:repeat(2,minmax(0,220px));grid-auto-rows:140px;margin-top:28px}.home-body{flex:1 1;display:grid;grid-template-columns:minmax(300px,420px) minmax(0,1fr);grid-gap:64px;gap:64px;align-items:stretch;padding-top:32px}.home-side{display:flex;flex-direction:column;justify-content:center}.home-screen .plain-list{margin:0;display:flex;flex-direction:column}.home-screen .plain-list li{flex:1 1;display:flex}.home-screen .plain-list a{width:100%;align-items:center;padding:0 8px;font-size:22px}.next-btn{margin-top:22px;padding:14px 18px;font-size:18px}.plain-list{list-style:none;margin:28px 0 0;padding:0;border-top:1px solid var(--line)}.plain-list a{display:flex;align-items:baseline;gap:12px;padding:13px 4px;border-bottom:1px solid var(--line);text-decoration:none}.plain-list a.is-current,.plain-list a.is-current .num{color:var(--blue);font-weight:600}.plain-list .num{width:28px;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.done-label,.plain-list .done{margin-left:auto;color:var(--good);font-size:13px;font-weight:600}.plain-list .again{margin-left:auto;color:var(--amber);font-size:13px;font-weight:600}.done-label{margin-left:0;align-self:center}.class-roll{display:grid;grid-gap:10px;gap:10px;list-style:none;width:100%;margin:0;padding:0}.class-person{padding:14px;border:1px solid var(--line);border-radius:12px;background:#fff}.class-person-body{margin-top:12px}.class-access-actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.class-access-actions .btn,.class-access-actions .btn-ghost{padding:8px 12px}.class-danger{color:var(--bad)}.class-access-actions button:disabled,.class-danger:disabled{opacity:.4;cursor:not-allowed}.class-head{display:flex;flex-wrap:wrap;gap:12px 18px;align-items:center;justify-content:space-between;width:100%;padding:0;background:transparent;border:0;text-align:left}.class-person-name{display:grid;grid-gap:5px;gap:5px}.class-email{font-weight:600;word-break:break-all}.class-status{width:-moz-fit-content;width:fit-content;font-size:12px;color:var(--muted)}.class-status.is-allowed{color:var(--good)}.class-status.is-pending{color:var(--amber)}.class-status.is-denied{color:var(--bad)}.class-marks{display:flex;flex-wrap:wrap;gap:6px}.class-mark{width:32px;height:32px;display:grid;place-items:center;border:1px solid var(--line);border-radius:8px;font-size:13px;color:var(--muted)}.class-mark.is-done{background:var(--good-bg);color:var(--good);border-color:var(--good)}.class-detail{list-style:none;margin:12px 0 0;padding:0}.class-detail>li{padding:10px 0;border-top:1px solid var(--line)}.class-detail p{margin:4px 0 0;color:var(--muted)}.class-lesson summary{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 18px;cursor:pointer;font-weight:600}.class-lesson summary>span:last-child{color:var(--muted);font-weight:400}.class-result{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:12px}.class-responses{list-style:none;margin:14px 0 0;padding:0}.class-responses li{margin-top:10px;padding:14px;border:1px solid var(--line);border-radius:8px;background:#fff}.class-responses blockquote{margin:6px 0 12px;padding-left:12px;border-left:3px solid var(--blue)}.class-responses .kind{margin-top:12px;color:var(--ink)}.class-responses li>.kind:first-child{margin-top:0}.quiet-links{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:28px;font-size:14px}.quiet-links a{color:var(--muted);text-decoration:none}.quiet-links a:hover{color:var(--blue)}.move-list{list-style:none;margin:28px 0 0;padding:0}.move-list li{padding:14px 0;border-top:1px solid var(--line)}.move-list strong{display:block}.move-list p{margin:4px 0 0;color:var(--muted)}.move-list q{display:block;margin-top:6px}.after-line{margin:0;padding:14px 16px;border:1px solid #d7e3da;border-radius:12px;background:#f3f7f4;color:var(--ink)}.author-card{margin-top:36px;border-top:1px solid var(--line)}.author-card summary{padding:16px 0;cursor:pointer;font-size:16px}.author-card p{max-width:42rem;margin:0 0 12px}.step-rail{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);grid-gap:10px;gap:10px;margin:18px 0 0;padding:0}.step-rail a{display:flex;align-items:center;gap:10px;min-height:64px;padding:12px;border:1px solid var(--line);background:var(--card);text-decoration:none;font-weight:600}.step-rail a:hover,.step-rail b{color:var(--blue)}.step-rail b{font-family:var(--font-serif),Georgia,serif;font-size:24px;font-weight:500}.room-classroom,.room-interview,.room-library,.room-meeting,.room-office,.room-staffroom{background:#c8bda9}.practice{margin-top:22px;display:grid;grid-gap:14px;gap:14px}.practice-head{display:flex;align-items:center;gap:16px}.practice-bar{flex:1 1;height:6px;border-radius:999px;background:var(--line);overflow:hidden}.practice-bar span{display:block;height:100%;border-radius:999px;background:var(--blue);transition:width .2s ease}.practice-count-line{margin:0;font-size:14px;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.practice-body{padding:4px 18px 18px}.practice-head .kicker{margin:0;color:var(--blue)}.practice-count{margin:0;color:var(--muted)}.practice-task{padding:0;border:1px solid var(--line);border-radius:12px;background:#fff}.practice-task:has(>details[open]){border-color:var(--blue);border-left-width:3px;box-shadow:0 6px 20px rgba(37,99,235,.1)}.practice-title{flex:1 1;min-width:0;margin:0;font-family:var(--font-serif),Georgia,serif;font-weight:500;letter-spacing:-.03em;font-size:21px;line-height:1.2}.practice-instruction{margin:8px 0 0}.practice-note{margin:12px 0 0;padding:10px 12px;background:#f7f7f7;border-left:3px solid var(--blue);border-radius:0 8px 8px 0;color:var(--muted)}.practice-lines{margin:16px 0 0;padding-left:22px;display:grid;grid-gap:16px;gap:16px}.practice-lines>li{margin:0}.practice-lines .gap-hint{display:block;margin:6px 0 0}.gap-line{margin:0;line-height:2.2}.gap-picks{display:inline-flex;flex-wrap:wrap;gap:6px;vertical-align:middle}.gap-pick{padding:5px 10px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink)}.gap-pick.is-held{border-color:var(--blue);background:#eff6ff}.gap-pick.is-right{border-color:var(--good);background:var(--good-bg)}.gap-pick.is-wrong{border-color:var(--bad);background:var(--bad-bg)}.practice-quiz{margin:16px 0 0;gap:0;max-width:none}.practice-quiz>li{padding:16px 0 0;border:0;border-top:1px solid var(--line)}.practice-quiz>li:first-child{padding-top:0;border-top:0}.practice-quiz .q-prompt{font-size:20px}.practice-quiz .opt{border-radius:8px}.practice-prompt{margin:0;font-size:18px}.practice-sample{margin:10px 0 0;padding:10px 12px;background:var(--good-bg);border-radius:8px}.practice-task .match-grid{margin-top:16px;gap:20px}.practice-task h3{margin:0 0 8px;font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.quiz-head{display:flex;align-items:center;gap:14px;margin:28px 0 14px;max-width:44rem}.quiz-bar{flex:1 1;height:6px;border-radius:999px;background:var(--line);overflow:hidden}.quiz-bar-fill{display:block;height:100%;border-radius:999px;background:var(--blue);transition:width .2s ease}.quiz-step{margin:0;font-size:14px;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.quiz-card{max-width:44rem;padding:20px;border:1px solid var(--line);border-radius:12px;background:#fff}.quiz-card .q-prompt{margin-bottom:14px}.quiz-card .actions{margin-top:18px}.quiz-why{margin:14px 0 0;padding-top:12px;border-top:1px solid var(--line);color:var(--muted)}.quiz-delta{margin:10px 0 0;max-width:44rem}.quiz-compare{margin:0;font-size:18px}.quiz-delta-bar{display:flex;height:10px;margin-top:12px;border-radius:999px;background:var(--line);overflow:hidden}.quiz-delta-before{display:block;height:100%;background:var(--muted)}.quiz-delta-gain{display:block;height:100%;background:var(--good)}.quiz-delta-loss{display:block;height:100%;background:var(--bad)}.quiz-delta .fine{margin-top:8px}.class-change{font-weight:600}.class-change.is-up{color:var(--good)}.class-change.is-down{color:var(--bad)}.quiz-missed{list-style:none;margin:16px 0 0;padding:0;display:grid;grid-gap:10px;gap:10px;max-width:44rem}.quiz-missed>li{margin:0}.quiz-missed details{border:1px solid var(--line);border-radius:12px;background:#fff;padding:14px 16px}.quiz-missed summary{cursor:pointer;font-family:var(--font-serif),Georgia,serif;font-size:19px;line-height:1.3}.quiz-missed summary::marker{color:var(--blue)}.quiz-missed-line{margin:12px 0 0;padding:10px 12px;border-radius:8px;background:#f7f7f7}.quiz-missed-line.is-right{background:var(--good-bg)}.quiz-missed-line .kind{display:block}.class-tests{display:flex;flex-wrap:wrap;gap:10px 28px;margin:10px 0 0;padding:12px 14px;border:1px solid var(--line);border-radius:8px;background:#fff}.class-tests p{margin:0;color:var(--ink)}.class-tests .kind{display:block;color:var(--muted)}.class-practice{margin-top:14px}.class-practice>.kind{color:var(--ink)}.class-practice>p{margin:4px 0 0}.class-task{margin-top:10px;padding:14px;border:1px solid var(--line);border-radius:8px;background:#fff}.class-task>.kind{color:var(--blue)}.class-answer{margin-top:12px}.class-answer:first-of-type{margin-top:8px}.class-prompt{margin:0;color:var(--muted)}.class-practice blockquote{margin:6px 0 0;padding:8px 12px;border-left:3px solid var(--line);border-radius:0 8px 8px 0;background:#f7f7f7}.class-practice blockquote.is-right{border-left-color:var(--good);background:var(--good-bg)}.class-practice blockquote.is-wrong{border-left-color:var(--bad);background:var(--bad-bg)}.class-sample{margin:6px 0 0;font-size:14px;color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap}.practice-task>details>summary{display:flex;align-items:center;gap:14px;min-height:56px;box-sizing:border-box;padding:12px 16px;border-radius:11px;cursor:pointer;list-style:none}.practice-task>details[open]>summary{border-bottom:1px solid #dbe6fb;border-radius:11px 11px 0 0;background:#f3f8ff}.practice-task>details>summary::-webkit-details-marker{display:none}.practice-task>details>summary::marker{content:""}.practice-glyph{flex:none;display:flex;color:var(--muted)}.practice-task>details[open]>summary .practice-glyph{color:var(--blue)}.practice-count{flex:none;font-size:14px;color:#9ca3af;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.practice-ring{flex:none;display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:999px;border:1px dashed #cfcfcf;background:#fff}.practice-ring.is-started{border:1px solid var(--blue)}.practice-ring.is-done{border:1px solid var(--good);background:var(--good-bg);color:var(--good)}.practice-dot{display:block;width:9px;height:9px;border-radius:999px;background:var(--blue)}.practice-chev{flex:none;display:flex;color:#c4c4c4;transition:transform .14s ease,color .12s ease}.practice-task>details[open]>summary .practice-chev{transform:rotate(90deg);color:var(--blue)}.board-progress{display:flex;align-items:center;gap:14px;margin-top:18px}.board-progress .quiz-step{white-space:nowrap}@media (hover:hover){.btn:hover:not(:disabled):not(.is-saved){background:#1d4ed8}.btn-ghost:hover{border-color:var(--ink)}.text-btn:hover{color:var(--ink)}.opt:not(:disabled):not(.is-right):not(.is-wrong):hover{border-color:var(--blue);background:#f5f8ff}.chip:not(.is-held):not(.is-right):not(.is-wrong):hover,.gap-pick:not(.is-held):not(.is-right):not(.is-wrong):hover,.order-move:not(:disabled):hover{border-color:var(--blue)}.spot-word:not(.is-held):not(.is-right):not(.is-wrong):hover{-webkit-text-decoration-color:var(--blue);text-decoration-color:var(--blue);background:#f5f8ff}.lesson-game-option:not(:disabled):not(.is-right):not(.is-wrong):hover{border-color:var(--blue)}.class-head:hover .class-email,.class-lesson summary:hover>span:first-child,.packet summary:hover,.practice-task>details>summary:hover .practice-chev,.practice-task>details>summary:hover .practice-title,.quiz-missed summary:hover{color:var(--blue)}.link-list a:hover{border-color:var(--blue)}.gloss div:hover{background:#fbfbfb}.pair-row .text-btn:hover{color:var(--blue)}}.board-card,.btn,.btn-ghost,.chip,.gap-pick,.lesson-game-option,.opt{transition:border-color .12s ease,background-color .12s ease,color .12s ease}.btn:active:not(:disabled),.chip:active,.gap-pick:active,.lesson-game-option:not(:disabled):active,.opt:not(:disabled):active,.order-move:not(:disabled):active{transform:translateY(1px)}.order-end{margin:12px 0 6px;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.order-end:last-of-type{margin:6px 0 0}.order-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:8px;gap:8px}.order-row{display:flex;align-items:center;gap:12px;margin:0;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:#fff}.order-row.is-right{border-color:var(--good);background:var(--good-bg)}.order-row.is-wrong{border-color:var(--bad);background:var(--bad-bg)}.order-rank{flex:none;width:24px;font-family:var(--font-serif),Georgia,serif;font-size:18px;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.order-label{flex:1 1;min-width:0}.order-label .gap-hint{display:block;margin-top:4px}.order-moves{flex:none;display:flex;gap:6px}.order-move{width:36px;height:36px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);font-size:15px;line-height:1}.order-move:disabled{opacity:.3;cursor:not-allowed}.order-answer{margin:12px 0 0;padding-left:22px;color:var(--muted);font-size:14px}.order-answer li{margin:0 0 4px}.spot-line{margin:0;font-size:19px;line-height:2}.spot-word{padding:2px 3px;border:0;border-radius:4px;background:transparent;color:inherit;font:inherit;-webkit-text-decoration:underline dotted var(--line);text-decoration:underline dotted var(--line);text-underline-offset:4px}.spot-word.is-held{background:#eff6ff;-webkit-text-decoration-color:var(--blue);text-decoration-color:var(--blue)}.spot-word.is-right{background:var(--good-bg);-webkit-text-decoration-color:var(--good);text-decoration-color:var(--good)}.spot-word.is-wrong{background:var(--bad-bg);-webkit-text-decoration-color:var(--bad);text-decoration-color:var(--bad)}.spot-word.is-missed{outline:1px dashed var(--good);outline-offset:1px}.state-screen{position:relative;max-width:40rem;padding:72px 0 40px}.state-backdrop{position:absolute;right:0;top:40px;z-index:0;font-family:var(--font-serif),Georgia,serif;font-weight:500;font-size:180px;line-height:1;letter-spacing:-.04em;color:#eef3fd;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.state-screen>:not(.state-backdrop){position:relative;z-index:1}.state-tile{display:flex;align-items:center;justify-content:center;width:52px;height:52px;margin-bottom:18px;border-radius:12px;background:#eff6ff;color:var(--blue)}.state-screen.is-warn .state-tile{background:var(--amber-bg);color:var(--amber)}.state-screen.is-bad .state-tile{background:var(--bad-bg);color:var(--bad)}.state-screen .state-kicker{color:var(--blue)}.state-screen.is-warn .state-kicker{color:var(--amber)}.state-screen.is-bad .state-kicker{color:var(--bad)}.state-title{max-width:16em}.state-actions{margin-top:26px}.class-skeleton{gap:12px}.skeleton-line{display:block;width:60%;height:12px;border-radius:4px;background:#eef0f3;animation:skeleton-pulse 1.4s ease-in-out infinite}.skeleton-line.is-title{width:34%;height:34px;border-radius:6px}.skeleton-line.is-lede{width:52%;height:14px}.skeleton-line.is-short{width:24%}.skeleton-row{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:56px;padding:0 16px;border:1px solid #ededed;border-radius:12px}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.55}}@media (max-width:720px){.bar{align-items:center;flex-wrap:wrap;gap:8px 12px}.bar form{display:flex;margin:0}.bar-links{flex-wrap:wrap;justify-content:flex-end;min-width:0}.bar-title,.topbar-meta{min-width:0;overflow-wrap:anywhere}.bar-title,.meter{flex:1 0 100%;min-width:0}.meter-top{flex-wrap:wrap}.meter{width:100%}h1{max-width:none}.lesson-hero,.strategy-grid{grid-template-columns:1fr}.strategy-card{min-height:auto}.strategy-card blockquote{margin-top:22px}.scenario-callout{grid-template-columns:1fr}.scenario-callout .btn{white-space:normal}.scenario-action{justify-items:start}.passport{grid-template-columns:1fr}.passport strong{font-size:32px}.passport-skills{justify-content:flex-start;align-items:center;flex-wrap:wrap}.passport-track{grid-column:1}.dialogue-line{gap:2px}.dialogue-line,.lesson-nav{grid-template-columns:1fr}.lesson-nav>span{display:none}.lesson-nav a:last-of-type{text-align:left}.home-hero,.lesson-grid,.start-grid,.step-rail{grid-template-columns:1fr}.continue-card{align-items:flex-start;flex-direction:column}.floor{width:min(1120px,calc(100% - 28px - env(safe-area-inset-left) - env(safe-area-inset-right)))}.home-screen,.lesson-screen{padding:16px max(16px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}.gate-card,.landing-block,.modal-card{padding:18px 16px}.modal-back{padding:12px;align-items:end}.match-grid{grid-template-columns:1fr;gap:8px}.place-board,.place-board-four{grid-template-columns:1fr;min-width:0}.gap{min-width:0;max-width:100%}.lesson-body{gap:20px}.home-body{grid-template-columns:1fr;gap:8px;padding-top:20px}.home-side{justify-content:flex-start}.home-screen .plain-list li{flex:none}.home-screen .plain-list a{padding:13px 4px;font-size:17px}.packet summary{flex-wrap:wrap;align-items:flex-start}.btn,.btn-ghost,.chip,.choice,.opt{min-height:44px}.btn,.btn-ghost{display:inline-flex;align-items:center;justify-content:center}.cue h2,.speak-card h2{font-size:26px}.line,.prompt,.q-prompt{font-size:20px}.score-line{font-size:32px}.table-wrap{max-width:100%;-webkit-overflow-scrolling:touch}.practice-lines{padding-left:18px}.gap-pick{min-height:44px;padding:8px 12px}.gap-line{line-height:2.4}.practice-quiz .q-prompt{font-size:19px}.quiz-card{padding:16px}.quiz-missed summary{font-size:18px}.class-tests{gap:8px 18px}.board-progress{gap:10px}.order-move{width:44px;height:44px}.order-row{gap:8px;padding:8px 10px}.spot-line{font-size:18px;line-height:2.2}.state-screen{padding-top:40px}.state-backdrop{font-size:110px}.bar .mark,.bar-links a,.bar-links button,.quiet-links a{min-height:44px;display:inline-flex;align-items:center}.gloss-field{min-height:44px}.practice-task>details>summary{gap:10px;padding:10px 12px}.practice-body{padding:4px 14px 16px}.landing-figures,.link-list{grid-template-columns:1fr}.landing-figures{gap:18px}}@media (max-width:1100px){.board-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:640px){.board-grid,.board-grid-two{grid-template-columns:repeat(2,minmax(0,1fr))}.board-card{min-height:96px;font-size:22px}}@media (max-height:720px),(max-width:800px){.set{min-height:0;overflow:visible;display:flex;flex-direction:column}.speech{top:auto;left:auto;order:-1;max-width:none;margin:10px 10px 0}.speech,.stage{position:relative}.stage{inset:auto;height:260px;flex:none}.room-art{position:absolute;inset:0;height:100%}.set .who{top:auto;bottom:0;left:50%;width:auto;height:96%;transform:translateX(-50%)}.set .portrait{width:auto;height:100%}.set .who-tag{top:64%}.cue{position:relative;left:auto;right:auto;bottom:auto;max-height:none;overflow:visible}}@media (prefers-reduced-motion:reduce){.meter-fill{transition:none}.portrait .arm,.portrait .eyes,.portrait .figure,.portrait .mouth-open,.skeleton-line,.speech,.speech.is-talking .speech-line:after{animation:none}}.open-lines>li{position:relative}.open-field{display:flex;flex-direction:column;gap:8px}.open-field textarea{min-height:3.4em;margin-top:0;padding:10px 12px;border:2px dashed #cfcfcf;border-radius:10px;background:#fcfcfc;field-sizing:content;max-height:22em}.open-field textarea:focus{outline:none;border-color:var(--blue);background:#fff}.open-lines>li.is-written textarea{border-style:solid;border-color:#c9d8f5;background:#fff}.open-lines>li:before{content:"";position:absolute;left:-22px;top:6px;width:9px;height:9px;border-radius:999px;border:1px dashed #cfcfcf;background:#fff}.open-lines>li.is-written:before{border:0;background:var(--blue)}.open-lines{list-style:none}.open-compare{margin-top:10px;padding:12px 14px;border-radius:10px;background:var(--good-bg)}.open-compare .kind{margin:0 0 4px;color:#14532d}.open-compare p:last-child{margin:0}