@import url('/school/class-lessons.css');
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:1rem}body{margin:0;background:#f7f6ef;color:#182e31;font:400 16px/1.55 Pretendard,"Noto Sans",Arial,sans-serif;overflow-wrap:anywhere}h1,h2,h3,p,small,legend,button,input,select,textarea{font-family:inherit}h1{font-size:clamp(2rem,4.5vw,3.8rem);line-height:1.06;letter-spacing:-.035em;margin:.5em 0}h2{font-size:clamp(1.35rem,2.6vw,1.9rem);line-height:1.24;margin:.4em 0}h3{font-size:1.04rem;margin:1.25em 0 .35em}p{margin:.45em 0 1em}header{background:#fdfcf7;border-bottom:1px solid #ced7cd}a{color:#17514c;font-weight:650;text-underline-offset:.18em}.wrap{width:min(100% - 2.25rem,65rem);margin:auto}.top,.brand,.controls,.stage-nav,.support,footer,footer nav{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.top{min-height:4.7rem;padding:.5rem 0}.brand{font-size:1.25rem;font-weight:760;text-decoration:none;color:#153535;gap:.45rem}.crest{object-fit:contain}.hangul{font-weight:800;background:#91432c;color:white;border-radius:12px;padding:.12rem .48rem;font-size:1.6rem}.region,.eyebrow,.stage,.card small{font-weight:650;color:#615339}.top-action{margin-left:auto}.hero{padding:clamp(2rem,6vw,5rem) 0;display:grid;grid-template-columns:1.4fr 1fr;align-items:center;gap:clamp(1.5rem,6vw,5rem)}.hero>*,.sheet,.cards>*{min-width:0}.sample{padding:clamp(1.3rem,4vw,2.6rem);border:1px solid #d7bd81;background:linear-gradient(135deg,#153b3f,#235b54);color:#fff;border-radius:6px 24px 6px 6px}.sample .eyebrow{color:#f1d498}.sample blockquote{color:#fff5d9;background:#1b4446;line-height:1.5}.lead{font-size:1.13rem}.num{font-size:.88rem;color:#776942;letter-spacing:.08em}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.card,.sheet{border:1px solid #ccd4c9;background:#fffefa;border-radius:.65rem}.card{display:flex;flex-direction:column;gap:.3rem;padding:1.25rem;text-decoration:none;color:#183538}.card h3,.card p{margin:.25em 0}.card p{font-weight:400}.support,footer{justify-content:space-between;padding:1.6rem 0;gap:.9rem}.support{margin-top:1rem}footer{border-top:1px solid #c8d4cc;margin-top:2rem!important;font-size:.91rem}.controls,.stage-nav{margin:1rem 0}.stage-nav a{border:1px solid #aebdaf;border-radius:2rem;text-decoration:none;padding:.65rem 1rem}.stage-nav a[aria-current]{background:#174d47;color:white}.sheet{padding:clamp(1.2rem,4vw,2.1rem);margin:1.15rem 0}button,.button,.top-action{min-height:44px;padding:.65rem 1rem;border:1px solid #184d47;border-radius:.4rem;background:#184d47;color:white;text-decoration:none;font:650 1rem/1.35 inherit;font-family:inherit;font-size:1rem;font-weight:650;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.quiet{background:white;color:#164d45}.controls a:not(.button),.support a,footer a{display:inline-flex;align-items:center;min-height:44px}.fine,small{color:#4f625d}label{display:block;font-weight:650;margin:.55rem 0}.option{font-weight:400;display:flex;align-items:center;min-height:42px;gap:.4rem;margin:0}.option input{width:auto;min-height:0}input,select,textarea{font-size:1rem;width:100%;padding:.65rem;margin:.2rem 0;border:1px solid #95a8a0;border-radius:.35rem;background:white;color:#102e28;min-height:44px}textarea{min-height:6rem;resize:vertical}.sheet form:not(#practice){max-width:44rem}.sheet button:disabled{opacity:.65}fieldset{border:0;padding:0;margin:1.3rem 0}legend{font-weight:660}blockquote{margin:.6rem 0 1rem;padding:.8rem 1rem;background:#eef2e9;border-left:3px solid #b99c5b;font-size:1.06rem}.assignment{border-top:1px solid #c7d4cb;padding:1rem 0}.assignment summary{cursor:pointer;font-weight:700;min-height:44px}.assignment p{white-space:pre-line}.crumb{font-size:.92rem;margin:1.4rem 0}.status{min-height:1.6em}.support{border-bottom:1px solid #c8d4cc}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #936500;outline-offset:2px}@media(max-width:660px){.hero,.cards{grid-template-columns:1fr}.wrap{width:min(100% - 1.5rem,65rem)}.top{gap:.4rem}.top-action{font-size:.9rem}.hero{padding:1.5rem 0}.cards{gap:.6rem}.sheet{padding:1rem}.crest{width:35px;height:35px}.brand{font-size:1.1rem}.support,footer{align-items:flex-start}}@media print{header,footer,.crumb,.stage-nav,.controls,#practice,#room,#room-status,#shuttle-root,.sheet:has(#practice){display:none!important}body{background:white;font-size:12pt}.sheet{border:none;padding:0}.plan{break-inside:avoid}.sheet a{color:black}.wrap{width:100%}}
/* Calm visual hierarchy and generous, touch-friendly surfaces for families and teachers. */
body{background:radial-gradient(ellipse at 88% 0%,#e8efdf 0,transparent 30rem),#f8f7f1}
header{background:rgba(255,254,249,.96);border-bottom:1px solid #d8dfd2}
.top{min-height:5.25rem}.brand{letter-spacing:-.025em}.region{font-size:.86rem;letter-spacing:.015em}
.hero h1{max-width:20ch;line-height:1.14}.lead{max-width:53ch;line-height:1.7;color:#405b54}
.sample{position:relative;border-radius:18px;background:linear-gradient(145deg,#133c3b,#235b51);box-shadow:0 18px 40px #183f3020}
.sample:before{content:"";position:absolute;inset:8px;border:1px solid #e8d6a44d;border-radius:12px;pointer-events:none}
.sample>*{position:relative}.cards{align-items:stretch}.card,.sheet{border-color:#d4ded1;background:#fffefa;box-shadow:0 9px 26px #223e2d0c}
.card{border-radius:14px;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.card:hover{transform:translateY(-2px);border-color:#8cae9a;box-shadow:0 12px 28px #183f3015}
.num{font-weight:750}.top-action,button,.button{border-radius:10px}.sheet{border-radius:16px}.sheet h2{letter-spacing:-.02em}
@media(max-width:660px){.top{min-height:4.4rem}.crest{width:42px;height:42px}.hero{padding:1.8rem 0;gap:1.2rem}.hero h1{font-size:clamp(1.85rem,8vw,2.5rem)}.lead{font-size:1rem}.sample{padding:1.45rem}.card{padding:1.1rem}.card:hover{transform:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.card{transition:none}}
@media print{body{background:white}.sheet{box-shadow:none}}
.shuttle-inline-map{display:block;width:100%;height:clamp(220px,55vh,360px);border:0;border-radius:12px;margin:12px 0}
.product-intro,.screen-example{margin:2.5rem 0}.role-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.role-grid article{background:#fffefa;border:1px solid #d4ded1;border-radius:14px;padding:1.15rem}.role-grid h3{margin:.1rem 0 .5rem}.role-grid p{margin:0;color:#405b54}.screen-example{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.6fr);align-items:center;gap:1.5rem}.screen-example figure{margin:0;min-width:0}.screen-example img{display:block;max-width:100%;height:auto;border:1px solid #d4ded1;border-radius:12px;box-shadow:0 12px 30px #183f3018}.screen-example .button{margin-top:.5rem}@media(max-width:660px){.role-grid,.screen-example{grid-template-columns:1fr}.product-intro,.screen-example{margin:1.8rem 0}.screen-example{gap:1rem}}

.lesson-picker { margin: 1rem 0; }
.lesson-picker summary { width: fit-content; min-height: 44px; padding: .6rem .9rem; border: 1px solid #b9c8bb; border-radius: .6rem; background: #fffefa; color: #174d47; font-weight: 650; cursor: pointer; }
.lesson-picker nav { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,15rem),1fr)); gap: .5rem; margin-top: .65rem; }
.lesson-picker a { padding: .65rem .9rem; background: #fffefa; border: 1px solid #c9d6ca; border-radius: .6rem; text-decoration: none; }
.lesson-picker a[aria-current] { border: 2px solid #174d47; }
.lesson-picker small,.lesson-picker strong { display: block; }
.lesson-sheet .stage { margin: 0; color: #665332; }
.lesson-goal { max-width: 62ch; line-height: 1.7; color: #405b54; }
.plan blockquote { max-width: 78ch; white-space: pre-line; line-height: 1.7; }
.lesson-reference { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .8rem; margin-top: 1rem; padding-top: 1rem; border-top: 1px solid #dce3d9; }
.lesson-reference a { min-width: 0; }
#practice fieldset { min-inline-size: 0; padding-bottom: 1rem; border-bottom: 1px solid #dce3d9; }
#practice .option { border: 1px solid #d1dbd1; border-radius: .6rem; margin: .45rem 0; padding: .55rem .8rem; gap: .7rem; min-height: 46px; cursor: pointer; }
#practice .option:has(:checked) { border-color: #27645b; background: #edf4ed; }
#practice .option input { margin: 0; accent-color: #17514c; }
#practice [hidden] { display: none !important; }
#practice [data-feedback]:not(:empty), #practice-result:not(:empty) { margin: .75rem 0; padding: .7rem .9rem; border-inline-start: 3px solid #38735f; background: #eef5ee; }
#practice [data-correct="false"] [data-feedback] { border-color: #936530; background: #fbf2e4; }
@media print { .lesson-picker,.lesson-tools,.lesson-reference button,#world-install { display: none !important; } }

.band-links { display:flex; flex-wrap:wrap; gap:.55rem; margin:1rem 0; }
.band-links a { padding:.6rem 1rem; min-height:44px; border:1px solid #aabdb0; border-radius:2rem; background:#fffefa; text-decoration:none; }
.catalogue-band { margin:1.8rem 0; }
.catalogue-band > h3 { font-size:1.23rem; margin:0 0 .8rem; }

#distribute [hidden] { display:none; }
.work-state,.review-count { font-weight:680; color:#215b4f; }
.work-state { font-size:.85em; padding:.2em .6em; border-radius:.4em; background:#edf4ec; }

.screen-example figure { max-width:34rem; justify-self:center; }
.screen-example img { width:100%; }

[data-safety-collection][hidden],.safety-hidden[hidden] { display:none!important; }
.safety-summary { margin:1rem 0;padding:1rem;border:1px solid #c6d3cb;border-radius:1rem;background:#f5f8f2; }
.safety-hidden { margin:.75rem 0;padding:.75rem;border:1px dashed #829d90;border-radius:.75rem; }
.safety-tools { margin:.75rem 0;min-height:44px; }
.world-safety-dialog { box-sizing:border-box;width:min(34rem,calc(100vw - 1.5rem));max-width:calc(100vw - 1.5rem);max-height:calc(100dvh - 2rem);padding:0;border:1px solid #809789;border-radius:1rem;color:#183d34;background:#fffefa;overflow:hidden; }
.world-safety-dialog[open] { display:flex;flex-direction:column; }
.world-safety-dialog::backdrop { background:#102b32aa; }
.safety-dialog-content { padding:1.1rem;overflow:auto;overscroll-behavior:contain;min-height:0;overflow-wrap:anywhere; }
.safety-dialog-content h2 { font-size:clamp(1em,calc(4vw + .4rem),1.3em); }
.safety-dialog-content li { margin:.6rem 0; }
.safety-dialog-content button { display:block;min-height:48px;width:100%;margin:.5rem 0;white-space:normal; }
.safety-dialog-content select { width:100%;max-width:100%;font:inherit;min-height:48px; }
.safety-dialog-actions { padding:.75rem 1rem max(.75rem,env(safe-area-inset-bottom));border-top:1px solid #c6d3cb;flex-shrink:0; }
.safety-dialog-actions button { width:100%;min-height:48px; }
.safety-dialog-actions button + button { margin-top:.5rem; }
.safety-agree { display:flex;align-items:flex-start;gap:.6rem;margin:1rem 0; }

/* Private teacher/family records keep their controls and long local wording in view. */
[data-school-media]{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,26rem),1fr));gap:1rem;margin-top:1.5rem;min-width:0}
[data-school-media]>label,[data-school-media]>.notice{grid-column:1/-1}
[data-school-media]>div,[data-school-media] .panel,[data-school-media] .form{min-width:0;max-width:100%}
[data-school-media] .panel{height:100%;padding:clamp(.85rem,2vw,1.3rem);border:1px solid #c6d3cb;border-radius:14px;background:#fffdf5}
[data-school-media] .row{display:flex;align-items:center;flex-wrap:wrap;gap:.65rem}
[data-school-media] .between{justify-content:space-between}
[data-school-media] .row>h2,[data-school-media] .row>h3{min-width:0;flex:1 1 12rem;overflow-wrap:anywhere}
[data-school-media] .row>button{flex:0 1 auto;white-space:normal;text-align:center}
[data-school-media] .form{display:grid;gap:.45rem;margin:1.15rem 0;padding-top:.5rem;border-top:1px solid #d6dfd2}
[data-school-media] .checkbox{display:flex;align-items:flex-start;gap:.65rem;font-weight:500}
[data-school-media] input[type=checkbox]{flex:0 0 21px;width:21px;min-height:21px;height:21px;margin:.2rem 0;accent-color:#17514c}
[data-school-media] .item{padding:1rem 0;border-top:1px solid #d6dfd2}
[data-school-media] .message-body{white-space:pre-wrap;overflow-wrap:anywhere}
[data-school-media] .muted{color:#4f625d;font-size:.92rem}
[data-school-media] .error{padding:.75rem;background:#fff0e9;color:#7a2d1e;border-radius:10px}
[data-school-media] .notice{padding:.85rem;background:#edf3e8;border:1px solid #c5d3c0;border-radius:10px}
.media-browser-address{display:block;margin-top:.5rem;overflow-wrap:anywhere;user-select:all;font-size:.9rem}
@media(max-width:360px){[data-school-media] .row>button{width:100%;flex-basis:100%}}
.safety-agree input { width:1.3rem;height:1.3rem;flex:0 0 1.3rem; }

[data-tuition-root]:empty{display:none}

.account-menu{margin-top:24px;padding-top:12px;border-top:1px solid var(--line,#cad8d2)}.account-menu>summary{display:list-item;width:fit-content;min-height:44px;line-height:44px;cursor:pointer}.account-menu>button{margin-top:8px;min-height:44px}

/* Separate actions without changing the reading order or primary navigation. */
.action-group{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:12px 0}
.action-group>button{min-height:48px;white-space:normal;max-width:100%}
#room .sheet form{margin-block:18px}
#room :is(form,article,details)>button{margin-block:6px}
#room :is(form,article,details)>.action-group>button{margin:0}
#room .photo-pending-card{display:flex;align-items:flex-end;flex-wrap:wrap;gap:12px;margin-block:14px}
#room .photo-pending-card img{border:1px solid #c7d4cb;border-radius:10px}
#room input:is([type=date],[type=time],[type=datetime-local]){text-align:center;font-variant-numeric:tabular-nums}
#room input[type=number]{text-align:end;font-variant-numeric:tabular-nums}
#room input[type=checkbox]{width:22px;min-height:22px;height:22px;vertical-align:middle;margin-inline-end:8px}
@media(max-width:360px){.action-group>button{flex:1 1 8rem}.action-group{gap:12px}}

.learning-pathway{margin-block:24px}.learning-pathway.compact{border:1px solid var(--line,#cad8d2);border-radius:16px;padding:16px;background:#fffdf7}.learning-pathway>summary,.learning-stage>summary,.teacher-guide>summary{min-height:48px;cursor:pointer;padding-block:12px}.learning-pathway-body{padding-top:12px}.learning-stage{border-top:1px solid var(--line,#cad8d2);margin-top:12px}.learning-stage>summary{display:flex;align-items:center;gap:16px;list-style:none;font-weight:700}.learning-stage>summary::after{content:'+';margin-inline-start:auto;font-size:22px}.learning-stage[open]>summary::after{content:'−'}.learning-stage small{display:block;font-weight:400;line-height:1.5;margin-top:4px}.learning-step{display:grid;place-items:center;flex:0 0 36px;height:36px;border-radius:50%;background:#edf3ef;color:#164d47;font-variant-numeric:tabular-nums}.learning-stage-body{padding:4px 0 20px}.learning-stage-body h4,.teacher-guide h4{margin-bottom:6px}.learning-stage-body ul{padding-inline-start:22px}.path-lesson-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:12px;margin-top:18px}.path-lesson-links a{display:flex;gap:12px;justify-content:space-between;padding:14px 16px;min-height:48px;border:1px solid #b9cdc2;border-radius:10px;background:#f7faf7;text-decoration:none}.teacher-guide{margin-block:24px;padding:16px;border-radius:12px;border:1px solid #cfdbd2;background:#f5f8f2}.lesson-sequence{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:16px;margin-block:24px}.lesson-sequence a{display:grid;gap:6px;white-space:normal;min-height:64px}.lesson-sequence small{font-weight:400}.learning-pathway,.learning-stage,.teacher-guide{overflow-wrap:anywhere}#plan-sheet blockquote{white-space:pre-line}.learning-stage:focus-within{outline-offset:4px}

.lesson-grade-filter{margin:24px 0}.lesson-grade-filter label{font-weight:700}.lesson-grade-filter select{min-height:48px;max-width:100%;margin-top:8px}.lesson-picker a[hidden]{display:none}.assignment-instructions{white-space:pre-line;overflow-wrap:anywhere}

/* The reader chooses this on their own device; lesson and student data are untouched. */
.academy-appearance{display:inline-flex;gap:.35rem;align-items:center}
.academy-appearance button{min-height:44px;padding:.5rem .7rem;border:1px solid #8ca99e;background:#fffefa;color:#173d38;font-size:.88rem}
.academy-appearance button[aria-pressed=true]{background:#184d47;color:#fff;border-color:#184d47}
html[data-academy-appearance=dark]{color-scheme:dark}
html[data-academy-appearance=dark] body{background:#101d1c!important;color:#edf5f2}
html[data-academy-appearance=dark] header{background:#142824;border-color:#48615a}
html[data-academy-appearance=dark] :is(.brand,.region,.eyebrow,.stage,.num,.lead,.fine,small,.lesson-goal,.role-grid p){color:#d4e5dc}
html[data-academy-appearance=dark] a{color:#9bd9c6}
html[data-academy-appearance=dark] :is(.card,.sheet,.role-grid article,.lesson-picker a,.lesson-picker summary,.band-links a,.safety-summary,.safety-hidden,.world-safety-dialog,blockquote,#practice .option){background:#1c302d;color:#edf5f2;border-color:#58776c;box-shadow:none}
html[data-academy-appearance=dark] :is(input,select,textarea){background:#142723;color:#fff;border-color:#82a49a}
html[data-academy-appearance=dark] :is(button,.button,.top-action){background:#285f52;color:#fff;border-color:#80b2a1}
html[data-academy-appearance=dark] :is(button.quiet,.academy-appearance button){background:#1c302d;color:#edf5f2}
html[data-academy-appearance=dark] .academy-appearance button[aria-pressed=true]{background:#a8dcc7;color:#102a24}
html[data-academy-appearance=dark] :is(#practice [data-feedback]:not(:empty),#practice-result:not(:empty),.work-state,.review-count){background:#29453b;color:#e9f9f0}
html[data-academy-appearance=dark] .sample{color:#fff}
@media print{html[data-academy-appearance=dark] body{background:#fff!important;color:#000}.academy-appearance{display:none}}
html[data-academy-appearance=dark] :is(.learning-pathway.compact,.teacher-guide,.path-lesson-links a){background:#1c302d;color:#edf5f2;border-color:#58776c}
html[data-academy-appearance=dark] .learning-step{background:#35574b;color:#fff}
