@charset "UTF-8";
[hidden]{display:none!important}
.brand-mascot{width:52px;height:52px;object-fit:contain;flex-shrink:0}.desk-header{padding-top:18px;padding-bottom:18px}.header-actions{display:flex;align-items:center;gap:7px}.header-actions .menu-button{gap:8px;padding:11px 10px}.header-actions svg,.page-favorite svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.header-actions button[aria-pressed=true]{background:#53695615;border-radius:3px}.header-actions small{font-size:9px;padding:2px 4px;border-radius:3px;background:#a2633f22}.lamp{z-index:25}.lamp-caption{z-index:80;left:auto;right:55px;bottom:22px;transform:translateY(4px) rotate(-7deg);border:1px solid var(--line);box-shadow:0 6px 25px #0003}.lamp:hover .lamp-caption,.lamp:focus-visible .lamp-caption{transform:translateY(0) rotate(-7deg)}
.cover-title{font-size:48px;letter-spacing:4px;line-height:1.45;margin-bottom:15px}.cover-page .page-top{margin-bottom:23px}.cover-subtitle{font-size:23px;line-height:1.6;letter-spacing:2px;color:#90583e}.cover-mascot-row{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:0;margin-top:6px}.cover-caption{font-size:11px;letter-spacing:1px;margin:0;flex-shrink:0}.cover-mascot{width:164px;height:164px;object-fit:contain;margin-right:-12px}.cover-edition{margin-bottom:0}.cover-page .page-foot{margin-top:0}.page-favorite{position:absolute;right:30px;top:32px;padding:0 4px;width:27px;height:27px;display:grid;place-items:center}.left.lesson-page .page-top{padding-right:28px}.page-favorite[aria-pressed=true]{color:#a87535}.page-favorite[aria-pressed=true] svg{fill:#bc98584a}.page-favorite svg{width:20px;height:20px}.interactive-area{min-height:0;flex:1;display:flex;flex-direction:column}.demonstration{display:flex;min-height:0;flex-direction:column;flex:1}.demonstration .diagram-wrap{flex:0 1 auto}.replay-demo{font:10px var(--sans);color:var(--muted);padding:7px 0 7px 12px;white-space:nowrap}.exercise-entry{width:100%;text-align:left;padding-left:0;padding-right:0;transition:color .15s;background:none}.exercise-entry:hover{color:#986347}.exercise-copy{display:block;font-size:12px;line-height:1.8}.exercise-entry strong{font-size:11px}.practice-host{overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;padding-right:3px;margin-right:-3px}.practice-host:has(.book-practice){flex:1}.book-practice{flex-shrink:0;min-height:min-content}.practice-heading{position:relative}.practice-actions{padding-bottom:3px}.film-thumbnail{float:right;width:94px;margin:3px 0 5px 13px;padding:0;background:#e5decc;line-height:1;overflow:hidden;border:1px solid var(--line)}.film-thumbnail img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}.film-thumbnail span{display:block;padding:5px 3px;font-size:8px;letter-spacing:0;color:#465343}.film-example p{font-size:11px}.film-example:after{content:"";display:table;clear:both}.film-dialog{width:min(920px,calc(100% - 24px));padding:28px 34px}.film-dialog h2{font-size:25px}.film-frame-large{display:block;width:100%;height:auto;aspect-ratio:16/9;border:1px solid var(--line)}.film-dialog .frame-credit{font-size:10px;color:var(--muted);margin:9px 0 16px}.film-dialog p{font-size:13px}.film-dialog .frame-note{font-size:11px;color:var(--muted);border-top:1px solid var(--line);padding-top:13px}
.collection-bar{display:flex;justify-content:space-between;align-items:center;margin:-26px 8px 10px;font-size:11px;color:var(--ink);gap:10px}.collection-bar button{font-size:10px;border-bottom:1px solid var(--muted);padding:5px 0}.collection-mascot{display:block;width:210px;height:210px;object-fit:contain;margin:auto}.collection-return{border:1px solid var(--line);padding:13px 18px;align-self:flex-start;font-size:12px;margin:18px 0}.collection-cover .lesson-body{margin-top:20px}.ranking-rule{font-size:12px!important;color:var(--muted)}.personal-score{display:flex;gap:22px;align-items:baseline;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:17px 0;margin:24px 0;font-size:11px}.personal-score strong{font:32px Georgia,serif;margin-right:4px}.ranking-list{list-style:none;margin:0;padding:0}.ranking-list li{display:flex;align-items:center;gap:20px;border-bottom:1px solid var(--line);padding:15px 4px;font-size:13px}.rank-position{font:20px Georgia,serif;width:30px;color:var(--muted)}.rank-name{flex:1;overflow-wrap:anywhere}.ranking-list strong{font:20px Georgia,serif}.ranking-list small{font:10px var(--sans)}.ranking-empty{text-align:center;padding:10px 0 24px}.ranking-empty img{width:125px;height:125px;object-fit:contain}.ranking-empty p{font-size:13px;margin:9px 0}.ranking-empty small{font-size:10px;color:var(--muted)}.ranking-footer{display:flex;gap:24px;align-items:center;border-top:1px solid var(--line);padding-top:13px}.ranking-footer p{font-size:10px;flex:1;color:var(--muted)}.ranking-footer button{font-size:11px;flex-shrink:0;padding:8px 0}.night .cover-subtitle{color:#dbad83}
@media(min-width:1500px) and (min-height:950px){.cover-title{font-size:55px}.cover-mascot{width:180px;height:180px}.page-favorite{top:38px;right:37px}}
@media(max-height:820px) and (min-width:901px){.cover-title{font-size:41px;line-height:1.35}.cover-subtitle{font-size:21px}.cover-mascot{width:140px;height:140px}.cover-page .page-top{margin-bottom:22px}.page-favorite{top:24px;right:24px}.exercise-copy{font-size:11px}.film-example p{font-size:10px}.film-thumbnail{width:80px}.practice-heading h3{font-size:21px}.practice-question{font-size:13px}.practice-heading{margin-bottom:10px}.practice-form{gap:9px}.practice-option-inner{padding-top:8px;padding-bottom:8px}}
@media(max-width:900px){.header-actions{gap:0}.header-actions .menu-button{gap:5px;padding:10px 8px;font-size:11px}.wordmark{font-size:11px;letter-spacing:.8px}.brand-mascot{width:43px;height:43px}.wordmark small{font-size:6px}.cover-title{font-size:37px;letter-spacing:2px}.cover-subtitle{font-size:20px}.cover-mascot-row{flex-wrap:wrap}.cover-mascot{width:135px;height:135px;margin-left:auto;margin-top:-25px}.cover-caption{font-size:10px}.page-favorite{top:26px;right:17px}.left.lesson-page .page-top span:last-child{display:none}.film-thumbnail{width:74px;margin-left:8px}.film-example p{font-size:10px}.exercise-copy{font-size:11px}.lamp-caption{display:block}.lamp .lamp-caption{right:30px;bottom:15px}}
@media(max-width:620px){.desk-header{padding:14px 16px;align-items:flex-start;gap:10px;flex-direction:column}.wordmark{font-size:12px}.brand-mascot{width:44px;height:44px}.wordmark small{font-size:6px}.header-actions{align-self:flex-start;margin-left:3px;gap:6px}.header-actions .menu-button{font-size:10px;padding:9px 7px;gap:5px}.header-actions svg{width:16px;height:16px}.lamp{top:85px;right:14px;width:86px;height:103px}.reading-room{margin-top:49px}.lamp .lamp-caption{display:block;font-size:11px;right:15px;bottom:10px}.lamp-caption small{font-size:9px}.cover-title{font-size:46px;letter-spacing:3px}.cover-subtitle{font-size:22px}.cover-mascot-row{flex-wrap:nowrap}.cover-mascot{width:145px;height:145px;margin:0 -12px 0 0}.cover-page .page-foot{margin-top:20px}.page-favorite{top:24px;right:20px}.left.lesson-page .page-top span:last-child{display:block;font-size:7px}.film-thumbnail{width:90px}.film-example p{font-size:12px}.interactive-area{min-height:0}.demonstration .diagram-wrap{margin:5px 0 15px}.exercise-copy{font-size:12px}.practice-host{overflow:visible;margin:0;padding:0;min-height:460px}.book-practice{min-height:460px}.film-dialog{padding:28px 20px}.film-dialog h2{font-size:23px}.collection-bar{margin-top:-28px;font-size:10px}.collection-mascot{width:200px;height:200px}.personal-score{gap:12px;font-size:10px}.ranking-list li{gap:12px}.ranking-footer{gap:12px}.collection-cover .page-foot{margin-top:auto}}
@media(prefers-reduced-motion:reduce){.lamp-caption,.exercise-entry{transition:none}}

.study-sync{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:-10px 0 20px;font-size:10px;color:var(--muted)}.study-sync button{font-size:10px;flex-shrink:0;padding:7px 0}
@media(min-width:621px) and (max-width:900px){:root{--page-height:640px}.cover-mascot{width:155px;height:155px}}

.header-brand{display:flex;align-items:center;gap:12px;min-width:0}
.desktop-return{display:inline-flex;align-items:center;justify-content:center;gap:6px;flex-shrink:0;min-height:44px;padding:8px;border:1px solid var(--line);border-radius:3px;background:transparent;color:var(--ink);font-size:11px;line-height:1.4;white-space:nowrap;text-decoration:none;touch-action:manipulation;transition:background-color .18s,border-color .18s}
.desktop-return svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.desktop-return:hover{background:var(--paper);border-color:var(--muted)}
@media(max-width:620px){.header-brand{gap:8px}}
@media(prefers-reduced-motion:reduce){.desktop-return{transition:none}}
