:root{--blue:#1558d6;--deep:#102b59;--ink:#17293f;--muted:#53647a;--line:#dce4ed;--bg:#f5f7fb;--white:#fff;--pale:#edf3ff;--green:#14654b;--red:#a43535;--radius:18px;--shadow:0 12px 38px #17396508;--reading:18px;color-scheme:light;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans CJK KR","Noto Sans CJK JP","Malgun Gothic","Yu Gothic",sans-serif;color:var(--ink);background:var(--bg)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;line-height:1.7}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:4px}button:disabled{cursor:not-allowed;opacity:.48}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #e99820;outline-offset:4px}svg{flex-shrink:0}.skip{position:fixed;left:15px;top:-80px;background:var(--deep);color:white;z-index:100;padding:12px 20px}.skip:focus{top:12px}.site-header{position:sticky;top:0;background:#ffffffed;backdrop-filter:blur(16px);border-bottom:1px solid var(--line);z-index:25}.head-inner{max-width:1240px;margin:auto;min-height:86px;display:flex;align-items:center;gap:32px;padding:12px 28px}.brand{display:flex;align-items:center;gap:11px;color:var(--deep);white-space:nowrap;line-height:1.2}.brand:hover{text-decoration:none}.brand-mark{width:40px;height:40px;border-radius:11px;background:var(--blue);color:white;display:grid;place-items:center;font-size:23px;font-weight:650}.brand-word{font-size:16px;letter-spacing:.9px;font-weight:780}.brand-small{display:block;color:var(--muted);font-size:10px;letter-spacing:.2px;margin-top:5px;font-weight:500}.main-nav{display:flex;gap:24px;align-items:center;margin-right:auto}.main-nav a{font-size:14px;font-weight:580;color:var(--muted);padding:9px 0;white-space:nowrap}.main-nav a[aria-current=page]{color:var(--blue);box-shadow:0 3px var(--blue)}.header-actions{display:flex;align-items:center;gap:14px}.lang-control{border:1px solid var(--line);border-radius:10px;background:white;padding:7px 10px;min-height:44px;font-size:13px;font-weight:600;color:var(--ink);max-width:135px}.icon-btn{background:white;border:1px solid var(--line);border-radius:10px;display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;color:var(--ink);padding:8px}.mobile-menu{display:none}.shell{max-width:1200px;margin:0 auto;padding:44px 28px 76px;min-height:70vh}.eyebrow{font-size:12px;font-weight:750;letter-spacing:1.65px;color:var(--blue);text-transform:uppercase;margin:0 0 14px}.hero{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:52px;padding:38px 0 56px}.hero h1{font-size:48px;letter-spacing:-1.8px;line-height:1.2;font-weight:780;margin:0 0 22px;white-space:pre-line;word-break:keep-all}.hero p{font-size:17px;color:var(--muted);max-width:550px;line-height:1.9}.actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:24px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;padding:11px 21px;border-radius:10px;border:1px solid var(--line);color:var(--ink);background:white;font-weight:620;font-size:14px;line-height:1.5;text-align:center}.btn:hover{background:#f0f4fb;text-decoration:none}.btn.primary{background:var(--blue);border-color:var(--blue);color:white}.btn.primary:hover{background:#104cbf}.btn.quiet{border-color:transparent;background:transparent;color:var(--blue)}.btn.small{min-height:40px;padding:8px 14px;font-size:13px}.btn.danger{border-color:#e6c6c6;color:var(--red);background:#fff}.hero-art{background:var(--pale);border:1px solid #dae5ff;border-radius:28px;padding:32px;position:relative;overflow:hidden}.hero-art:before{content:"";position:absolute;width:240px;height:240px;border-radius:50%;border:1px solid #cad9f5;top:-120px;right:-80px}.art-top{display:flex;justify-content:space-between;align-items:center;position:relative;margin-bottom:25px;font-size:13px;color:var(--deep);font-weight:600}.art-main{display:grid;grid-template-columns:1fr 1fr;gap:14px}.big-tile{background:white;border:1px solid #dce6f7;border-radius:16px;text-align:center;padding:12px 8px;box-shadow:0 8px 20px #1458d608;position:relative}.big-tile .letter{font-size:66px;font-weight:550;line-height:1.55}.tile-label{color:var(--muted);font-size:12px;line-height:1.4}.hero-art .art-footer{margin-top:22px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px}.mini-wave{display:flex;gap:3px;height:20px;align-items:center}.mini-wave i{width:3px;height:var(--h);background:var(--blue);border-radius:3px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:22px 0}.section-heading h2{margin:0;font-size:25px;line-height:1.35;letter-spacing:-.5px}.section-heading p{color:var(--muted);margin:8px 0 0;font-size:15px}.tag-row{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.tag{font-size:12px;line-height:1.5;background:var(--pale);color:#214e92;padding:6px 10px;border-radius:6px;font-weight:580}.tag.neutral{background:#f1f4f8;color:var(--muted)}.unit-banner{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:28px 30px;display:flex;justify-content:space-between;gap:30px;align-items:center;box-shadow:var(--shadow)}.unit-banner h2,.unit-banner h3{margin:0 0 8px;font-size:25px;line-height:1.4}.unit-banner p{margin:0;color:var(--muted);max-width:730px}.lesson-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.lesson-card{background:white;border:1px solid var(--line);border-radius:15px;padding:22px;display:flex;flex-direction:column;position:relative;box-shadow:var(--shadow)}.lesson-card:hover{border-color:#a9c1ec}.card-number{font-size:12px;color:var(--muted);letter-spacing:.5px;display:flex;justify-content:space-between;gap:10px}.card-glyphs{font-size:31px;letter-spacing:3px;color:var(--blue);padding:14px 0 13px;line-height:1.4;word-break:keep-all}.lesson-card h3{font-size:17px;line-height:1.55;margin:0 0 12px;letter-spacing:-.2px}.lesson-card p{font-size:13px;color:var(--muted);margin:0 0 18px;line-height:1.7}.lesson-card .card-bottom{margin-top:auto;padding-top:14px;border-top:1px solid #edf0f5;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;color:var(--muted)}.lesson-card .card-bottom a{font-weight:650}.three-note{display:grid;grid-template-columns:1fr 1fr;gap:38px;padding:32px 0;margin-top:32px;border-top:1px solid var(--line)}.three-note h2{font-size:22px;margin:0 0 10px}.three-note p{color:var(--muted);font-size:15px;margin:0}.language-chips{display:flex;gap:8px;margin-top:18px}.language-chips a{border:1px solid var(--line);background:white;border-radius:10px;padding:10px 18px;color:var(--ink);font-size:14px}.page-heading{max-width:820px;margin:10px 0 34px}.page-heading h1{font-size:36px;line-height:1.3;letter-spacing:-1px;margin:8px 0 14px;word-break:keep-all}.page-heading p{font-size:17px;color:var(--muted);margin:0}.breadcrumb{font-size:13px;color:var(--muted);display:flex;gap:9px;flex-wrap:wrap;align-items:center;margin:0 0 20px}.breadcrumb span{color:#92a0b1}.notice{padding:16px 20px;border:1px solid #d5e1f4;background:#f0f5ff;border-radius:12px;color:#254469;font-size:14px;line-height:1.8;margin:20px 0}.notice strong{display:block;font-size:14px;margin-bottom:4px}.notice.warning{background:#fff8e9;border-color:#e8d8b4;color:#674918}.notice.error{background:#fff3f3;border-color:#e8c9c9;color:var(--red)}.notice.success{background:#edf8f4;border-color:#b8dbce;color:var(--green)}.lesson-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:34px;align-items:start}.lesson-sidebar{position:sticky;top:112px;font-size:13px}.sidebar-label{color:var(--muted);font-weight:650;margin:0 0 12px;padding-left:9px}.lesson-sidebar .side-top{border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:14px}.side-lesson{display:flex;gap:10px;padding:10px;border-radius:9px;color:var(--muted);line-height:1.5}.side-lesson .num{font-weight:650;color:#8c9aad}.side-lesson.active{background:#e8effc;color:var(--blue);font-weight:600}.side-lesson.active .num{color:var(--blue)}.step-list{display:grid;gap:3px;list-style:none;margin:0;padding:0}.step-list a{display:flex;align-items:center;gap:10px;padding:8px 10px;min-height:42px;color:var(--muted);border-radius:8px;font-size:12px;line-height:1.5}.step-list a.active{color:var(--blue);background:#e8effc;font-weight:650}.step-dot{width:21px;height:21px;border:1px solid #d2dce8;border-radius:50%;display:grid;place-items:center;font-size:10px;flex-shrink:0}.active .step-dot{background:var(--blue);border-color:var(--blue);color:white}.mobile-map{display:none}.lesson-body{min-width:0}.lesson-head{margin-bottom:24px}.lesson-head h1{font-size:29px;line-height:1.4;letter-spacing:-.5px;margin:7px 0 14px;word-break:keep-all}.lesson-head .kicker{color:var(--blue);font-size:12px;font-weight:680;letter-spacing:.5px}.lesson-topline{display:flex;justify-content:space-between;align-items:center;gap:12px}.lesson-topline .tag{padding:4px 8px}.text-controls{display:flex;gap:5px}.text-controls button{min-height:36px;min-width:36px;padding:4px 8px;font-size:14px}.progress-line{height:4px;border-radius:5px;background:#e5ebf4;margin:18px 0 8px;overflow:hidden}.progress-line span{display:block;height:100%;background:var(--blue);border-radius:5px}.progress-caption{display:flex;justify-content:space-between;font-size:12px;color:var(--muted)}.reading-panel{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:34px 36px;box-shadow:var(--shadow);font-size:var(--reading);line-height:1.85}.reading-panel h2{font-size:25px;line-height:1.4;letter-spacing:-.5px;margin:0 0 26px;display:flex;align-items:center;gap:12px}.reading-panel .step-index{font-size:13px;border-radius:8px;color:var(--blue);background:var(--pale);min-width:34px;height:34px;display:inline-grid;place-items:center}.reading-panel p{margin:18px 0}.reading-panel .notice{font-size:15px}.reading-panel h3{font-size:18px;margin:24px 0 14px}.target-text{font-weight:550;font-size:1.13em}.cards{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0 24px}.glyph{border:1px solid var(--line);border-radius:12px;min-width:65px;padding:9px 18px;font-size:38px;line-height:1.55;text-align:center;background:#fbfcff;color:var(--deep)}.cards-label{color:var(--muted);font-size:13px;margin-top:22px}.composition{display:flex;justify-content:center;align-items:center;gap:16px;margin:26px 0;background:var(--pale);border-radius:14px;padding:27px 14px}.component{text-align:center}.component .big{font-size:64px;line-height:1.35;display:block;color:var(--deep)}.component small{font-size:12px;color:var(--muted);display:block;line-height:1.7;margin-top:6px}.component.result{border:1px solid #bfd1f6;border-radius:13px;background:white;padding:7px 15px}.math{font-size:24px;color:#7790b0;align-self:center}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:12px;margin:22px 0;max-width:100%}table{border-collapse:collapse;width:100%;font-size:14px;line-height:1.75}th,td{padding:13px 14px;text-align:left;border-bottom:1px solid var(--line);vertical-align:middle}th{font-size:12px;font-weight:650;background:#f3f6fa;color:var(--muted)}tr:last-child td{border-bottom:0}td .target-text{font-size:26px;display:inline-block;min-width:23px}.sound-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:20px 0}.sound-card{background:#fbfcff;border:1px solid #d4e0f3;border-radius:13px;text-align:center;overflow:hidden}.sound-card .syllable{font-size:48px;display:block;line-height:1.6;margin-top:9px}.sound-card .jamo{font-size:12px;color:var(--muted);display:block;margin:0 0 8px}.sound-card button{width:100%;border:0;border-top:1px solid var(--line);background:#edf3ff;color:var(--blue);min-height:43px;display:flex;align-items:center;justify-content:center;gap:6px;font-size:12px;font-weight:650;padding:8px}.sound-card button:hover{background:#e1ebff}.pair-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:12px 0;border-bottom:1px solid #edf0f6}.pair-btn{border:1px solid var(--line);background:white;border-radius:9px;min-height:44px;padding:6px 15px;color:var(--blue);display:inline-flex;gap:8px;align-items:center}.pair-btn span[lang=ko]{font-size:23px}.builder-buttons{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.builder-buttons button{border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);width:58px;height:54px;font-size:28px}.builder-buttons button[aria-pressed=true]{color:var(--blue);border-color:var(--blue);box-shadow:0 0 0 1px var(--blue);background:var(--pale)}.trace-row{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.trace-cell{width:61px;height:61px;display:grid;place-items:center;font-size:39px;border:1px solid #bfcada;background:linear-gradient(to right,transparent 49%,#dce3ec 49%,#dce3ec 50%,transparent 50%),linear-gradient(to bottom,transparent 49%,#dce3ec 49%,#dce3ec 50%,transparent 50%);color:#afbbca}.trace-cell.blank{color:transparent}.question{margin:22px 0;padding:0;border:0;min-width:0}.question legend{font-size:16px;font-weight:650;line-height:1.8;margin-bottom:12px;display:block;width:100%;padding:0}.q-number{font-size:12px;color:var(--muted);margin-right:8px;font-weight:600}.options{display:grid;gap:8px}.option{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:10px;padding:12px 15px;min-height:52px;background:white;font-size:15px;line-height:1.6;cursor:pointer}.option:has(input:checked){background:var(--pale);border-color:#9eb9ed}.option input{width:18px;height:18px;accent-color:var(--blue);margin:0;flex-shrink:0}.option .target-text{font-size:26px}.option.is-correct{border-color:#8bbda8;background:#f0faf5}.option.is-wrong{border-color:#d3a8a8;background:#fff6f6}.feedback{font-size:14px;line-height:1.8;padding:14px 16px;background:#f2f6fb;border-radius:10px;margin-top:10px}.feedback strong{display:block;color:var(--deep);margin-bottom:4px}.feedback.good{background:#eff8f3}.feedback.good strong{color:var(--green)}.feedback.bad{background:#fff5f2}.feedback.bad strong{color:var(--red)}.feedback details{margin:9px 0 0}.feedback summary{font-size:12px;cursor:pointer}.feedback li{margin:5px 0}.score{font-size:20px;font-weight:700;color:var(--deep);padding:18px 0 5px}.task-box{border:1px solid var(--line);border-radius:14px;background:#f9fbfe;padding:24px;margin:20px 0}.task-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;color:var(--muted);font-size:13px}.task-play{display:flex;justify-content:center;padding:24px 0 18px}.task-play .btn{min-height:62px;border-radius:50px;padding:15px 30px;font-size:16px;box-shadow:0 4px 16px #1558d612}.task-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:20px 0}.task-options button{background:white;border:1px solid #c7d5e9;border-radius:11px;min-height:62px;font-size:32px;color:var(--deep);position:relative}.task-options button:hover:not(:disabled){border-color:var(--blue);background:var(--pale)}.task-answer{font-size:42px;text-align:center;border:1px dashed #b4c4db;padding:12px;border-radius:10px;margin:15px 0}.fine{font-size:13px!important;line-height:1.8;color:var(--muted)}.rubric-item{display:flex;gap:12px;font-size:15px;line-height:1.7;align-items:flex-start;padding:10px 0}.rubric-item input{margin-top:5px;flex-shrink:0;width:18px;height:18px;accent-color:var(--blue)}.answer-item{border-bottom:1px solid var(--line);padding:18px 0}.answer-item h3{margin:0 0 8px;font-size:15px}.answer-item p{font-size:14px;line-height:1.9;margin:6px 0}.answer-item ul{font-size:13px;padding-left:20px;line-height:1.8}.detail-panel{border:1px solid var(--line);border-radius:12px;padding:15px 19px;margin:22px 0}.detail-panel summary{font-size:15px;font-weight:650;cursor:pointer;min-height:32px}.review-card{border:1px solid var(--line);border-radius:12px;padding:18px 20px;margin:12px 0}.review-card .when{font-size:12px;color:var(--blue);font-weight:700}.review-card h3{font-size:16px;margin:4px 0 7px}.review-card p{font-size:15px;line-height:1.8;margin:0}.repair-link{display:block;padding:14px 0;border-bottom:1px solid var(--line);font-size:15px}.repair-link span{color:var(--muted);display:block;font-size:13px;margin-top:4px}.lesson-controls{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:24px 0}.unit-progress{display:flex;align-items:center;gap:15px;padding:20px 24px;background:white;border:1px solid var(--line);border-radius:14px;margin:20px 0 28px}.progress-ring{border:5px solid #dce6f6;border-top-color:var(--blue);border-radius:50%;width:58px;height:58px;display:grid;place-items:center;font-size:17px;font-weight:700;color:var(--blue);flex-shrink:0}.record-list{display:grid;gap:14px}.record{display:grid;grid-template-columns:auto 1fr auto;gap:20px;align-items:center;padding:22px 25px;background:white;border:1px solid var(--line);border-radius:14px}.record .num{font-size:16px;color:var(--blue);font-weight:700}.record h3{font-size:17px;margin:0 0 6px}.record p{margin:0;color:var(--muted);font-size:12px}.management{padding:28px;background:white;border:1px solid var(--line);border-radius:16px;margin-top:30px}.management h2{font-size:21px;margin:0 0 10px}.management p{color:var(--muted);font-size:14px}.search-form{display:flex;gap:12px;max-width:820px;margin:25px 0 30px}.search-form input{width:100%;min-width:0;border:1px solid #becde0;border-radius:10px;padding:13px 17px;font-size:16px;background:white}.path-panel{background:var(--deep);color:white;padding:35px;border-radius:20px;margin:22px 0 30px}.path-panel h2{font-size:27px;margin:0 0 12px}.path-panel p{color:#c7d8f4;max-width:790px}.path-panel .tag{background:#254774;color:#e1edff}.path-steps{display:flex;align-items:center;gap:16px;margin:24px 0}.path-step{background:#fff;color:var(--blue);font-size:28px;padding:13px 22px;border-radius:12px}.prose-page{max-width:800px;margin:0 auto;background:white;border:1px solid var(--line);border-radius:18px;padding:38px;font-size:17px;line-height:1.9}.prose-page h1{font-size:31px;line-height:1.4;margin:0 0 28px}.prose-page h2{font-size:21px;margin:28px 0 12px}.prose-page p{margin:16px 0}.chooser{max-width:980px;margin:50px auto 20px;text-align:center}.chooser .letter-art{font-size:95px;letter-spacing:10px;color:var(--blue);margin-bottom:25px}.chooser h1{font-size:36px;line-height:1.3;margin:10px 0 15px}.chooser p{color:var(--muted);margin:6px 0}.choose-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:35px}.choose-card{padding:34px 20px;text-align:left;background:white;border:1px solid var(--line);border-radius:16px;color:var(--ink);display:block;box-shadow:var(--shadow)}.choose-card:hover{border-color:var(--blue);text-decoration:none}.choose-card strong{display:block;font-size:23px;margin-bottom:6px}.choose-card small{display:block;color:var(--muted);font-size:13px;line-height:1.7}.choose-card .arrow{color:var(--blue);font-size:22px;margin-top:20px}.audio-dock{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);max-width:780px;width:calc(100% - 38px);background:#fff;border:1px solid #cbd8ed;box-shadow:0 10px 48px #17345725;border-radius:15px;padding:12px 16px;display:none;align-items:center;gap:12px;z-index:35}.audio-dock.active{display:flex}.audio-info{flex:1;min-width:0}.audio-info strong{display:block;font-size:13px;line-height:1.4}.audio-info small{display:block;font-size:11px;color:var(--muted);margin-top:3px}.audio-dock .audio-speed{font-size:12px;padding:7px;border:1px solid var(--line);border-radius:8px;background:white;min-height:40px;max-width:90px}.audio-dock .icon-btn{min-width:38px;min-height:38px;border-radius:8px}.audio-dock .progress-line{margin:6px 0 0;height:3px}.site-footer{border-top:1px solid var(--line);background:white}.footer-inner{max-width:1200px;margin:auto;padding:28px 28px 100px;display:flex;justify-content:space-between;gap:25px;font-size:12px;color:var(--muted)}.footer-links{display:flex;gap:20px;flex-wrap:wrap}.footer-links a{color:var(--muted)}#toast{position:fixed;right:24px;top:104px;max-width:min(430px,calc(100% - 32px));background:var(--deep);color:white;padding:14px 20px;box-shadow:0 8px 30px #1e344433;border-radius:11px;font-size:14px;line-height:1.7;z-index:60;display:none}#toast.visible{display:block}.storage-banner{margin:0;padding:12px 24px;background:#fff5d8;color:#715015;font-size:13px;border-bottom:1px solid #e8d7b1;text-align:center}.hidden{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.worksheet{max-width:850px;margin:auto;background:white;padding:36px;border:1px solid var(--line);border-radius:18px}.worksheet h1{font-size:29px;margin:0 0 14px}.worksheet h2{font-size:20px;margin:25px 0 16px}.write-line{display:flex;justify-content:space-between;gap:25px;border-bottom:1px solid var(--line);padding:15px 0 24px;font-size:14px}.worksheet-row{display:flex;align-items:center;gap:18px;margin:10px 0}.worksheet-prompt{font-size:25px;min-width:95px}.library-audios{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.audio-resource{background:white;border:1px solid var(--line);border-radius:14px;padding:24px}.audio-resource h3{font-size:17px;margin:0 0 15px}.audio-resource p{font-size:25px;letter-spacing:2px;line-height:1.6;color:var(--deep);margin:14px 0}.audio-resource .actions{margin-top:16px}.library-cards{background:white;border:1px solid var(--line);border-radius:16px;padding:25px}.library-cards .sound-grid{grid-template-columns:repeat(7,minmax(0,1fr))}.library-cards .sound-card .syllable{font-size:42px}.busy-badge{background:#e9f6ef;color:var(--green);font-size:11px;padding:3px 7px;border-radius:5px;white-space:nowrap}.reading-panel a{overflow-wrap:anywhere}.error-box{text-align:center;padding:80px 20px}.noscript{padding:18px;border:1px solid #cfb88e;background:#fff7e7;margin:20px}.lesson-map-toggle{display:none}
@media(min-width:1250px){.shell{padding-top:44px}.reading-panel{max-width:830px}}
@media(max-width:1100px){.head-inner{gap:22px;padding:12px 22px}.main-nav{gap:16px}.brand-small{display:none}.brand-word{font-size:14px}.header-actions{gap:9px}.hero h1{font-size:41px}.lesson-layout{grid-template-columns:220px minmax(0,1fr);gap:24px}.lesson-layout{grid-template-columns:220px minmax(0,1fr)}.reading-panel{padding:30px 27px}.lesson-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.library-cards .sound-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:850px){.head-inner{min-height:74px;gap:12px}.brand{margin-right:auto}.main-nav{display:none;position:absolute;top:100%;left:0;right:0;background:white;padding:12px 24px 20px;border-bottom:1px solid var(--line);box-shadow:0 10px 20px #15304f0d;gap:6px}.main-nav.open{display:grid;grid-template-columns:1fr 1fr}.main-nav a{padding:12px;border-radius:8px}.main-nav a[aria-current=page]{box-shadow:none;background:var(--pale)}.mobile-menu{display:flex}.brand-small{display:block}.shell{padding:28px 22px 60px}.hero{gap:28px;padding:25px 0 40px}.hero h1{font-size:35px;letter-spacing:-1px}.hero-art{padding:22px}.big-tile .letter{font-size:52px}.hero p{font-size:15px}.lesson-sidebar{display:none}.lesson-layout{display:block}.mobile-map{display:block;margin:0 0 20px;border:1px solid var(--line);border-radius:12px;background:white;padding:12px 16px}.mobile-map summary{cursor:pointer;font-size:14px;font-weight:600;min-height:28px}.mobile-map .step-list{margin-top:12px;grid-template-columns:1fr 1fr}.reading-panel{max-width:100%;padding:30px}.lesson-head h1{font-size:28px}.prose-page{padding:30px}.footer-inner{flex-direction:column;gap:14px}.audio-dock{bottom:12px}.unit-banner{padding:24px}.unit-banner h2{font-size:22px}.three-note{gap:24px}.choose-grid{gap:12px}.choose-card{padding:26px 18px}}
@media(max-width:600px){.head-inner{padding:10px 16px;min-height:72px}.brand-mark{width:34px;height:34px;border-radius:9px;font-size:22px}.brand{gap:8px}.brand-word{font-size:13px;letter-spacing:.5px}.brand-small{font-size:8px;max-width:115px}.header-actions{gap:6px}.header-search{display:none}.lang-control{font-size:12px;max-width:100px;padding:7px 6px;min-height:42px}.mobile-menu{min-width:38px;min-height:42px;padding:7px}.shell{padding:24px 16px 54px}.hero{grid-template-columns:1fr;gap:24px;padding:12px 0 30px}.hero h1{font-size:36px;line-height:1.2;max-width:450px;letter-spacing:-1.1px}.hero p{font-size:15px;line-height:1.85}.hero .actions{margin-top:20px}.hero-art{padding:22px;border-radius:20px;max-width:100%}.hero-art .art-main{grid-template-columns:repeat(4,1fr);gap:8px}.hero-art .big-tile{padding:12px 0}.big-tile .letter{font-size:38px}.big-tile .tile-label{font-size:10px}.art-top{margin-bottom:16px}.hero-art .art-footer{margin-top:16px;font-size:11px}.eyebrow{font-size:10px;letter-spacing:1.3px}.unit-banner{display:block;padding:22px}.unit-banner .actions{margin-top:18px}.unit-banner h2{font-size:22px}.unit-banner p{font-size:14px}.section-heading{margin:28px 0 16px;align-items:flex-start}.section-heading h2{font-size:22px}.section-heading p{font-size:14px}.section-heading a{font-size:12px}.lesson-grid{grid-template-columns:1fr;gap:12px}.lesson-card{padding:20px 22px}.card-glyphs{font-size:33px;padding:10px 0}.lesson-card h3{font-size:18px}.lesson-card p{font-size:14px;margin-bottom:14px}.card-bottom{font-size:12px}.three-note{grid-template-columns:1fr;gap:26px;margin-top:26px}.three-note h2{font-size:21px}.language-chips a{padding:8px 13px;font-size:13px}.page-heading{margin:7px 0 25px}.page-heading h1{font-size:29px;letter-spacing:-.7px}.page-heading p{font-size:15px}.breadcrumb{font-size:11px;gap:6px;margin-bottom:15px}.lesson-head h1{font-size:25px;line-height:1.45}.lesson-head{margin-bottom:16px}.lesson-topline{align-items:flex-start}.lesson-topline .tag-row{margin:0}.lesson-topline .tag{font-size:11px}.reading-panel{border-radius:14px;padding:25px 20px;font-size:var(--reading)}.reading-panel h2{font-size:23px;margin-bottom:22px;line-height:1.45;align-items:flex-start}.reading-panel .step-index{margin-top:1px;min-width:30px;height:30px;font-size:11px}.reading-panel .notice{font-size:14px;padding:14px 16px}.reading-panel p{line-height:1.85}.mobile-map{padding:11px 15px}.mobile-map .step-list{grid-template-columns:1fr}.glyph{min-width:51px;padding:6px 12px;font-size:33px;border-radius:10px}.cards{gap:8px;margin:14px 0 20px}.composition{padding:23px 10px;gap:12px}.component .big{font-size:49px}.component small{font-size:11px}.component.result{padding:5px 10px}.math{font-size:20px}th,td{padding:10px 9px;font-size:12px}th{font-size:10px}td .target-text{font-size:22px;min-width:20px}.table-wrap{margin:18px -4px}.sound-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.sound-card .syllable{font-size:49px}.sound-card button{font-size:12px;min-height:44px}.builder-buttons{gap:8px}.builder-buttons button{width:49px;height:48px;font-size:27px}.trace-cell{width:49px;height:49px;font-size:32px}.trace-row{gap:6px}.question legend{font-size:16px}.option{font-size:14px;padding:12px;gap:10px}.option .target-text{font-size:27px}.feedback{font-size:13px;padding:13px}.task-box{padding:17px;margin:18px 0}.task-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.task-options button{min-height:58px;font-size:31px}.task-play .btn{padding:13px 21px;font-size:14px;min-height:56px}.task-heading{font-size:11px;gap:8px}.task-heading .tag{font-size:10px;padding:5px 7px}.task-box .actions{gap:8px}.task-box .btn{font-size:12px;padding:9px 12px;min-height:44px}.fine{font-size:12px!important}.lesson-controls{gap:10px;margin:18px 0}.lesson-controls .btn{font-size:12px;padding:12px 13px;max-width:49%;min-height:46px}.detail-panel{padding:13px 15px}.record{grid-template-columns:auto 1fr;padding:19px;gap:14px}.record h3{font-size:16px}.record .btn{grid-column:2;justify-self:start}.management{padding:22px}.management .actions{display:grid;gap:10px}.management .btn{width:100%;font-size:13px}.unit-progress{padding:18px;margin:18px 0 23px}.path-panel{padding:24px}.path-panel h2{font-size:24px}.path-panel p{font-size:15px}.path-steps{gap:10px;flex-wrap:wrap}.path-step{font-size:24px;padding:11px 17px}.library-audios{grid-template-columns:1fr}.library-cards{padding:18px}.library-cards .sound-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.library-cards .sound-card .syllable{font-size:38px}.prose-page{padding:25px 21px;font-size:16px}.prose-page h1{font-size:27px}.prose-page h2{font-size:20px}.search-form{gap:8px}.search-form .btn{padding:12px 15px}.search-form input{font-size:14px;padding:12px;min-height:46px}.footer-inner{padding:25px 20px 110px}.footer-links{gap:15px;font-size:11px}.audio-dock{padding:10px;width:calc(100% - 20px);gap:7px;border-radius:13px;bottom:10px}.audio-info strong{font-size:11px}.audio-info small{font-size:10px}.audio-dock .audio-speed{max-width:68px;font-size:10px;padding:6px 3px}.audio-dock .icon-btn{min-width:33px;min-height:38px;padding:6px}.audio-info{min-width:65px}.choose-grid{grid-template-columns:1fr;margin-top:27px;gap:12px}.chooser{margin:18px auto 12px}.chooser .letter-art{font-size:72px}.chooser h1{font-size:29px}.choose-card{padding:23px;display:grid;grid-template-columns:1fr auto}.choose-card strong{font-size:21px}.choose-card small{grid-column:1}.choose-card .arrow{grid-column:2;grid-row:1/3;margin:0;align-self:center}.chooser p{font-size:13px}.worksheet{padding:23px 20px}.worksheet h1{font-size:25px}.worksheet-row{gap:12px}.worksheet-prompt{font-size:23px;min-width:81px}.worksheet-row .trace-row{gap:5px}.worksheet-row .trace-cell{width:38px;height:38px}.write-line{font-size:11px;gap:18px}.review-card{padding:15px 16px}.review-card p{font-size:14px}.progress-caption{font-size:11px}.storage-banner{font-size:12px;padding:10px 15px}.audio-resource{padding:21px}.audio-resource p{font-size:25px}.error-box{padding:50px 10px}.btn{font-size:13px}}
@media(max-width:350px){.brand-small{display:none}.head-inner{padding:10px 12px}.header-actions{gap:4px}.lang-control{max-width:89px}.brand-word{font-size:12px}.brand-mark{width:30px;height:32px;font-size:20px}.hero h1{font-size:31px}.reading-panel{padding:23px 16px}.shell{padding:20px 12px 50px}.component .big{font-size:43px}.composition{gap:9px}.sound-grid{gap:8px}.task-options{grid-template-columns:repeat(3,minmax(0,1fr))}.btn{padding:11px 14px}.audio-dock{gap:5px}.audio-dock .audio-speed{max-width:56px}.hero-art{padding:18px}.hero-art .art-footer{font-size:10px}.worksheet-row .trace-cell{width:31px;height:31px}.worksheet-prompt{min-width:80px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
@media print{.site-header,.site-footer,.audio-dock,.lesson-sidebar,.mobile-map,.lesson-controls,.actions,.no-print,#toast,.storage-banner,.breadcrumb,.text-controls{display:none!important}html,body{background:white!important;color:#111;font-size:12pt}.shell{padding:0;max-width:none;min-height:0}.worksheet,.reading-panel,.prose-page{padding:0;border:0;box-shadow:none;max-width:none}.worksheet h1{font-size:22pt}.worksheet h2{font-size:15pt;break-after:avoid}.worksheet-row,.trace-row,.composition,.question{break-inside:avoid}.worksheet-section{break-inside:avoid}.lesson-layout{display:block}.lesson-head h1{font-size:22pt}.reading-panel{font-size:12pt}.table-wrap{overflow:visible}.glyph{font-size:30pt}.worksheet .trace-cell{width:14mm;height:14mm;color:#aaa;print-color-adjust:exact;-webkit-print-color-adjust:exact}.worksheet .trace-cell.blank{color:transparent}.worksheet-prompt{min-width:30mm;font-size:18pt}.option{border:1px solid #aaa}.notice{background:none}.card-bottom a:after{content:none}a{color:inherit}body{margin:12mm}@page{size:A4;margin:12mm}}
#page-title:focus{outline:none}

#toast{pointer-events:none}
/* Shared multi-unit navigation and vowel/word activities */
[hidden]{display:none!important}
.unit-banner+.unit-banner{margin-top:18px}.unit-banner .actions{flex-shrink:0;max-width:40%}
.other-unit{display:block;margin:14px 10px 0;font-size:12px;line-height:1.7}
.mobile-unit-links{display:grid;gap:8px;padding:14px 0;border-bottom:1px solid var(--line);margin-bottom:10px}.mobile-unit-links .active{font-weight:700}
.selector-row{display:grid;grid-template-columns:100px minmax(0,1fr);align-items:center;gap:14px;margin:16px 0}.selector-row>span{font-size:14px;font-weight:650;color:var(--muted)}.selector-row .builder-buttons{margin:0}.builder-buttons button[aria-pressed=true]{background:var(--blue);color:white;border-color:var(--blue)}
.syllable-workshop{padding:22px;border:1px solid #d9e6fc;border-radius:18px;background:#f6f9ff;margin:24px 0}.syllable-workshop h3{margin-top:0}.syllable-workshop .composition{background:white;border-radius:14px;padding:22px 14px}.layout-readout{display:flex;gap:20px;align-items:center;justify-content:center;margin-top:22px}.layout-readout p{font-size:14px;margin:0;color:var(--muted)}.layout-readout strong{color:var(--ink)}.layout-diagram{display:flex;gap:3px;width:88px;height:88px;border:2px solid var(--blue);border-radius:8px;padding:4px;flex-shrink:0}.layout-diagram span{display:flex;justify-content:center;align-items:center;font-size:26px;background:#e5efff;flex:1;line-height:1}.layout-diagram.stacked{flex-direction:column}.layout-diagram.stacked span{font-size:25px}
.reading-choices{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.reading-choices button[aria-pressed=true]{border-color:var(--blue);background:var(--pale);color:var(--deep);box-shadow:inset 0 0 0 1px var(--blue)}.reading-choices .btn{flex:1;min-width:130px;font-size:13px}.heard-confirm{background:white;padding:14px;border-radius:10px;margin:20px 0}.word-target{text-align:center;font-size:82px;line-height:1.4;color:var(--deep);letter-spacing:.08em;padding:28px 10px;background:white;border:1px solid var(--line);border-radius:16px;margin:18px 0;word-break:keep-all}.word-target.compact{font-size:54px;padding:14px}
.compose-task{border:1px solid var(--line);border-radius:16px;padding:24px;margin:24px 0;background:#fbfcff}.compose-task h3{margin-top:0}.compose-row{border-top:1px solid var(--line);padding:18px 0}.compose-prompt{display:flex;align-items:center;gap:12px;font-size:31px;margin-bottom:14px}.compose-entry{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.syllable-input{width:96px;min-height:64px;padding:8px;text-align:center;font-size:32px;background:white;border:1px solid #acbdd7;border-radius:10px}.compose-entry select{min-height:48px;border:1px solid #acbdd7;border-radius:9px;background:white;padding:8px 12px;font-size:14px;flex:1;min-width:130px;max-width:250px}.compose-board{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px;padding:12px;background:var(--pale);border-radius:12px}.compose-board button{border:1px solid #bbceee;background:white;border-radius:8px;min-height:46px;min-width:48px;color:var(--deep)}.compose-board .target-text{font-size:26px}.compose-row .feedback{font-size:15px;margin-bottom:0}.compose-task .actions{align-items:flex-start}
.word-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:22px 0}.word-card{border:1px solid var(--line);border-radius:15px;padding:16px;background:white;text-align:center;min-width:0}.word-picture{display:block;width:100%;max-width:210px;margin:0 auto;line-height:0}.word-picture svg{display:block;width:100%;height:auto}.word-card h3{font-size:34px!important;margin:10px 0 0!important;line-height:1.5}.word-card .word-parts{font-size:14px;color:var(--muted);margin:4px 0 12px}.word-card strong{font-size:16px}.word-card p{font-size:14px;margin:8px 0 16px;line-height:1.7}.word-card .btn{margin-top:4px}.word-tabs{margin-bottom:20px}.word-tabs button{min-width:70px}.word-tabs .target-text{font-size:25px}.word-composition .component .big{font-size:42px}.word-composition .result .big{font-size:48px}.word-composition{gap:10px}.word-composition .component{min-width:0;flex:1}.word-composition .math{font-size:20px}.word-composition .icon-btn{margin:8px auto 0;display:flex}.meaning-card{max-width:360px;margin:16px auto}.meaning-card .word-card{padding:22px}.meaning-card .word-picture{max-width:220px}.word-stages{list-style:none;margin:16px 0 24px;padding:0;display:flex;gap:8px}.word-stages li{font-size:12px;flex:1;padding:9px 8px;border-bottom:2px solid #d9e1ec;color:var(--muted);line-height:1.5}.word-stages li.active{color:var(--blue);border-bottom-color:var(--blue);font-weight:750}.picture-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}.picture-choice{border:1px solid #cedaed;border-radius:14px;background:white;padding:12px;color:var(--deep);min-width:0}.picture-choice:hover:not(:disabled){border-color:var(--blue);background:#f6f9ff}.picture-choice:disabled{opacity:.82}.picture-number{font-size:12px;display:inline-grid;place-items:center;border:1px solid #dae2ed;border-radius:50%;width:26px;height:26px;margin-top:8px}.word-task .feedback .word-picture{max-width:140px}.picture-choice .word-picture{aspect-ratio:1;display:grid;place-items:center}
@media(max-width:850px){.unit-banner .actions{max-width:none}.word-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.word-card-grid .word-card:last-child:nth-child(odd){max-width:none}.word-target{font-size:70px}.selector-row{grid-template-columns:1fr;gap:6px}.syllable-workshop{padding:18px}.compose-task{padding:18px}.word-composition .component .big{font-size:34px}.word-composition .result .big{font-size:42px}}
@media(max-width:520px){.word-card-grid{grid-template-columns:1fr}.word-card-grid .word-card{display:grid;grid-template-columns:100px minmax(0,1fr);gap:0 15px;text-align:left}.word-card-grid .word-picture{grid-column:1;grid-row:1/6;align-self:center}.word-card-grid .word-card h3,.word-card-grid .word-card p,.word-card-grid .word-card strong,.word-card-grid .word-card .btn{grid-column:2}.word-card-grid .word-card .btn{justify-self:start}.word-card-grid .word-card h3{margin:0!important}.word-card-grid .word-card p{margin:4px 0 8px}.picture-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.picture-choice{padding:8px}.syllable-workshop{padding:14px}.syllable-workshop .composition{padding:18px 8px}.word-target{font-size:60px;padding:22px 8px}.word-target.compact{font-size:44px}.compose-task{padding:15px}.compose-prompt{font-size:27px}.compose-entry{gap:8px}.syllable-input{width:74px;font-size:29px}.compose-entry .btn{min-width:100%;justify-content:flex-start}.layout-diagram{width:72px;height:72px}.layout-readout{gap:12px}.word-stages{gap:5px}.word-stages li{font-size:11px;padding:8px 2px}.task-heading{align-items:flex-start;gap:8px;flex-wrap:wrap}.word-composition{gap:5px}.word-composition .component .big{font-size:30px}.word-composition .result .big{font-size:34px}.word-composition .math{font-size:16px}.word-composition .component{min-width:0}.composition .component{min-width:0}.reading-choices .btn{min-width:100%;justify-content:flex-start}.unit-banner{padding:23px}.worksheet-row{flex-wrap:wrap}}
@media print{.word-card,.compose-row,.meaning-card{break-inside:avoid}.compose-entry input{border:1px solid #777}.word-stages,.reading-choices,.word-tabs,.builder-buttons{display:none!important}}
.hero>div{min-width:0}.hero h1,.page-heading h1,.lesson-head h1{overflow-wrap:anywhere}html[lang=ja] .hero h1,html[lang=ja] .page-heading h1,html[lang=ja] .lesson-head h1{word-break:normal}
@media(max-width:850px){.hero{grid-template-columns:minmax(0,1fr)}}
@media(max-width:850px){.unit-banner{flex-direction:column;align-items:stretch;gap:18px}.unit-banner .actions{width:100%;margin-top:0;flex-shrink:1}.unit-banner .actions a{max-width:100%;white-space:normal}}

/* Shared letter and spelling activities for Unit 3. */
.combined-layout{display:grid;grid-template-columns:1fr .75fr;grid-template-rows:1fr .6fr;gap:3px;width:106px;height:106px;flex-shrink:0}
.combined-layout .layout-c{grid-column:1;grid-row:1}.combined-layout .layout-low{grid-column:1;grid-row:2;font-size:25px}.combined-layout .layout-right{grid-column:2;grid-row:1/3;font-size:35px}
.studio .task-heading h3{font-size:21px;margin:0}.studio .task-heading{align-items:center;gap:16px}
.studio-target{font-size:58px;line-height:1.45;letter-spacing:.04em;text-align:center;background:#fff;border:1px solid var(--line);border-radius:14px;padding:24px 12px;margin:22px 0;overflow-wrap:anywhere}
.studio-cue{background:white;border-left:3px solid var(--blue);padding:16px 20px;border-radius:0 12px 12px 0}
.studio-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}
.studio-option{border:1px solid #bfcee3;background:#fff;border-radius:13px;padding:18px 10px;min-height:68px;font-size:19px;font-weight:600;color:var(--deep);line-height:1.6;overflow-wrap:anywhere;cursor:pointer}
.studio-option[aria-pressed=true]{border-color:var(--blue);background:var(--pale);box-shadow:inset 0 0 0 1px var(--blue)}
.studio-option:hover{border-color:var(--blue)}.studio-option span[lang=ko]{font-size:1.6em}
.studio .feedback p{margin:8px 0}.studio-reading{margin:24px 0;padding:24px;background:white;border:1px solid var(--line);border-radius:16px}.studio-reading h4{font-size:17px;margin:0 0 14px}.studio-read-word{font-size:44px!important;line-height:1.5;color:var(--deep);text-align:center}
.u3-meaning-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:20px 0 26px}.u3-meaning-card{border:1px solid var(--line);background:#fff;border-radius:15px;padding:20px;min-width:0}.u3-meaning-card h4{font-size:32px;margin:0 0 12px;color:var(--deep)}.u3-meaning-card p{font-size:15px;line-height:1.85;margin:10px 0 16px}.meaning-symbol{display:block;font-family:'Noto Color Emoji','Apple Color Emoji','Segoe UI Emoji',sans-serif;font-size:70px;text-align:center;line-height:1.45;margin:10px auto;min-height:95px}.u3-meaning-card .meaning-symbol{float:right;font-size:46px;min-height:64px;margin:0 0 8px 12px}
.studio .rubric-item{font-size:14px}.studio .tag{white-space:nowrap}.studio-solutions .answer-item p{overflow-wrap:anywhere}
@media(max-width:700px){.studio-options{grid-template-columns:1fr}.studio-option{min-height:54px;padding:12px}.studio-option span[lang=ko]{font-size:1.5em}.studio-reading{padding:16px}.studio-target{font-size:44px;padding:20px 8px}.u3-meaning-grid{grid-template-columns:1fr}.studio .task-heading{align-items:flex-start}.studio .task-heading h3{font-size:18px}.combined-layout{width:88px;height:88px}.combined-layout .layout-right{font-size:29px}.studio .actions .btn{white-space:normal;max-width:100%}}
@media(max-width:350px){.studio-target{font-size:37px}.studio .task-heading h3{font-size:16px}.studio{padding:16px}.u3-meaning-card{padding:16px}.combined-layout{width:74px;height:80px}.combined-layout .layout-right{font-size:25px}.studio-read-word{font-size:36px!important}}
@media print{.studio-options,.studio .actions,.studio-reading .actions,.studio-reading .rubric-item{display:none!important}.studio-target{font-size:30pt}.studio,.u3-meaning-card,.studio-reading{break-inside:avoid}.studio{border:0}.meaning-symbol{print-color-adjust:exact;-webkit-print-color-adjust:exact}}

/* Shared batchim activities; no production-only content. */
.composition.has-final {display:flex;flex-wrap:wrap;justify-content:center;gap:8px;align-items:center}
.composition.has-final .component {min-width:74px;max-width:150px;flex:1 1 74px}
.composition.has-final .big {font-size:clamp(38px,6vw,60px)}
.composition.has-final .math {flex:0 0 12px;font-size:23px}
.composition.has-final .component small {overflow-wrap:anywhere}
.coda-diagram {display:flex;flex-direction:column;width:138px;padding:10px;border:2px solid #c6d6ec;border-radius:16px;background:#f7faff;flex-shrink:0}
.coda-diagram .layout-diagram {width:114px;min-width:0;max-width:100%;height:90px;border:0;border-radius:8px 8px 0 0;margin:0;padding:4px;background:white}
.coda-diagram .layout-diagram span {font-size:32px;line-height:1.1}
.coda-diagram .layout-final {display:block;text-align:center;font-size:34px;line-height:1.25;border-top:2px dashed #8faecc;background:#e6effd;border-radius:0 0 8px 8px;padding:4px;color:#143f85}
.batchim-card-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(min(185px,100%),1fr));gap:14px;margin:22px 0}
.batchim-card {padding:18px;border:1px solid var(--line,#dce5ef);border-radius:18px;display:flex;align-items:center;flex-direction:column;background:#fff;text-align:center;min-width:0}
.batchim-word {font-size:44px;margin-bottom:12px;color:#152946}
.batchim-card>p {font-size:.9em;flex:1;overflow-wrap:anywhere}
.batchim-card .layout-diagram {width:138px;min-width:0}
.batchim-card .coda-diagram .layout-diagram {width:114px}
.final-sound-board {padding:20px;border:1px solid #c9d9ed;border-radius:20px;background:#f8fbff;margin:22px 0}
.final-sound-columns {display:grid;grid-template-columns:minmax(0,1fr) 25px minmax(0,1fr);gap:10px;align-items:center;margin:22px 0}
.final-sound-columns>div {text-align:center;min-width:0;padding:14px 8px;background:white;border:1px solid #dce6f2;border-radius:14px}
.final-sound-columns h3 {font-size:.9em;min-height:2.7em;margin:0 0 12px;overflow-wrap:anywhere}
.final-sound-columns strong {font-size:clamp(35px,5vw,56px);line-height:1.3;color:#164886}
.final-sound-columns p {font-size:.85em;overflow-wrap:anywhere}
.sound-arrow {font-size:24px;color:#4b6d99}
.first-choice-stage {border-top:1px solid #dce5ef;margin-top:20px;padding-top:18px}
.difficult-toggle {background:#fff7df;border:1px solid #ead59b;border-radius:10px;margin:14px 0 6px;padding:12px}
.difficulty-summary {margin:15px 0;padding:14px;border:1px solid #ead59b;background:#fffbf0;border-radius:14px}
.difficulty-summary h4 {margin:0 0 10px}
.difficulty-summary .cards {margin:10px 0;gap:8px}
.difficulty-summary .glyph {font-size:27px;min-width:42px;padding:4px}
@media(max-width:480px){
 .composition.has-final {gap:5px;padding:12px 6px}
 .composition.has-final .component {flex:0 1 calc((100% - 45px)/3);min-width:56px}
 .composition.has-final .component.result {flex-basis:100%;max-width:none;border-top:1px solid #dce5ef;margin-top:10px;padding-top:12px}
 .composition.has-final .equals {display:none}
 .composition.has-final .big {font-size:37px}
 .composition.has-final .math {flex-basis:8px;font-size:18px}
 .final-sound-board {padding:12px}
 .final-sound-columns {gap:6px;grid-template-columns:minmax(0,1fr) 18px minmax(0,1fr)}
 .final-sound-columns>div {padding:12px 4px}
 .final-sound-columns strong {font-size:36px}
 .final-sound-columns p {font-size:.8em}
 .sound-arrow {font-size:18px}
 .batchim-card-grid {grid-template-columns:1fr}
 .first-reading .reading-choices {flex-direction:column}
 .first-reading .reading-choices button {width:100%;white-space:normal}
}
@media print {.coda-diagram,.final-sound-board,.batchim-card{break-inside:avoid}.difficulty-summary{background:white}}

.builder-buttons button[data-action="builder-f"][data-letter=""] {width:auto;min-width:70px;max-width:100%;padding-inline:12px;font-size:16px;white-space:normal;overflow-wrap:anywhere}

/* Shared HG-U05 layout; no previous-lesson selectors are overridden. */
.u5-link-board{padding:22px;border:1px solid #d7e2ee;border-radius:20px;background:#f5f8fc;margin:20px 0}.u5-link-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}.u5-link-tabs .chip{padding:10px 16px;background:white;border:1px solid #cad8eb;border-radius:12px;cursor:pointer;font:inherit}.u5-link-tabs .chip[aria-pressed=true]{background:#1558d6;color:white;border-color:#1558d6}.u5-link-columns{display:grid;grid-template-columns:minmax(0,1fr) 35px minmax(0,1fr);align-items:center;text-align:center;gap:10px}.u5-link-columns article{min-width:0;background:white;border:1px solid #e1e8f0;border-radius:16px;padding:22px 8px}.u5-link-columns strong{display:block;font-size:clamp(30px,5vw,54px);font-weight:700;color:#102b50;overflow-wrap:anywhere}.u5-link-columns .eyebrow{letter-spacing:0;font-size:13px}.u5-parts{font-size:22px;padding:12px 0;overflow-wrap:anywhere}.u5-parts span{color:#6a7d95}.u5-connector{color:#1558d6;font-size:28px}.u5-audio-compare{display:flex;flex-wrap:wrap;gap:12px;margin:18px 0}.u5-audio-part{flex:1;min-width:180px;padding:16px;background:#f6f8fc;border-radius:14px}.u5-lab .task-heading{gap:12px;flex-wrap:wrap}.u5-listen-cover{padding:42px 20px;text-align:center;border:1px dashed #bccde3;background:#f4f8fe;border-radius:18px;margin:16px 0}.u5-listen-cover h4{font-size:22px}.u5-listen-cover p{margin-bottom:0}.u5-lab .actions{gap:10px;flex-wrap:wrap}.u5-answer{font-size:28px;font-weight:700}.u5-read-again{margin:20px 0;padding:18px;border:1px solid #d9e5ee;border-radius:14px}.u5-read-again button[aria-pressed=true]{background:#e3eeff;border-color:#1558d6;color:#0b459f}.u5-spacing-example{padding:20px;background:#f5f8fc;border-radius:14px}.u5-spacing-example>div{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:26px}.u5-spacing-example>div span{padding:10px;border:1px solid #d2e0ef;border-radius:8px;background:white}.u5-spacing-example b{color:#1558d6}.u5-spacing-editor{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:2px;background:#f4f8fe;padding:24px 6px;border-radius:16px;margin:18px 0}.u5-letter{font-size:clamp(24px,4vw,39px);font-weight:650}.u5-gap{height:48px;min-width:28px;border:1px dashed #90a5be;border-radius:7px;background:white;color:#5d7189;font-size:20px;cursor:pointer}.u5-gap[aria-pressed=true]{background:#1558d6;color:white;border-style:solid}.u5-space-output{padding:14px 18px;background:white;border:1px solid #d9e5ee;border-radius:10px;font-size:28px;white-space:pre-wrap;overflow-wrap:anywhere;min-height:64px}.u5-photo-controls p{margin:8px 0}.u5-sign-gallery,.u5-photo-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0}.u5-photo{margin:0;padding:8px;background:#f2f4f7;border-radius:10px}.u5-photo figcaption{text-align:center;margin-top:8px;font-size:23px}.u5-crop{width:100%;position:relative;overflow:hidden;min-height:25px;background:#dde5ec}.u5-crop img{position:absolute;max-width:none;height:auto;display:block}.u5-photo-option{min-width:0;padding:5px;border:2px solid #d7e0e9;background:white;border-radius:13px;cursor:pointer}.u5-photo-option[aria-pressed=true]{border-color:#1558d6;background:#eef4ff}.u5-photo-option:disabled{opacity:.55;cursor:not-allowed}.u5-result-list{display:grid;gap:10px;margin:20px 0}.u5-result-list article{border-left:4px solid #b9cce2;padding:14px 18px;background:#f5f8fb;border-radius:8px}.u5-result-list article.good{border-color:#278362}.u5-result-list article.bad{border-color:#b85641}.u5-result-list strong{font-size:25px;margin-right:16px}.u5-result-list p{margin:7px 0}.u5-record-summary{margin:10px 0}.u5-record-summary .fine{font-size:13px}@media(max-width:560px){.u5-link-board{padding:12px}.u5-link-columns{grid-template-columns:minmax(0,1fr) 20px minmax(0,1fr);gap:4px}.u5-link-columns article{padding:16px 4px}.u5-link-columns .btn{padding:9px 5px;font-size:12px;gap:3px;white-space:normal;justify-content:center}.u5-link-columns strong{font-size:30px}.u5-parts{font-size:18px}.u5-link-tabs .chip{padding:8px 10px}.u5-sign-gallery,.u5-photo-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.u5-letter{font-size:24px}.u5-gap{min-width:24px}.u5-spacing-editor{row-gap:10px;justify-content:flex-start}.u5-audio-part{min-width:0;flex-basis:100%}.u5-lab{padding:15px!important}.u5-answer{font-size:23px}.u5-read-again{padding:12px}.u5-crop{min-height:20px}.u5-lab .btn{max-width:100%;white-space:normal}}@media print{.u5-link-tabs,.u5-audio-compare,.u5-photo-controls{display:none}.u5-link-board,.u5-lab{break-inside:avoid}.u5-gap{border-color:#999}.u5-listen-cover{display:none}}

/* Unit 6 component rules. Shared typography and spacing remain the baseline. */
.u6-labels,.u6-sign-grid,.u6-skills{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:22px 0}.u6-badge{padding:24px;border:1px solid var(--line,#dfe6f0);border-radius:14px;background:#f8fafc}.u6-badge strong{display:block;font-size:clamp(28px,4vw,44px);letter-spacing:.03em;margin-top:14px}.u6-signboard{background:#f3f6fa;border:1px solid #e0e7ef;border-radius:18px;padding:20px}.u6-sign{display:flex;justify-content:space-between;align-items:center;gap:12px;border-radius:9px;padding:15px 18px;font-size:clamp(24px,3vw,35px);font-weight:750;background:#1558d6;color:white;min-width:0}.u6-sign.green{background:#166a58}.u6-sign.red{background:#942c35}.u6-sign b{font-size:1.35em}.u6-sign-grid article p{font-size:14px;line-height:1.6;margin:8px 2px}.u6-life{padding:24px;border-radius:18px;border:1px solid #cfdbeb;background:#fcfdff;margin:24px 0}.u6-progress{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;font-size:14px;color:#55667e;margin-bottom:18px}.u6-life h3{font-size:23px;line-height:1.5;margin:14px 0 20px;overflow-wrap:anywhere}.u6-target{display:flex;flex-direction:column;align-items:center;gap:10px;border-radius:14px;padding:28px 16px;margin:20px 0;background:#eff5ff;color:#102642}.u6-target strong{font-size:clamp(42px,7vw,64px);line-height:1.5}.u6-target small{font-size:13px}.u6-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:22px 0}.u6-option{min-width:0;min-height:72px;padding:12px;border:2px solid #dfe7f0;background:#fff;border-radius:12px;font:inherit;font-size:26px;color:#172c45;cursor:pointer;overflow-wrap:anywhere}.u6-option.selected{border-color:#1558d6;background:#edf4ff;box-shadow:0 0 0 2px #1558d611}.u6-option .u6-sign{font-size:22px;padding:12px 8px;gap:5px}.u6-inputbox{padding:18px 0}.u6-inputbox label{display:block;margin:16px 0 10px}.u6-inputbox input{width:100%;box-sizing:border-box;min-height:62px;padding:12px 16px;font-size:clamp(25px,4vw,34px);font-family:inherit;border:2px solid #a9bdd4;border-radius:10px;color:#16283f;background:white}.u6-inputbox input:focus{outline:3px solid #93b9ff;outline-offset:2px}.u6-inputbox .actions{flex-wrap:wrap}.u6-keyaid{padding:15px;background:#eff3f9;border-radius:12px;margin-top:18px}.u6-keyaid p{font-size:14px}.u6-keys{display:flex;flex-wrap:wrap;gap:7px}.u6-key{min-width:44px;min-height:46px;border:1px solid #c8d5e6;border-radius:7px;background:white;color:#1b2c45;font:inherit;font-size:22px;cursor:pointer}.u6-key.wide{padding:0 16px;font-size:16px}.u6-stale{font-size:14px;color:#815315}.u6-skill{padding:18px;border:1px solid #dbe4ef;border-radius:12px;background:white}.u6-skill h4{margin:0 0 12px;font-size:18px}.u6-skill p{font-size:14px;line-height:1.7}.u6-review-choice{border:1px solid #dbe4ef;border-radius:12px;padding:18px;margin:20px 0}.u6-review-choice legend{font-weight:700;max-width:100%;padding:0 6px}.u6-review-choice .btn{margin:4px}.u6-keyguide{border:1px solid #dbe4ef;border-radius:14px;padding:20px;margin:20px 0}.u6-keyguide details{padding:15px 0;border-top:1px solid #e5ebf3}.u6-keyguide summary{font-weight:700;cursor:pointer}.u6-keyguide a{color:#1558d6;text-decoration:underline}.u6-solutions article{padding:16px 0;border-bottom:1px solid #dfe7f0}.u6-solutions h3{margin-top:0}.u6-life .btn{white-space:normal;text-align:center;max-width:100%;overflow-wrap:anywhere}.u6-summary>h3{margin-top:8px}.u6-record{font-size:14px;color:#375477}
@media(max-width:650px){.u6-labels,.u6-skills{grid-template-columns:1fr}.u6-sign-grid{grid-template-columns:1fr}.u6-life{padding:16px 12px}.u6-options{grid-template-columns:1fr}.u6-option{font-size:28px;min-height:58px}.u6-option .u6-sign{font-size:27px}.u6-signboard{padding:14px}.u6-progress .tag{white-space:normal}.u6-inputbox{padding:10px 0}.u6-inputbox .actions{gap:8px}.u6-badge{padding:20px}.u6-review-choice{padding:12px}.u6-life h3{font-size:21px}.u6-keyguide{padding:14px}}
@media print{.u6-life .actions,.u6-keyaid,.u6-review-choice button{display:none}.u6-life,.u6-skill{break-inside:avoid}.u6-sign{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
/* Learner-facing repairs: compact guidance, retrieval, and separate activity results. */
.repair-panel,.readiness-panel{border:1px solid var(--line,#dce3ed);border-radius:18px;padding:22px;margin:20px 0;background:#f8fbff;overflow-wrap:anywhere}
.repair-panel h3,.readiness-panel h3{margin-top:0}.coach-row{border-top:1px solid #dce3ed;padding:10px 0}.coach-row h4{font-size:1.25em;margin:8px 0}.coach-row p{margin:8px 0;line-height:1.85}
.repair-target{font-size:clamp(30px,5vw,48px);font-weight:700;text-align:center;margin:22px 0;letter-spacing:.02em}.repair-prompt{text-align:center;font-size:1.3em}.repair-tabs{display:flex;gap:8px;flex-wrap:wrap}.repair-tabs button[aria-pressed=true],.repair-panel button[aria-pressed=true]{background:#e5efff;border-color:#245fd0;color:#173d80}
.recall-card,.warmup-card{border-top:1px solid #dce3ed;padding:18px 0}.readiness-panel.need{background:#fff8ec;border-color:#e2ba73}.readiness-panel.ready{background:#f1faf7;border-color:#93cdb5}.readiness-panel.pending{background:#f6f8fb}.readiness-badge{display:inline-block;border-radius:7px;font-size:12px;line-height:1.5;padding:4px 8px;white-space:normal}.readiness-badge.need{background:#ffedc4;color:#775009}.readiness-badge.pending{background:#e8edf4;color:#3d4a5d}.readiness-badge.ready{background:#daf1e7;color:#185840}
.local-signs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.local-sign{border:1px solid #d3deed;border-radius:14px;background:white;padding:18px;text-align:center}.local-sign>div{background:#eef4ff;border:2px solid #26558d;border-radius:8px;font-size:clamp(23px,5vw,36px);font-weight:750;padding:14px 5px;color:#163d70}.local-sign p{font-size:15px;line-height:1.65;min-height:3em}.card-number{flex-wrap:wrap;gap:6px}.record .readiness-panel{font-size:14px;padding:14px}.repair-panel button,.readiness-panel .btn{max-width:100%;white-space:normal;height:auto;min-height:42px}
@media(max-width:480px){.repair-panel,.readiness-panel{padding:15px}.local-signs{grid-template-columns:1fr}.repair-panel .actions{gap:7px}.repair-tabs .btn{flex:1 1 110px}.repair-target{font-size:34px}.lesson-topline .tag-row{display:block}.lesson-topline .tag{margin-bottom:5px}}
/* Language spans must remain inline inside remediation links. */
.repair-link span[lang]{display:inline;margin:0;font-size:inherit;color:inherit}
.readiness-panel .repair-link{line-height:1.7;word-break:normal}
@media(max-width:480px){.readiness-panel .repair-link{font-size:14px}}

/* Additive communication UI. Existing Hangul layout is unchanged. */
.b1-home-hero{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center;padding:48px 0 36px}.b1-home-hero>div{min-width:0}.b1-home-hero h1{font-size:clamp(32px,4.1vw,56px);line-height:1.2;letter-spacing:-.04em;margin:14px 0 22px;color:var(--deep)}.b1-home-hero>div>p:not(.eyebrow){font-size:18px;line-height:1.9;color:var(--muted)}.b1-hero-conversation{padding:36px;background:linear-gradient(135deg,#eaf2ff,#f6f8ff);border:1px solid var(--line);border-radius:26px;min-width:0}.b1-hero-glyph{letter-spacing:.15em;color:#839abc;font-size:30px;margin-bottom:28px}.b1-hero-line{font-size:clamp(23px,2.8vw,36px);background:white;box-shadow:0 6px 24px #17366509;border-radius:17px 17px 17px 2px;padding:20px;margin:15px 28px 15px 0}.b1-hero-line.reply{margin-left:28px;margin-right:0;border-radius:17px 17px 2px 17px;background:var(--blue);color:white}.b1-hero-foot{color:var(--muted);font-size:13px;text-align:right;margin-top:24px}.b1-course-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:24px 0 38px}.b1-course-card{border:1px solid var(--line);background:white;border-radius:22px;padding:30px;min-width:0}.b1-course-card h2{font-size:25px;line-height:1.4;letter-spacing:-.025em}.b1-course-card p{line-height:1.85;color:var(--muted)}.b1-course-display{font-size:36px;color:var(--blue);font-weight:650;letter-spacing:-.035em;padding:26px 0 12px}.b1-course-progress{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:18px 0 28px}.b1-course-progress article{border:1px solid var(--line);border-radius:16px;padding:18px;background:white}.b1-course-progress strong{font-size:28px}.b1-path-flow{display:flex;flex-wrap:wrap;gap:15px;align-items:center;margin:25px 0;font-size:24px;color:var(--blue)}.lesson-card.phrase-card .card-glyphs{font-size:19px;line-height:1.6;overflow-wrap:anywhere;letter-spacing:0}.b1-profiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr));gap:16px;margin:24px 0}.b1-profile{border:1px solid #c9d8ed;border-radius:16px;padding:20px;max-width:440px;background:linear-gradient(125deg,#f7faff,#fff);margin:18px 0;min-width:0}.b1-profiles .b1-profile{margin:0;max-width:none}.b1-profile-head{display:flex;align-items:center;gap:14px;margin-bottom:18px}.b1-profile-head .eyebrow{font-size:11px;display:block;margin:0 0 5px}.b1-profile-head strong{font-size:26px}.b1-person-mark{display:grid;place-items:center;background:#dbe9ff;color:#174f9d;border-radius:50%;width:49px;height:49px;font-size:23px;flex:0 0 49px}.b1-profile dl{margin:0}.b1-profile dl>div{display:grid;grid-template-columns:minmax(76px,.7fr) minmax(0,1fr);gap:14px;padding:9px 0;border-top:1px solid #e5edf8}.b1-profile dt{color:var(--muted);font-size:14px}.b1-profile dd{margin:0;font-size:19px}.b1-profile dd small{display:block;font-size:13px;color:var(--muted)}.b1-vocab{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:12px;margin:24px 0}.b1-vocab>div{padding:17px;border:1px solid var(--line);border-radius:12px;background:#fbfcff;min-width:0}.b1-vocab dt{font-size:22px;font-weight:650;color:var(--deep);margin-bottom:7px}.b1-vocab dd{margin:0;font-size:15px;line-height:1.75;color:var(--muted)}.b1-dialogue{padding:22px;background:#f5f8fd;border:1px solid var(--line);border-radius:18px;margin:24px 0}.b1-dialogue h3{font-size:19px!important;margin:0 0 23px!important}.b1-dialogue-line{display:flex;align-items:flex-start;gap:10px;margin:17px 25px 17px 0}.b1-dialogue-line.reply{margin:17px 0 17px 25px;flex-direction:row-reverse}.b1-speaker{font-size:12px;flex:0 0 36px;min-height:36px;border:1px solid #d0dbed;background:white;border-radius:50%;display:grid;place-items:center}.b1-dialogue-line>div{background:white;border:1px solid #dfe7f2;border-radius:0 14px 14px 14px;padding:16px 20px;min-width:0;flex:1}.b1-dialogue-line.reply>div{background:#eaf1ff;border-radius:14px 0 14px 14px}.b1-dialogue-line p[lang=ko]{font-size:22px!important;line-height:1.7!important;margin:0 0 8px!important;word-break:keep-all;overflow-wrap:anywhere}.b1-dialogue-line summary{color:#385f90;font-size:13px;cursor:pointer}.b1-dialogue-line p.b1-meaning{font-size:15px;line-height:1.75;margin:12px 0 0}.b1-scene{display:grid;grid-template-columns:1fr 42px 1fr;align-items:center;margin:25px 0;background:#f4f7fb;border:1px solid var(--line);padding:20px;border-radius:18px;gap:12px}.b1-scene-person{display:flex;flex-direction:column;align-items:center;text-align:center;gap:9px;padding:18px 10px;border:1px solid #d5e0ef;border-radius:14px;background:white;min-width:0}.b1-scene-person.speaking{border-color:#82a8e0;background:#eaf2ff}.b1-scene-person strong{font-size:30px}.b1-scene-person .eyebrow{font-size:11px;line-height:1.5}.b1-scene-person>span:last-child{font-size:14px}.b1-scene-arrow{font-size:25px;text-align:center;color:var(--blue)}.b1-workshop,.b1-mission,.b1-mission-summary{padding:25px;background:#f6f9fe;border:1px solid #d2e0f3;border-radius:20px;margin:24px 0}.b1-built{background:white;border:1px solid #d2dfee;padding:20px;border-radius:15px;margin:22px 0}.b1-built p{font-size:27px!important;margin:12px 0 0!important;line-height:1.65!important;min-height:45px}.b1-token-bank{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.b1-token{border:1px solid #a9c3e5;background:white;color:#164477;border-radius:10px;padding:12px 17px;min-height:48px;font-size:21px;cursor:pointer}.b1-token:disabled{opacity:.38;cursor:default}.b1-token:not(:disabled):hover{border-color:var(--blue);background:#eaf2ff}.b1-response-options{display:grid;gap:12px;margin:22px 0}.b1-response-option{background:white;border:1px solid #b2c9e8;border-radius:12px;font-size:21px;padding:17px 20px;min-height:55px;color:var(--deep);cursor:pointer;line-height:1.6;text-align:left}.b1-response-option[aria-pressed=true]{background:#e5efff;box-shadow:inset 0 0 0 1px var(--blue);border-color:var(--blue)}.b1-input-label{display:block;font-size:15px;font-weight:650;margin:20px 0 10px}#b1-answer{display:block;width:100%;box-sizing:border-box;border:1px solid #aec3e0;border-radius:12px;padding:18px;font-family:inherit;font-size:22px;line-height:1.8;background:white;color:var(--deep);resize:vertical;min-height:132px}#b1-answer:focus{outline:3px solid #bdd5fa;border-color:var(--blue)}.b1-question-bubble{background:white;border-left:4px solid var(--blue);border-radius:0 14px 14px 0;padding:16px 20px;margin:20px 0}.b1-question-bubble p[lang=ko]{font-size:24px!important;line-height:1.7!important;margin:8px 0 0!important}.b1-say{padding:20px;background:white;border:1px solid var(--line);border-radius:15px;margin:20px 0}.b1-say h4{margin:0 0 14px}.b1-say p[lang=ko]{font-size:24px}.b1-workshop [aria-pressed=true],.b1-say [aria-pressed=true]{background:#dceaff;border-color:var(--blue);color:#164477}.b1-response-list{display:grid;gap:12px;margin:20px 0}.b1-response-list article{padding:18px;border:1px solid var(--line);border-radius:12px;background:white}.b1-response-list p[lang=ko]{font-size:20px}.b1-written-dialogue{padding:18px;background:white;border:1px solid var(--line);border-radius:16px;margin:20px 0}.b1-written-dialogue p{display:flex;flex-direction:column;gap:7px;padding:14px 17px;border-radius:12px;font-size:21px;background:#f5f7fb;margin:14px 30px 14px 0}.b1-written-dialogue .mine{background:#e6efff;margin-left:30px;margin-right:0}.b1-written-dialogue strong{font-size:12px;color:var(--muted)}.b1-review-choice{border:1px solid #afc6e6;border-radius:12px;padding:22px;margin:25px 0;background:white}.b1-review-choice label{display:block;padding:10px;font-size:16px}.b1-write-line{height:45px;border-bottom:1px solid #acbed8;margin:5px 0 15px}.b1-expression-library{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr));gap:16px;margin:20px 0}.b1-expression-library article{border:1px solid var(--line);border-radius:14px;padding:22px;background:white}.b1-expression-library h3{font-size:18px}.b1-expression-library p{font-size:20px;line-height:1.7}.b1-mission .fine,.b1-workshop .fine{line-height:1.75}.b1-bridge{margin:20px 0;padding:17px;background:#f5f8fd;border-radius:12px}.b1-bridge p{font-size:14px!important;margin:7px 0!important}.b1-unit .cards .glyph{font-size:22px;line-height:1.65;word-break:keep-all;overflow-wrap:anywhere}.b1-unit .cards{gap:12px;flex-wrap:wrap}.b1-unit .cards .glyph{min-width:0;max-width:100%;padding:14px 18px}.b1-unit p,.b1-unit td,.b1-unit button,.b1-unit h2,.b1-unit h3,.b1-unit strong,.b1-unit label{overflow-wrap:anywhere}.b1-unit .reading-panel{min-width:0}.b1-unit .feedback .target-text{font-size:inherit}.b1-unit .table-wrap{max-width:100%}.b1-unit [data-b1-feedback][hidden]{display:none!important}
@media(max-width:850px){.b1-home-hero{grid-template-columns:minmax(0,1fr);gap:22px;padding:30px 0}.b1-course-grid{grid-template-columns:minmax(0,1fr)}.b1-course-card{padding:23px}.b1-hero-conversation{padding:24px}.b1-hero-line{font-size:28px}.b1-course-progress{grid-template-columns:minmax(0,1fr)}.b1-scene{padding:12px;gap:8px;grid-template-columns:1fr 26px 1fr}.b1-scene-person{padding:14px 7px}.b1-scene-arrow{font-size:21px}.b1-workshop,.b1-mission,.b1-mission-summary{padding:18px}.b1-dialogue{padding:15px}.b1-dialogue-line{margin-right:10px}.b1-dialogue-line.reply{margin-left:10px}.b1-dialogue-line>div{padding:13px}.b1-response-option{padding:15px;font-size:20px}}
@media(max-width:390px){.b1-home-hero h1{font-size:32px}.b1-hero-line{font-size:23px}.b1-hero-line.reply{margin-left:12px}.b1-profile{padding:16px}.b1-mission,.b1-workshop,.b1-mission-summary{padding:14px}.b1-dialogue-line{gap:6px;margin-right:0}.b1-dialogue-line.reply{margin-left:0}.b1-speaker{flex-basis:29px;font-size:10px;min-height:29px}.b1-dialogue-line p[lang=ko]{font-size:20px!important}.b1-built p{font-size:23px!important}.b1-token{font-size:18px;padding:11px 13px}.b1-scene-person strong{font-size:25px}.b1-course-display{font-size:30px}.b1-question-bubble p[lang=ko]{font-size:21px!important}.b1-unit .cards .glyph{font-size:19px}.b1-written-dialogue p{font-size:18px;margin-right:12px}.b1-written-dialogue .mine{margin-left:12px}}
@media print{.b1-write-line{height:45px}.b1-worksheet .b1-profile{break-inside:avoid}.b1-worksheet .worksheet-section{break-before:page}.b1-worksheet .worksheet-section:first-of-type{break-before:auto}.b1-workshop .actions,.b1-token-bank,.b1-mission .actions{display:none}.b1-profile,.b1-dialogue-line,.b1-vocab>div{break-inside:avoid}}

/* B1-U02: semantic diagrams; no external images, no learner-uploaded data. */
.u2-scene{margin:22px 0;padding:22px;border:1px solid #d8e3f3;border-radius:16px;background:#f7faff;min-width:0;font-size:15px;line-height:1.6}
.u2-scene figcaption{font-size:12px;font-weight:700;letter-spacing:.06em;color:var(--blue);margin:0 0 18px}
.u2-scene h4,.u2-scene p{margin:0 0 12px}.u2-role{display:flex;gap:10px;align-items:center;background:#fff;border-radius:9px;padding:9px 12px;font-size:13px}.u2-role strong{font-size:21px}
.u2-people{display:flex;align-items:center;gap:20px;margin-bottom:18px;background:#fff;border-radius:12px;padding:12px 16px}.u2-people>div{flex:1;display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}.u2-people strong{font-size:24px;color:var(--deep)}.u2-people span{font-size:12px;color:var(--muted)}
.u2-zones{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.u2-zone{border:1px dashed #b9cbe6;border-radius:12px;padding:12px 8px;background:#fff;min-width:0}.u2-zone h4{font-size:12px;text-align:center;min-height:36px;line-height:1.5;color:var(--muted)}
.u2-things{display:flex;flex-wrap:wrap;justify-content:center;gap:9px}.u2-object{display:inline-flex;align-items:center;flex-direction:column;text-align:center;gap:4px;color:var(--deep);padding:8px;min-width:0;max-width:100%;line-height:1.4;border:2px solid transparent;border-radius:11px}.u2-object strong{font-size:19px;overflow-wrap:anywhere}.u2-object small{font-size:11px;color:var(--muted)}.u2-glyph{width:38px;height:42px;color:#3068bc}.u2-object.is-target{border-color:var(--blue);background:#edf3ff}.u2-object .u2-target{color:var(--blue);font-weight:700;font-size:10px}
.u2-stock-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.u2-stock{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px;display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}.u2-stock.no{border-style:dashed}.u2-status{display:flex;align-items:center;flex-direction:column;font-size:12px;font-weight:650;text-align:center}.u2-status b{font-size:23px}.yes .u2-status{color:var(--green)}.no .u2-status{color:var(--red)}.unknown .u2-status{color:#655524}
.u2-owner-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.u2-property{display:flex;gap:12px;background:#fff;padding:15px;border:1px solid var(--line);border-radius:12px;align-items:center;min-width:0}.u2-property-info{display:grid;gap:3px;min-width:0}.u2-property-info>span{font-size:11px;color:var(--muted)}.u2-property-info>strong{font-size:18px;line-height:1.5;overflow-wrap:anywhere}
.u2-floorplan{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:10px;background:#e2eaf5;border:1px solid #b6c9e3;border-radius:13px}.u2-room{background:#fff;padding:14px;border:2px solid #fff;border-radius:8px;min-height:135px;min-width:0}.u2-room.is-target{border-color:var(--blue);background:#f0f6ff}.u2-room h4{font-size:21px;color:var(--deep);margin:0}.u2-room small{font-size:12px;color:var(--muted)}.u2-room-people{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.u2-person{display:inline-flex;align-items:center;gap:7px;font-weight:650;font-size:15px}.u2-person i{border-radius:50%;font-style:normal;width:29px;height:29px;display:grid;place-items:center;color:#28528c;background:#edf3ff;font-size:12px}
.u2-position-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(3,minmax(90px,auto));gap:9px;max-width:490px;margin:12px auto;position:relative;isolation:isolate;padding:10px}.u2-reference{border:1px solid #bbcce3;border-radius:11px;background:#fff;display:flex;align-items:center;justify-content:center;flex-direction:column;min-width:0;z-index:1}.u2-reference>span{font-size:10px;color:var(--muted)}.u2-position-target{display:flex;align-items:center;justify-content:center;z-index:2;min-width:0}.u2-position-board.is-height{background:linear-gradient(to bottom,#eff6ff 0%,#eff6ff 70%,#e3eaf3 70%,#e3eaf3 100%);border-radius:12px}.u2-position-board.is-plan{background:repeating-linear-gradient(0deg,#e9eff8,#e9eff8 1px,transparent 1px,transparent 22px),repeating-linear-gradient(90deg,#e9eff8,#e9eff8 1px,transparent 1px,transparent 22px),#fff;border:1px solid #d5dfef;border-radius:12px}.u2-height-line{position:absolute;left:8%;right:8%;top:58%;height:2px;background:#9fb5d2;z-index:0}.u2-front-arrow{font-size:25px;color:var(--blue);line-height:1.1;margin-bottom:5px}.u2-view-label{font-size:12px;font-weight:650;color:var(--muted)}.u2-scene-description{font-size:12px;color:var(--muted);margin-top:14px}.u2-scene-description p{padding-top:8px}
.u2-locator{padding:22px;border:1px solid var(--line);background:#fff;border-radius:16px;margin:24px 0}.u2-locator h3{margin-top:0}.u2-locator .u2-scene{padding:16px;margin:16px 0}.u2-position-controls{display:flex;flex-wrap:wrap;gap:8px}.u2-position-controls .btn{display:flex;flex-direction:column;gap:2px;min-width:60px;flex:1;padding:10px 8px}.u2-position-controls .btn>span{font-size:22px}.u2-position-controls .btn small{font-size:10px;font-weight:500}.u2-position-controls .btn[aria-pressed=true]{background:var(--blue);border-color:var(--blue);color:#fff}.u2-example{padding:20px;border-radius:12px;background:#edf3ff;margin-top:16px;text-align:center;color:var(--deep)}.u2-example strong{font-size:24px;line-height:1.6}
@media(max-width:600px){.u2-scene{padding:14px}.u2-zones{grid-template-columns:1fr}.u2-zone{display:flex;align-items:center;gap:12px}.u2-zone h4{width:80px;flex-shrink:0;min-height:0;margin:0;text-align:left}.u2-things{justify-content:flex-start;flex:1}.u2-people{gap:8px;padding:10px}.u2-stock-grid,.u2-owner-grid{grid-template-columns:1fr}.u2-stock{padding:9px 15px}.u2-stock .u2-object{flex-direction:row;gap:10px;flex-wrap:wrap}.u2-stock .u2-glyph{width:28px;height:31px}.u2-room{padding:10px;min-height:125px}.u2-room h4{font-size:18px}.u2-position-board{grid-template-rows:repeat(3,minmax(80px,auto));gap:6px;padding:7px}.u2-position-board .u2-object{padding:5px}.u2-position-board .u2-object strong{font-size:16px}.u2-position-board .u2-object small{font-size:10px}.u2-glyph{width:32px;height:36px}.u2-position-board .u2-target{font-size:9px}.u2-locator{padding:14px}.u2-locator .u2-scene{padding:9px}.u2-position-controls .btn{min-width:52px}.u2-position-controls .btn small{max-width:60px;overflow-wrap:anywhere}.u2-example strong{font-size:20px}.u2-people strong{font-size:20px}.u2-property-info>strong{font-size:17px}}
@media print{.u2-scene{break-inside:avoid;background:white}.u2-position-controls,.u2-locator>.actions{display:none}.u2-glyph{color:#222}}

/* Numbers, time, calendar, and structured note activities: scoped to this unit. */
.n3-scene,.n3-lab,.n3-memo{margin:22px 0;padding:24px;border:1px solid var(--line);border-radius:18px;background:#f7faff;min-width:0}
.n3-scene{margin-left:0;margin-right:0}.n3-scene figcaption{font-weight:750;display:flex;gap:12px;justify-content:space-between;flex-wrap:wrap;margin-bottom:18px}.n3-scene figcaption small{font-weight:400;color:var(--muted)}
.n3-price-grid,.n3-count-grid,.n3-clocks{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(210px,100%),1fr));gap:15px}
.n3-price-card{background:white;border:1px solid #d0ddf1;border-radius:14px;padding:22px;display:flex;flex-direction:column;gap:8px;min-width:0}.n3-price-card>span{font-size:23px;font-weight:600}.n3-price-card strong{font-size:32px;line-height:1.3;color:var(--deep);font-variant-numeric:tabular-nums}.n3-price-card strong span{font-size:18px}.n3-price-divider{border-bottom:2px dashed #cadaef;margin-top:6px}
.n3-count-card{background:white;border:1px solid var(--line);padding:18px;border-radius:14px}.n3-count-card h4{font-size:25px;margin:0 0 6px}.n3-tallies{display:flex;gap:9px;flex-wrap:wrap;margin:18px 0}.n3-tally{width:24px;height:24px;border-radius:50%;background:#2c62ce;display:block}.n3-tally.bottle{width:17px;height:35px;border-radius:5px 5px 3px 3px;position:relative;margin-top:6px}.n3-tally.bottle:before{content:'';position:absolute;top:-6px;left:4px;width:9px;height:7px;background:#2c62ce}.n3-tally.person{width:22px;height:24px;border-radius:9px 9px 3px 3px;margin-top:15px;position:relative}.n3-tally.person:before{content:'';position:absolute;top:-14px;left:5px;width:12px;height:12px;border-radius:50%;background:#2c62ce}
.n3-clock-card{padding:18px;background:white;border:1px solid var(--line);border-radius:16px;text-align:center;display:flex;align-items:center;flex-direction:column;gap:8px;min-width:0}.n3-clock{width:min(235px,100%);height:auto;display:block}.n3-clock circle{fill:white;stroke:#b1c5e9;stroke-width:2}.n3-clock text{font-size:14px;fill:#304362;font-family:inherit}.n3-clock line{stroke:#7183a0;stroke-width:1}.n3-clock .n3-major{stroke-width:2}.n3-clock .n3-hour{stroke:#233c63;stroke-width:7;stroke-linecap:round}.n3-clock .n3-minute{stroke:#2361d6;stroke-width:4;stroke-linecap:round}.n3-clock .n3-pivot{fill:#2361d6;stroke:none}.n3-digital{font-size:24px;font-variant-numeric:tabular-nums;white-space:normal}.n3-period{font-weight:700;background:#e8f0ff;padding:3px 13px;border-radius:20px}.n3-clock-card p{margin:0}.n3-clock-card small{font-size:12px}
.n3-controls{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:15px 0}.n3-controls .btn[aria-pressed=true],.n3-calendar-events .btn[aria-pressed=true]{background:var(--blue);color:white;border-color:var(--blue)}.n3-controls .btn{min-height:42px;white-space:normal}
.n3-example{padding:24px;font-size:clamp(22px,4vw,31px);font-weight:750;background:white;border-radius:14px;color:var(--deep);margin-top:18px;line-height:1.6;overflow-wrap:anywhere}
.n3-calendar{background:white;border:1px solid var(--line);border-radius:14px;padding:18px}.n3-calendar h4{margin:0 0 18px;font-size:19px}.n3-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.n3-weekday{text-align:center;font-size:12px;padding:8px 0;color:var(--muted)}.n3-day{border:1px solid #e0e7f3;border-radius:7px;min-height:65px;min-width:0;padding:6px 3px;background:white;color:var(--ink);text-align:center;display:flex;align-items:center;flex-direction:column;gap:4px;line-height:1.25}.n3-day small{font-size:11px;overflow-wrap:anywhere;line-height:1.3;max-width:100%}.n3-day.has-event{border-color:#8cafee;background:#eaf1ff;color:#194caa}.n3-day[aria-pressed=true]{outline:2px solid var(--blue);outline-offset:-2px}.n3-day-number{font-size:16px;font-weight:700}.n3-calendar-events{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.n3-calendar-events .btn{display:flex;gap:9px;white-space:normal}.n3-placements{display:flex;flex-wrap:wrap;gap:15px}.n3-placements>div{padding:12px;background:white;border:1px solid var(--line);border-radius:10px;flex:1;min-width:110px}.n3-placements dt{font-size:14px}.n3-placements dd{margin:5px 0;font-weight:700}
.n3-compare{display:grid;grid-template-columns:1fr 1fr;gap:18px}.n3-note,.n3-compare article{background:white;border:1px solid var(--line);padding:20px;border-radius:14px;min-width:0}.n3-note h4,.n3-compare h4{margin:0 0 16px;font-size:19px}.n3-info{margin:0}.n3-info>div{display:flex;justify-content:space-between;gap:14px;border-top:1px solid #e8edf7;padding:12px 0}.n3-info dt{display:flex;flex-direction:column}.n3-info dt small{font-size:12px;color:var(--muted)}.n3-info dd{font-weight:700;margin:0;text-align:right;overflow-wrap:anywhere}.n3-memo{background:#edf4ff}.n3-memo h3{font-size:24px;margin-top:0}.n3-memo-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.n3-memo-grid label{display:flex;flex-direction:column;gap:9px;font-size:15px;font-weight:650;min-width:0}.n3-memo-grid input{font:inherit;color:var(--deep);border:1px solid #9db5dc;border-radius:9px;background:white;padding:12px;min-width:0;width:100%;max-width:100%;min-height:48px;box-sizing:border-box}.n3-memo .feedback dl>div{display:flex;justify-content:space-between;gap:15px;padding:6px 0}.n3-memo .feedback dd{margin:0;font-weight:700}
@media(max-width:650px){.n3-compare,.n3-memo-grid{grid-template-columns:minmax(0,1fr)}.n3-scene,.n3-lab,.n3-memo{padding:15px}.n3-calendar{padding:10px}.n3-day{min-height:54px}.n3-day small{font-size:10px}.n3-calendar-events{gap:6px}.n3-calendar-events .btn{font-size:13px}.n3-clocks{grid-template-columns:minmax(0,1fr)}.n3-info>div{flex-wrap:wrap}.n3-info dd{flex:1 1 100%;text-align:left}.n3-scene figcaption small{font-size:12px}.n3-calendar-grid{gap:3px}.n3-weekday{font-size:10px}}
@media(max-width:350px){.n3-scene,.n3-lab,.n3-memo{padding:10px}.n3-calendar{padding:6px}.n3-day{padding:5px 1px;min-height:47px}.n3-price-card strong{font-size:28px}.n3-calendar-events .btn{flex:1 1 100%;justify-content:space-between}}
@media print{.n3-scene,.n3-calendar,.n3-note,.n3-memo{break-inside:avoid}.n3-controls,.n3-calendar-events{display:none}.n3-memo-grid input{border:1px solid #666}.n3-clock{width:170px}}

/* Daily-life lessons: scoped extension. No changes to existing lesson styles. */
.d4-action-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin:20px 0}.d4-action-card{border:1px solid #d4e3fa;border-radius:16px;background:#f4f8ff;padding:18px;display:flex;align-items:center;text-align:center;flex-direction:column;gap:9px}.d4-action-card strong{font-size:1.4rem;color:#122f59}.d4-action-card span{font-size:.92rem;line-height:1.55}.d4-icon{color:#245cab;width:90px;height:90px;max-width:100%}.d4-action-grid:has(>.d4-action-card:only-child){max-width:300px;margin-inline:auto}.d4-place-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:20px 0}.d4-place-card{border:1px solid #d2e1f3;border-radius:14px;overflow:hidden}.d4-place-title{padding:15px;background:#eaf1fc;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:.85rem}.d4-place-title strong{font-size:1.4rem}.d4-place-card dl{padding:12px 16px}.d4-place-card dl>div{display:flex;justify-content:space-between;gap:12px;margin:8px 0}.d4-place-card dt{font-size:.85rem;color:#526785}.d4-place-card dd{margin:0;font-weight:600}.d4-schedule{border:1px solid #cfdeef;border-radius:18px;overflow:hidden;margin:20px 0}.d4-schedule header{padding:20px 22px;background:#edf4ff}.d4-schedule h3{margin:7px 0 0;font-size:1.3rem}.d4-schedule h3 span{display:block;font-size:1rem;font-weight:500;margin-top:6px}.d4-schedule-list{padding:8px 22px;list-style:none!important;margin:0}.d4-schedule-list>li{display:grid;grid-template-columns:minmax(130px,.9fr) 1.7fr;gap:18px;padding:18px 0;border-top:1px solid #e0e8f1;position:relative}.d4-schedule-list>li:first-child{border-top:0}.d4-time{font-variant-numeric:tabular-nums;font-weight:700;color:#1d528f;display:flex;flex-direction:column;font-size:.95rem}.d4-schedule-detail{border-left:3px solid #81afe9;padding-left:18px;display:flex;gap:4px;flex-direction:column}.d4-schedule-detail strong{font-size:1.25rem}.d4-schedule-detail span{font-size:.88rem;color:#4c627d}.d4-habits{margin:20px 0;border:1px solid #d9e3ee;border-radius:16px;padding:18px}.d4-habit-head,.d4-habit-row{display:grid;grid-template-columns:1.15fr 1fr 1fr;align-items:center;gap:10px;padding:12px 0}.d4-habit-head{font-size:.9rem;background:#f3f7fc;padding:12px 8px;border-radius:8px}.d4-habit-row{border-bottom:1px solid #e4ebf3}.d4-habit-row>strong{font-size:1.02rem}.d4-habit-row>span{font-size:.88rem;display:flex;gap:6px;align-items:center}.d4-habit-row .yes{color:#126341}.d4-habit-row .no{color:#854730}.d4-pairs{display:grid;gap:14px;margin:20px 0}.d4-pairs article{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;border:1px solid #dce6f2;padding:18px;border-radius:14px;align-items:center}.d4-pairs article>div>span{font-size:.82rem;color:#526b88}.d4-pairs p{font-size:1.12rem;line-height:1.7;margin:8px 0}.d4-pair-arrow{color:#7292bc}.d4-lab{border:1px solid #bed3ef;padding:24px;border-radius:18px;background:linear-gradient(150deg,#f1f6ff,#fff);margin:22px 0}.d4-lab h3{margin-top:0}.d4-controls{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.d4-controls .btn{white-space:normal;text-align:center}.d4-controls [aria-pressed=true]{background:#1558d6;color:white;border-color:#1558d6}.d4-base{background:white;border-radius:12px;padding:18px;margin:16px 0;border:1px solid #dce6f4}.d4-base>span{font-size:.9rem;color:#5c6c83}.d4-base p{font-size:1.7rem;margin:8px 0}.d4-answer{border-left:4px solid #2365ba;background:#eaf3ff;border-radius:0 12px 12px 0;padding:18px 22px;margin:16px 0;overflow-wrap:anywhere}.d4-answer>span{font-size:.8rem;color:#3a618b}.d4-answer p{font-size:1.6rem;line-height:1.65;color:#183f75;margin:7px 0}.d4-time-feature{background:#fff;border:1px solid #dae5f5;border-radius:14px;padding:22px;margin:18px 0}.d4-time-feature h4{font-size:1.4rem;margin:8px 0}.d4-time-bound{display:flex;gap:20px;align-items:center;flex-wrap:wrap;margin-top:15px}.d4-time-bound>div{display:flex;flex-direction:column;gap:6px}.d4-time-bound small{color:#5e7490}.d4-time-bound strong{font-size:1.7rem;color:#1558b8}.d4-rail{background:#dee9f8;height:14px;position:relative;border-radius:10px;overflow:hidden;margin-top:22px}.d4-rail i{position:absolute;height:100%;min-width:5px;background:#2469ca;border-radius:10px}.d4-rail-labels{display:flex;justify-content:space-between;font-size:.8rem;color:#596d85;margin:6px 0 24px}.d4-summary{background:#f2f6fb;border:1px solid #d8e3ef;border-radius:18px;padding:24px;margin:25px 0}.d4-summary h4{font-size:.9rem;color:#456891;margin-bottom:7px}.d4-paragraph{font-size:1.23rem;line-height:2.05!important;background:white;border-radius:12px;padding:18px;overflow-wrap:anywhere}.d4-journal{border:1px solid #b8d0ed;background:#f8fbff;padding:24px;border-radius:18px;margin:25px 0}.d4-journal-fields{display:grid;gap:14px;margin:20px 0}.d4-journal-fields label{display:flex;flex-direction:column;gap:8px;font-size:.95rem;font-weight:600}.d4-journal-fields textarea{width:100%;box-sizing:border-box;min-height:85px;border:1px solid #bfd1e5;border-radius:10px;background:white;font:inherit;font-weight:400;padding:12px;resize:vertical;line-height:1.65}.d4-journal-fields textarea:focus-visible{outline:3px solid #8fbafd;outline-offset:2px}.d4-paper{break-inside:avoid}
@media(max-width:540px){.d4-lab,.d4-journal,.d4-summary{padding:16px}.d4-schedule header{padding:16px}.d4-schedule-list{padding:6px 14px}.d4-schedule-list>li{grid-template-columns:1fr;gap:8px}.d4-time{flex-direction:row;gap:8px;flex-wrap:wrap}.d4-habit-head,.d4-habit-row{gap:6px}.d4-habit-row>strong{font-size:.9rem}.d4-habit-row>span{font-size:.8rem;flex-direction:column;align-items:flex-start}.d4-pairs article{grid-template-columns:1fr;gap:3px}.d4-pair-arrow{transform:rotate(90deg);justify-self:center}.d4-answer p{font-size:1.3rem}.d4-time-bound strong{font-size:1.4rem}.d4-place-grid{grid-template-columns:1fr}.d4-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.d4-action-card{padding:12px}.d4-paragraph{font-size:1.1rem}.d4-icon{width:70px;height:70px}.d4-journal .actions{align-items:stretch}}
@media print{.d4-lab .actions,.d4-controls,.d4-journal .actions{display:none}.d4-schedule,.d4-habits{break-inside:avoid}.d4-paragraph,.d4-answer{font-size:11pt}}

/* B1-U05: additive, lesson-scoped food and purchase activities. */
.c5-scene,.c5-lab,.c5-flow,.c5-table-items,.c5-delivery{margin:1.2rem 0;border:1px solid #dbe4ef;border-radius:18px;background:#f8fbff;padding:clamp(16px,3vw,28px);min-width:0}
.c5-lab>header{margin-bottom:22px}.c5-lab h3,.c5-scene h3{margin:6px 0 12px}.c5-menu-grid,.c5-stock-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.c5-food-card{display:flex;gap:14px;align-items:center;background:white;border:1px solid #dce5f1;border-radius:14px;padding:15px;min-width:0}.c5-food-card>div:last-child{min-width:0;flex:1}.c5-food-card h4{font-size:1.3rem;margin:0 0 7px}.c5-food-card p{margin:0;font-size:.94rem}.c5-food-icon{width:90px;flex:0 0 90px}.c5-food-icon svg{display:block;width:100%;height:auto}.c5-counter{display:flex;align-items:center;gap:9px;margin-top:12px}.c5-counter button{min-width:38px;min-height:38px;font-size:1.15rem}.c5-counter output{min-width:1.5em;text-align:center;font-weight:800;font-size:1.1rem}.c5-total{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin:16px 0 6px;padding:15px 0;border-top:1px solid #d7e2f2}.c5-total strong{font-size:1.55rem;color:#17458b}.c5-answer{background:#eaf2ff;border-left:4px solid #1558d6;border-radius:8px;margin:18px 0 0;padding:18px}.c5-answer p{margin:0;font-size:1.35rem;line-height:1.8;word-break:keep-all;overflow-wrap:anywhere}.c5-controls{display:flex;flex-wrap:wrap;gap:14px;margin:18px 0}.c5-controls fieldset{min-width:0;flex:1;display:flex;flex-wrap:wrap;gap:8px;border:1px solid #d9e4f3;border-radius:12px;padding:12px}.c5-controls legend{font-weight:700;padding:0 4px}.c5-controls [aria-pressed=true],.c5-choice [aria-pressed=true]{background:#1558d6!important;border-color:#1558d6!important;color:white!important}.c5-state-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));gap:14px}.c5-state-card{background:white;border:1px solid #dbe4ef;border-radius:14px;padding:18px;min-width:0}.c5-state-card .c5-food-icon{width:92px;margin:0 auto}.c5-state-card h3{text-align:center;margin:3px 0 14px;font-size:1.4rem}.c5-state-card dl{margin:0}.c5-state-card dl>div{display:flex;justify-content:space-between;gap:14px;margin:8px 0}.c5-state-card dd{font-weight:700;text-align:right;margin:0}.c5-table-items>div{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid #e3eaf4}.c5-table-items>div:last-child{border-bottom:0}.c5-table-items strong{font-size:1.2rem}.c5-status{display:inline-block;border:1px solid #cedcec;border-radius:20px;padding:5px 10px;font-size:.88rem;background:#f1f5fb}.c5-status.present{background:#edf8f4;color:#245743;border-color:#c3e0d3}.c5-status.missing{background:#fff3ed;color:#874c27;border-color:#efd6c6}.c5-stock-card{background:white;border:1px solid #dbe4ef;border-radius:14px;padding:14px;text-align:center;min-width:0}.c5-stock-card svg{height:112px;max-width:100%}.c5-stock-card h4{margin:5px 0 10px;font-size:1.12rem}.c5-receipt{background:white;border:1px solid #d4dfed;border-radius:12px;padding:20px;margin:14px 0;min-width:0;box-shadow:0 5px 20px #1b355508}.c5-receipt h3{font-size:1.2rem;margin:4px 0 18px}.c5-r-head,.c5-r-row{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(42px,.7fr) minmax(76px,1fr);gap:10px;padding:12px 0;align-items:center;border-bottom:1px dashed #dce2ed}.c5-r-head{font-size:.78rem;color:#5b6e85;font-weight:700}.c5-r-row small{display:block;font-size:.75rem;color:#637187;margin-top:4px}.c5-r-row>:last-child,.c5-r-head>:last-child{text-align:right}.c5-r-row>span{font-size:.92rem}.c5-receipt footer{display:flex;gap:14px;justify-content:space-between;align-items:center;border-top:2px solid #284368;margin-top:12px;padding-top:15px}.c5-receipt footer strong{font-size:1.35rem}.c5-compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.c5-choice{border:0;margin:16px 0;padding:0;display:flex;flex-wrap:wrap;gap:9px}.c5-choice legend{margin-bottom:10px;font-weight:700}.c5-choice button{white-space:normal;text-align:left}.c5-flow ol{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:0;margin:16px 0 0}.c5-flow li{display:flex;gap:9px;background:white;padding:14px;border:1px solid #dce5f1;border-radius:12px;min-width:0}.c5-flow li.revised{border-color:#1558d6;background:#eef4ff}.c5-flow li small,.c5-flow li strong,.c5-flow li div>span{display:block;margin:4px 0;overflow-wrap:anywhere}.c5-flow-step{width:24px;height:24px;line-height:24px;text-align:center;border-radius:50%;background:#e0eaff;color:#1558d6;font-weight:bold;flex:0 0 24px}.c5-delivery>p{font-size:1.4rem}
@media(max-width:850px){.c5-compare-grid{grid-template-columns:1fr}.c5-flow ol{grid-template-columns:1fr}}
@media(max-width:540px){.c5-menu-grid{grid-template-columns:1fr}.c5-stock-grid{gap:8px}.c5-stock-card{padding:10px}.c5-stock-card h4{font-size:1rem;word-break:keep-all}.c5-receipt{padding:14px}.c5-r-head,.c5-r-row{gap:7px;grid-template-columns:minmax(0,1.1fr) 45px minmax(65px,.9fr)}.c5-r-row small{font-size:.7rem}.c5-r-row strong{font-size:.91rem}.c5-controls{flex-direction:column}.c5-food-icon{width:76px;flex-basis:76px}.c5-lab,.c5-scene{padding:15px}.c5-choice button{width:100%}}
@media print{.c5-controls,.c5-counter,.c5-lab>.actions,.c5-choice{display:none}.c5-receipt,.c5-stock-card,.c5-food-card{break-inside:avoid;box-shadow:none}.c5-lab{border:1px solid #999;background:white}}

/* Appointment activities: scoped addition; previous lessons keep their layouts. */
.a6-lab{margin:24px 0;padding:26px;border:1px solid #c6d8f2;border-radius:20px;background:#f7faff;min-width:0}.a6-lab header h3{font-size:1.45rem;line-height:1.4;margin:8px 0 10px}.a6-lab header p{max-width:66ch;color:#415570;line-height:1.7}.a6-activity-grid,.a6-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.a6-activity-grid article,.a6-choice{padding:18px;border:1px solid #d7e1ef;border-radius:14px;background:white;text-align:left;min-width:0}.a6-activity-grid h3{font-size:1.12rem;margin:8px 0}.a6-activity-grid p{font-size:1.05rem}.a6-number{display:block;font-size:.78rem;letter-spacing:.09em;color:#597594;margin-bottom:6px}.a6-choice strong{display:block;font-size:1.1rem;white-space:normal;overflow-wrap:anywhere}.a6-choice[aria-pressed=true]{border-color:#1558d6;background:#e9f1ff;box-shadow:0 0 0 1px #1558d6}.a6-choice:disabled{opacity:.52}.a6-table-wrap{overflow-x:auto;margin:14px 0;border:1px solid #d7e1ef;border-radius:14px;background:#fff}.a6-schedule{border-collapse:collapse;width:100%;table-layout:fixed}.a6-schedule caption{padding:14px 14px 6px;font-weight:700;text-align:left}.a6-schedule th,.a6-schedule td{padding:13px 10px;text-align:center;border-bottom:1px solid #e1e8f1;overflow-wrap:anywhere}.a6-schedule th:first-child{width:45%;text-align:left}.a6-schedule tr:last-child>*{border-bottom:0}.a6-schedule tbody tr.selected{background:#e9f1ff}.a6-status{display:inline-flex;align-items:center;border-radius:20px;padding:4px 9px;font-size:.85rem;font-weight:700;line-height:1.5}.a6-status.free{background:#e5f4ec;color:#1c6248}.a6-status.busy{background:#fff0ec;color:#943e31}.a6-status.unknown{background:#f0edf6;color:#645778}.a6-times{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.a6-times .btn{white-space:normal;line-height:1.5}.a6-judge{border:0;padding:12px 0;margin:14px 0;display:flex;flex-wrap:wrap;gap:10px}.a6-judge legend{font-weight:700;margin-bottom:12px}.a6-judge .btn{white-space:normal;text-align:left}.a6-lab [aria-pressed=true].btn{background:#e2edff;border-color:#1558d6;color:#134aa8}.a6-example{margin-top:16px;border-left:4px solid #1558d6;background:white;padding:18px 22px;border-radius:0 12px 12px 0}.a6-example p{font-size:1.2rem;line-height:1.9;margin:0}.a6-conversation{display:flex;flex-direction:column;gap:14px;margin:20px 0}.a6-conversation>div{padding:17px 20px;border-radius:4px 18px 18px 18px;background:#fff;border:1px solid #dbe4f0;max-width:90%;align-self:flex-start}.a6-conversation>.reply{align-self:flex-end;border-radius:18px 4px 18px 18px;background:#e7f0ff}.a6-conversation p{font-size:1.2rem;line-height:1.7;margin:6px 0}.a6-conversation small,.a6-conversation span{font-size:.88rem;color:#4c607d}.a6-map{border:1px solid #d6e1e8;background:#eef5f4;padding:20px;border-radius:16px;margin:18px 0;min-width:0}.a6-library{background:white;border:2px solid #a6bbd7;padding:18px;border-radius:10px}.a6-building-title{text-align:center;font-size:1.35rem;font-weight:800;padding:6px 0 18px;color:#173655}.a6-gates,.a6-neighbours{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.a6-point{min-height:70px;display:flex;flex-direction:column;gap:6px;align-items:center;justify-content:center;padding:12px 8px;border:1px solid #afc1d8;border-radius:10px;background:#fff;color:#1e3655;font:inherit;text-align:center;min-width:0;overflow-wrap:anywhere}.a6-point b{font-size:.8rem;color:#5b6f8d}.a6-point[aria-pressed=true],.a6-point.selected{background:#1558d6;color:#fff;border-color:#1558d6}.a6-point[aria-pressed=true] b,.a6-point.selected b{color:white}.a6-walkway{height:24px;border-left:9px double white;margin-left:49%}.a6-map figcaption{font-size:.82rem;line-height:1.65;color:#425767;margin-top:15px}.a6-unclear{padding:20px;border-radius:16px;background:#fff8ee;border:1px solid #e8d8b8;margin:18px 0}.a6-unclear>p{font-size:1.2rem;line-height:1.75;margin:12px 0}.a6-known-tags{display:flex;flex-wrap:wrap;gap:8px}.a6-known-tags span{padding:6px 10px;border:1px dashed #ad8c59;border-radius:8px;font-size:.86rem}.a6-known-tags b{padding-left:6px}.a6-clarify-questions{display:grid;grid-template-columns:1fr;gap:10px}.a6-ask{text-align:left;padding:15px 18px;border:1px solid #c3d3e8;border-radius:12px;background:#fff;font:inherit;min-width:0;overflow-wrap:anywhere}.a6-ask>span{display:block;font-size:.83rem;color:#55708e;margin-bottom:5px}.a6-ask>strong{font-size:1.1rem;line-height:1.6}.a6-ask[aria-pressed=true]{border-color:#1558d6;background:#e9f1ff}.a6-confirmed{padding:4px 0;margin:14px 0}.a6-confirmed>div{padding:12px 0;border-bottom:1px solid #dce5ef}.a6-confirmed dt{font-weight:700;font-size:.9rem}.a6-confirmed dd{margin:6px 0 0;line-height:1.6}.a6-role{display:flex;flex-wrap:wrap;gap:12px;padding:15px 18px;background:#eff4fa;border-radius:12px;margin-bottom:14px}.a6-role small{color:#546a87}.a6-plan-flow{list-style:none!important;padding:0!important;display:grid;gap:10px}.a6-plan-flow>li{padding:16px 20px;border:1px solid #dbe3ef;border-radius:13px;background:white;margin:0}.a6-plan-flow>li>span{font-size:.85rem;color:#4d617d;font-weight:700}.a6-plan-flow p{font-size:1.12rem;line-height:1.8;margin:6px 0 0}.a6-plan-flow .agreed{border-color:#74b99c;background:#eff9f4}.n3-memo[data-message=true] .n3-memo-grid{grid-template-columns:1fr}.n3-memo[data-message=true] textarea{width:100%;min-height:84px;padding:12px 14px;border:1px solid #afc1d8;border-radius:10px;font:inherit;line-height:1.7;resize:vertical}.a6-message{margin-top:20px;padding:20px;border:1px solid #d2deec;border-radius:16px;background:#f7faff}.a6-message h4{margin:0 0 10px}.a6-message-text{padding:18px 20px;background:white;border:1px solid #e0e6ef;border-radius:15px 15px 3px 15px;overflow-wrap:anywhere}.a6-message-text p{font-size:1.15rem;line-height:1.8;margin:0 0 8px}.a6-message-text p:last-child{margin-bottom:0}.a6-review{border:1px solid #c6d8f2;border-radius:15px;padding:22px;background:#f6f9ff;margin:20px 0}.a6-review>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.a6-review .btn{white-space:normal;text-align:left;line-height:1.5}.a6-lab button:focus-visible,.a6-map button:focus-visible{outline:3px solid #123e88;outline-offset:3px}
@media(max-width:540px){.a6-lab{padding:16px;border-radius:14px}.a6-activity-grid,.a6-choice-grid{gap:8px}.a6-choice,.a6-activity-grid article{padding:12px}.a6-schedule th,.a6-schedule td{padding:11px 5px;font-size:.88rem}.a6-status{padding:3px 5px;font-size:.77rem}.a6-schedule th:first-child{width:43%}.a6-times .btn{flex:1 1 44%;padding:9px 8px}.a6-judge .btn{width:100%;justify-content:flex-start}.a6-map{padding:12px}.a6-library{padding:12px}.a6-gates,.a6-neighbours{gap:8px}.a6-point{padding:10px 4px;font-size:.92rem}.a6-conversation>div{max-width:100%;padding:14px}.a6-message{padding:14px}.a6-message-text{padding:14px}.a6-review>div{grid-template-columns:1fr}.a6-lab .actions .btn{white-space:normal}.a6-lab header h3{font-size:1.24rem}}
@media print{.a6-times,.a6-judge,.a6-clarify-questions,.a6-lab .actions,.a6-message .actions{display:none!important}.a6-plan-flow,.a6-map,.a6-schedule{break-inside:avoid}.a6-map,.a6-lab{background:#fff}.a6-lab{border:1px solid #aaa}}
/* Keep Korean learning phrases together where a word fits on the line. */
.a6-example [lang="ko"],.a6-message-text p,.a6-conversation [lang="ko"]{word-break:keep-all;overflow-wrap:anywhere;}

/* flow60-r1: preserve the established brand, improve hierarchy and keyboard use. */
:root{--r60-secondary:#475b73}
textarea:focus-visible{outline:3px solid #e99820;outline-offset:4px}
#section-title{scroll-margin-top:102px;outline:none}
.side-lesson .num,.breadcrumb span,.r60-unit-index{color:#53647a!important}
.side-lesson.active .num{color:inherit!important}
.r60-title-row{display:flex;align-items:flex-start;gap:16px;justify-content:space-between}
.r60-title-row>div:first-child{min-width:0;flex:1}
.r60-lesson-head{padding:0 0 12px!important;margin:0!important}
.r60-lesson-head h1{font-size:30px;line-height:1.35;margin:5px 0 8px;overflow-wrap:anywhere}
.r60-lesson-head .kicker{font-size:13px;margin:0;color:var(--r60-secondary)}
.r60-lesson-head .text-controls{flex-shrink:0;display:flex;gap:6px}
.r60-lesson-info{font-size:13px;color:var(--muted);margin:0 0 4px}
.r60-lesson-info>summary{cursor:pointer;min-height:30px;padding:2px 0}
.r60-lesson-info p{margin:6px 0}
.r60-flow{margin:8px 0 18px;border:1px solid var(--line);border-radius:14px;background:white;overflow:hidden}
.r60-flow ol{list-style:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:0;margin:0;gap:0}
.r60-flow li{min-width:0}
.r60-flow li a{display:flex;flex-direction:column;gap:3px;align-items:center;justify-content:center;text-align:center;min-height:66px;padding:7px 3px;color:var(--muted);font-size:12px;line-height:1.4;text-decoration:none}
.r60-flow a b{width:24px;height:24px;display:grid;place-items:center;border:1px solid #c7d4e7;border-radius:50%;font-size:12px}
.r60-flow li a.active{color:#124bad;background:#edf3ff;font-weight:750}
.r60-flow a.active b{background:var(--blue);color:white;border-color:var(--blue)}
.r60-substeps{border-top:1px solid var(--line);padding:8px 12px;display:flex;flex-wrap:wrap;gap:4px 14px}
.r60-substeps a{font-size:13px;padding:6px 0;color:var(--muted);min-height:32px;line-height:1.4}
.r60-substeps a.active{font-weight:750;color:#104bb5;text-decoration:underline;text-underline-offset:4px}
.r60-detail{font-size:14px;color:var(--muted);margin:18px 0;border-top:1px solid var(--line);padding-top:12px}
.r60-detail summary{cursor:pointer;min-height:34px;padding:5px 0}
.r60-detail p{font-size:14px!important}
.r60-mobile-map{padding:10px 14px;margin:0 0 10px!important}
.r60-mobile-map .side-lesson{margin:4px 0;min-height:44px}
.r60-mobile-map .num{min-width:50px;font-size:12px}
.r60-lesson .lesson-sidebar .num{font-size:12px;min-width:45px}
.r60-lesson .reading-panel>h2{font-size:23px;line-height:1.4;margin-top:0}
.feedback.neutral{background:#f1f5fb;border-color:#b8c8df;color:#263e5f}
.r60-neutral-note{padding:10px 14px;border-left:3px solid #637da5;background:#f0f4fb;color:#30496b;font-size:14px}
.r60-examples{border-top:1px solid var(--line);margin-top:16px;padding-top:12px}
.r60-unit-list{display:grid;gap:14px}
.r60-unit{background:white;border:1px solid var(--line);border-radius:16px;padding:0 22px}
.r60-unit>summary{list-style:none;display:flex;align-items:center;gap:16px;cursor:pointer;padding:22px 0;min-height:88px}
.r60-unit>summary::-webkit-details-marker{display:none}
.r60-unit-index{font-size:24px;line-height:1;letter-spacing:-1px}
.r60-unit>summary strong{display:block;font-size:19px;line-height:1.45}
.r60-unit>summary small{display:block;font-size:13px;color:var(--muted);margin-top:4px}
.r60-plus{font-size:26px;color:var(--blue);margin-left:auto}
.r60-unit[open] .r60-plus{transform:rotate(45deg)}
.r60-unit>p{font-size:15px;color:var(--muted);margin:0 0 12px}
.r60-unit .lesson-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin:16px 0 24px}
.r60-resume{display:flex;justify-content:space-between;align-items:center;gap:20px;background:#edf3ff;border:1px solid #c4d8f5;border-radius:16px;padding:22px;margin:16px 0 24px}
.r60-resume h2{font-size:22px;line-height:1.45;margin:6px 0}
.r60-record-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:24px 0 18px}
.r60-record-tabs a{display:flex;align-items:center;gap:8px;padding:10px 14px;border:1px solid var(--line);border-radius:10px;background:white;color:var(--muted);font-size:14px;min-height:44px}
.r60-record-tabs a.active{border-color:var(--blue);color:var(--blue);background:#edf3ff;font-weight:700}
.r60-record-tabs b{font-size:12px;background:#e8eef7;padding:2px 5px;border-radius:4px}
.r60-record-list{display:grid;gap:12px}
.r60-record{padding:20px;border:1px solid var(--line);border-radius:14px;background:white;display:grid;grid-template-columns:1fr auto;gap:12px}
.r60-record h3{margin:4px 0 8px;font-size:19px;line-height:1.4}
.r60-record>details{grid-column:1/-1;border-top:1px solid var(--line);padding-top:10px;font-size:14px}
.r60-record>details>summary{cursor:pointer;min-height:32px;padding:4px 0;color:var(--muted)}
.r60-record .actions{margin-top:0}
.r60-filter-form{padding:20px;border:1px solid var(--line);border-radius:15px;background:white;display:grid;grid-template-columns:160px 180px minmax(140px,1fr) auto;align-items:end;gap:14px}
.r60-filter-form label{display:flex;flex-direction:column;gap:7px;font-size:14px;font-weight:650;min-width:0}
.r60-filter-form input,.r60-filter-form select{width:100%;min-height:46px;min-width:0;border:1px solid #bac9df;border-radius:9px;background:white;padding:8px 10px;color:var(--ink);font-size:16px}
.r60-result-count{margin:18px 0;font-size:14px;color:var(--muted)}
.r60-resource-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.r60-resource{border:1px solid var(--line);border-radius:15px;background:white;padding:20px;min-width:0}
.r60-resource .tag-row{margin-top:0}
.r60-resource h2{font-size:19px;line-height:1.4;margin:10px 0}
.r60-resource>p{font-size:19px;line-height:1.7}
.r60-resource>details>summary{font-size:14px;color:var(--blue);cursor:pointer;min-height:38px;padding:6px 0}
.r60-resource .sound-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.r60-pager{display:flex;align-items:center;justify-content:center;gap:20px;margin:28px 0;font-size:14px}
.r60-path-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.r60-path-card{padding:26px;border:1px solid var(--line);background:white;border-radius:18px;display:flex;flex-direction:column}
.r60-path-card h2{font-size:23px;margin:0 0 12px;line-height:1.4}
.r60-path-card p{color:var(--muted);font-size:15px}
.r60-path-card>details{margin-bottom:12px}
.r60-path-card summary{cursor:pointer;padding:8px 0;color:var(--blue)}
.r60-path-card li{padding:5px 0;font-size:15px}
.r60-path-card .actions{margin-top:auto;padding-top:16px}
.r60-path-strip{margin-top:20px;padding:16px;border:1px solid #c6d5eb;border-radius:12px;display:flex;flex-wrap:wrap;align-items:center;gap:10px;background:#eef4ff;font-size:14px}
.r60-micro{padding:22px}
.r60-micro-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}
.r60-micro-tabs .btn[aria-pressed=true]{border-color:var(--blue);background:#e4eeff;color:#154dab}
.r60-micro-tabs .target-text{font-size:16px!important}
.r60-micro-table{border:1px solid #cddbec;border-radius:12px;padding:12px 15px;background:white;margin:18px 0}
.r60-micro-table summary{cursor:pointer;font-size:15px;color:var(--blue);padding:3px 0;min-height:30px}
.r60-micro h4{font-size:var(--reading);line-height:1.6;margin:14px 0}
@media(max-width:800px){.r60-filter-form{grid-template-columns:1fr 1fr}.r60-filter-form .r60-query{grid-column:1/-1}.r60-filter-form button{grid-column:1/-1}.r60-path-grid{grid-template-columns:1fr}.r60-title-row .text-controls .icon-btn{min-width:38px;min-height:38px;padding:6px}.r60-lesson-head h1{font-size:25px}.r60-resume{align-items:flex-start}}
@media(max-width:600px){.shell:has(.r60-lesson){padding-top:16px}.shell:has(.r60-lesson)>.breadcrumb{font-size:12px;margin-bottom:12px;gap:6px}.shell:has(.r60-lesson)>.breadcrumb span:last-child{display:none}.r60-lesson-head h1{font-size:22px;letter-spacing:-.4px}.r60-title-row{gap:8px}.r60-lesson-head .kicker{font-size:12px}.r60-flow{margin:6px 0 14px}.r60-flow li a{font-size:11px;min-height:59px}.r60-flow a b{width:21px;height:21px}.r60-substeps{padding:5px 10px;gap:2px 12px}.r60-substeps a{font-size:12px}.r60-lesson .reading-panel{padding:18px 16px}.r60-lesson .reading-panel>h2{font-size:21px}#section-title{scroll-margin-top:86px}.r60-unit{padding:0 16px}.r60-unit>summary{gap:12px;padding:18px 0}.r60-unit>summary strong{font-size:18px}.r60-unit .lesson-grid{grid-template-columns:1fr}.r60-resource-grid{grid-template-columns:1fr}.r60-resource{padding:18px}.r60-resume{display:block;padding:20px}.r60-resume .btn{margin-top:14px}.r60-record{grid-template-columns:1fr;padding:18px}.r60-record-tabs{gap:6px}.r60-record-tabs a{padding:8px 10px;font-size:13px}.r60-path-card{padding:22px}.r60-micro{padding:18px}.r60-filter-form{padding:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{scroll-behavior:auto!important;transition:none!important}}
@media print{.r60-flow,.r60-lesson-info,.r60-mobile-map,.r60-record-tabs,.r60-filter-form,.r60-pager{display:none!important}.r60-unit{break-inside:avoid}.r60-path-grid,.r60-resource-grid{display:block}}
@media(max-width:600px){
  .shell:has(.r60-lesson)>.breadcrumb{display:none}
  .r60-lesson-head h1{font-size:21px;margin-bottom:4px}
  .r60-lesson-info{display:none}
  .r60-title-row{position:relative;display:block;padding-top:0}
  .r60-title-row .text-controls{position:absolute;right:0;top:-2px}
  .r60-title-row .kicker{padding-right:90px;min-height:32px}
  .r60-title-row h1{max-width:100%}
  .r60-mobile-map{padding:5px 0!important;border:0!important;background:transparent!important;margin:0 0 6px!important;border-radius:0}
  .r60-mobile-map>summary{min-height:28px;padding:2px 0;font-size:13px}
  .r60-flow{margin:0 0 12px}
  .r60-flow .r60-substeps{display:none}
  .r60-flow li a{min-height:56px}
  .r60-mobile-map .r60-mobile-sections a{display:block;min-height:40px;padding:6px 0;font-size:14px}
  .r60-mobile-map .r60-mobile-sections a[aria-current=step]{font-weight:700;text-decoration:underline}
}

.r60-start-status{position:fixed;inset:0;z-index:1000;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;background:#ffffffed;text-align:center}.r60-start-status p{max-width:36rem;color:#19314d}
/* Keep navigation identifiers readable at the original 13px size. */
.r60-lesson .side-lesson .num{font-size:13px}

/* Experience/plan cards use the shared learning shell. */
.b2-lab{margin:1.2rem 0 2rem;padding:clamp(16px,3vw,28px);border:1px solid #bdcfe9;background:#f4f8ff;border-radius:18px;min-width:0}
.b2-lab header h3{margin:.25rem 0 .7rem}.b2-lab header p{margin:.35rem 0 1rem}
.b2-panels,.b2-variants{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.b2-panels .btn{flex:1 1 165px;text-align:left;white-space:normal;overflow-wrap:anywhere;line-height:1.55}
.b2-lab .btn[aria-pressed="true"]{background:#154fac;color:white;border-color:#154fac}
.b2-fact-card{background:white;border:1px solid #d4e1f4;border-radius:14px;padding:22px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:20px;margin:18px 0}
.b2-step{font-size:32px;font-weight:800;color:#1558d6;line-height:1.2}.b2-fact-card h4{margin:0 0 12px;font-size:1.1em}.b2-fact-card dl{margin:0}.b2-fact-card dl>div{display:grid;grid-template-columns:minmax(90px,.6fr) minmax(0,1.7fr);gap:12px;padding:10px 0;border-bottom:1px solid #e5ebf5}.b2-fact-card dl>div:last-child{border-bottom:0}.b2-fact-card dt{font-size:.87em;color:#47556b}.b2-fact-card dd{margin:0;font-weight:650;overflow-wrap:anywhere}
.b2-example{background:#e7efff;border-left:4px solid #1558d6;border-radius:8px;padding:16px;margin:12px 0}.b2-example>p:first-child{font-size:1.25em;font-weight:700;line-height:1.7}.b2-explanation{font-size:.93em}.b2-memo .n3-memo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.b2-memo label:last-child:nth-child(odd){grid-column:1/-1}.b2-memo-field{padding:8px 0;border-bottom:1px solid #d1dce9}.b2-review .actions{align-items:stretch}
@media(max-width:600px){.b2-fact-card{padding:16px;gap:12px;grid-template-columns:minmax(0,1fr)}.b2-step{font-size:22px}.b2-fact-card dl>div{grid-template-columns:1fr;gap:3px}.b2-memo .n3-memo-grid{grid-template-columns:1fr}.b2-lab .btn{max-width:100%;overflow-wrap:anywhere;white-space:normal}.b2-panels .btn{flex-basis:100%}}
@media print{.b2-panels,.b2-variants,.b2-lab .actions{display:none}.b2-lab,.b2-fact-card{break-inside:avoid}}

/* B2-U02: cause/result cards and a bounded six-stage negotiation. */
.b2-cause .b2-fact-card dl{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.b2-cause .b2-fact-card dl>div{display:block;border-bottom:0;padding:14px;border-radius:10px;background:#f2f6fb;min-width:0}
.b2-cause .b2-fact-card dt{font-size:.86em;margin-bottom:8px}.b2-cause .b2-fact-card dd{font-size:1.12em;line-height:1.8}
.b2-negotiation-grid{display:grid;grid-template-columns:minmax(150px,.7fr) minmax(0,1.5fr);gap:20px;margin-top:20px}
.b2-timeline{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px;min-width:0}
.b2-timeline li .btn{width:100%;display:flex;align-items:flex-start;gap:9px;text-align:left;white-space:normal;line-height:1.65;padding:12px;font-size:.86em}
.b2-time-no{background:#e8eef8;color:#163c70;border-radius:50%;min-width:26px;line-height:26px;text-align:center}
.b2-timeline .active .btn{background:#154fac;color:white}.b2-timeline .active .b2-time-no{background:white;color:#154fac}
.b2-stage{min-width:0}.b2-stage .b2-fact-card{display:block;margin:12px 0}.b2-stage .b2-fact-card dl>div{grid-template-columns:minmax(85px,.65fr) minmax(0,1.5fr)}
.b2-stage-status{border:1px solid #d2ddeb;padding:15px 18px;border-radius:12px;background:#fff;display:flex;flex-direction:column;gap:5px}
.b2-stage-status small{color:#47556b;font-size:.83em}.b2-stage-status strong{font-size:1em;line-height:1.6;overflow-wrap:anywhere}
.b2-stage-status.confirmed{background:#e8f5ee;border-color:#9bcbb0}.b2-stage-controls{justify-content:space-between;align-items:center;margin-top:20px}
@media(max-width:640px){.b2-negotiation-grid{grid-template-columns:1fr;gap:16px}.b2-timeline{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.b2-timeline li .btn{height:100%;font-size:.78em;padding:9px;gap:6px}.b2-time-no{min-width:22px;line-height:22px}.b2-stage .b2-fact-card dl>div{grid-template-columns:1fr;gap:4px}.b2-cause .b2-fact-card dl{grid-template-columns:1fr;gap:8px}.b2-stage-controls .btn{font-size:.85em;padding:10px}.b2-stage-status{padding:12px}}
@media print{.b2-timeline,.b2-stage-controls{display:none}.b2-negotiation-grid{display:block}}

/* B2-U03: responsive fictional transit and walking diagrams. */
.t3-network{margin:22px 0;border:1px solid #cbd8e8;border-radius:18px;padding:16px 14px;background:#f7faff;overflow:hidden;}
.t3-network figcaption{font-size:14px;color:#425875;line-height:1.6;margin-bottom:10px;}
.t3-network-drawing{position:relative;height:310px;max-width:690px;margin:0 auto 8px;}
.t3-network-drawing svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;}
.t3-network-drawing line{stroke-width:1.6;stroke-linecap:round;}
.t3-line-1{stroke:#4b78b8;}.t3-line-2{stroke:#a06125;}
.t3-network-drawing .t3-active-line{stroke:#163d83;stroke-width:2.2;stroke-dasharray:2 1;}
.t3-station{position:absolute;transform:translate(-50%,-27%);display:flex;flex-direction:column;align-items:center;min-width:55px;gap:5px;font-size:14px;line-height:1.2;text-align:center;}
.t3-station i{font-style:normal;font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:center;border:2px solid #4e6789;border-radius:50%;width:25px;height:25px;background:#fff;color:#183e70;}
.t3-station strong{padding:4px 5px;background:#fff;border:1px solid #d6e1ee;border-radius:6px;white-space:nowrap;font-weight:700;color:#203752;}
.t3-station.on i{background:#154ea6;color:#fff;border-color:#154ea6;}.t3-station.on strong{border-color:#154ea6;color:#123c84;}
.t3-line-key{display:flex;flex-wrap:wrap;gap:8px 15px;font-size:14px;margin-top:12px;}.t3-line-key span{border-left:4px solid #4b78b8;padding-left:8px;}.t3-line-key .line-2{border-left-color:#a06125;}
.t3-path-text{display:flex;flex-direction:column;gap:7px;padding:14px 16px;background:#edf4ff;border-radius:10px;line-height:1.8;margin:14px 0;overflow-wrap:anywhere;}
.t3-walk-map{border:1px solid #cad9e7;border-radius:16px;padding:14px;background:#f8fbff;margin:18px 0;}
.t3-north{font-size:14px!important;color:#36567e;margin:0 0 14px!important;}
.t3-walk-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(3,90px);gap:0;position:relative;isolation:isolate;}
.t3-walk-grid svg{position:absolute;width:100%;height:100%;inset:0;z-index:-1;}
.t3-walk-grid line{stroke:#cad4df;stroke-width:5;}.t3-walk-grid .t3-walk-ink{stroke:#1558d6;stroke-width:2;}
.t3-walk-node{place-self:center;display:flex;flex-direction:column;align-items:center;gap:5px;border:1px solid #c3d1e2;border-radius:9px;background:#fff;color:#203a60;font:inherit;font-size:14px;font-weight:700;min-height:63px;width:calc(100% - 14px);max-width:132px;padding:7px 3px;text-align:center;overflow-wrap:anywhere;}
button.t3-walk-node{cursor:pointer;}.t3-walk-node.on,.t3-walk-node[aria-pressed=true]{border:2px solid #1558d6;background:#e9f2ff;}
.t3-node-no{font-size:12px;background:#e8eff8;border-radius:50%;display:flex;align-items:center;justify-content:center;min-width:20px;height:20px;}
.t3-walk-node.on .t3-node-no,.t3-walk-node[aria-pressed=true] .t3-node-no{color:#fff;background:#1558d6;}
.t3-trace{padding:22px 20px;border:1px solid #bed2ed;border-radius:18px;margin-bottom:25px;}.t3-trace h3{margin-top:0;}
.t3-time-summary{display:flex;align-items:center;justify-content:center;gap:18px;border:1px solid #cad8ec;background:#f4f8ff;padding:24px;margin:18px 0;border-radius:15px;}.t3-time-summary>span{font-size:40px;}.t3-time-summary strong{font-size:15px;}.t3-time-summary p{font-size:30px;margin:5px 0;}
@media(max-width:540px){.t3-network{padding:12px 8px;}.t3-network-drawing{height:290px;}.t3-station{font-size:12px;min-width:46px;}.t3-station strong{padding:4px 2px;}.t3-line-key{font-size:13px;}.t3-trace{padding:16px 10px;}.t3-walk-map{padding:10px 4px;}.t3-walk-grid{grid-template-rows:repeat(3,90px);}.t3-walk-node{font-size:13px;width:calc(100% - 8px);}.t3-trace .actions .btn{max-width:100%;white-space:normal;text-align:center;}.t3-time-summary{padding:20px 10px;}.t3-time-summary p{font-size:25px;}}
@media print{.t3-network,.t3-walk-map{break-inside:avoid;background:white;}.t3-walk-node{background:white;}.t3-trace .actions{display:none;}}

/* B2-U04: scoped service components. Existing lesson presentation is unchanged. */
.s4-home,.s4-form,.s4-sequence{margin:1.25rem 0;padding:1.25rem;border:1px solid #cad7eb;border-radius:18px;background:#f7faff;min-width:0}
.s4-home figcaption{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1rem}.s4-home figcaption span{font-size:.85rem;color:#455a73}
.s4-rooms{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.s4-room{padding:1rem;border:1px solid #d2ddeb;border-radius:12px;background:white;min-width:0}.s4-room h3{margin:0 0 .5rem}.s4-room p{margin:.4rem 0;font-size:.95rem}.s4-room .s4-symptom{font-size:1.15rem;font-weight:650}.s4-object-name{font-weight:650}.s4-status,.s4-staff{display:inline-block;border-radius:5px;background:#eaf0f8;padding:.25rem .6rem;color:#2d466b;font-size:.8rem}.s4-room.issue .s4-status{background:#fff0dc;color:#794510}.s4-room.normal .s4-status{background:#e3f3ee;color:#195c4b}
.s4-object{height:92px;position:relative;display:flex;align-items:center;justify-content:center;margin:.4rem auto 1rem;width:130px;max-width:100%}.s4-object.heater{gap:5px;border-bottom:5px solid #485e7c}.s4-object.heater i{height:65px;width:15px;background:#e9eef5;border:2px solid #536a88;border-radius:5px}.s4-object.tap .s4-pipe{width:62px;height:45px;border:10px solid #8296b0;border-bottom:0;border-radius:9px 9px 0 0;position:absolute;top:0;left:22px}.s4-object.tap .s4-drop{width:9px;height:13px;border-radius:7px;background:#247dc3;position:absolute;left:70px;top:47px;box-shadow:0 17px 0 #247dc3}.s4-object.tap .s4-basin{height:20px;border:3px solid #536a88;border-top:0;border-radius:0 0 20px 20px;position:absolute;bottom:0;left:5px;right:5px}.s4-object.window{border:4px solid #536a88;background:#e8f3ff;height:80px;width:98px}.s4-object.window i:first-child{width:4px;height:100%;background:#536a88}.s4-object.window i:last-child{position:absolute;left:0;right:0;top:37px;height:4px;background:#536a88}
.s4-form-fields{display:grid;gap:.8rem}.s4-form-field{display:grid;grid-template-columns:minmax(120px,1fr) minmax(100px,1.5fr);gap:.6rem 1rem;align-items:center;padding:1rem;border:1px solid #ced9e8;border-radius:10px;background:white;min-width:0}.s4-form-field small{display:block;font-size:.8rem;color:#48586b;margin-top:.3rem}.s4-form-value{padding:.7rem;border-bottom:1px solid #8191a4;font-size:1.1rem;overflow-wrap:anywhere}.s4-form-field button{justify-self:start;min-height:44px}.s4-form-field.staff{background:#f0f3f6}.s4-field-response{margin-top:1rem;background:#eaf2ff;border-left:4px solid #1558d6;border-radius:8px;padding:1rem}.s4-question{font-size:1.2rem;font-weight:650;margin-top:0}
.s4-instruction{background:white;border-left:4px solid #1558d6;padding:1rem;border-radius:6px;line-height:1.75}.s4-action-pool{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.s4-action-pool .btn{display:flex;flex-direction:column;align-items:flex-start;text-align:left;white-space:normal;min-height:72px;padding:.8rem;line-height:1.5}.s4-action-pool .btn small{font-weight:400;color:#455a73;font-size:.8rem;white-space:normal}.s4-action-pool .btn:disabled{opacity:.68;background:#e8eef6}.s4-chosen{background:white;border:1px solid #d1dceb;border-radius:10px;margin:1rem 0;padding:1rem}.s4-order{padding-left:1.5rem;margin:.6rem 0;display:grid;gap:.6rem}.s4-order li{padding-left:.25rem;line-height:1.5}.s4-sequence .actions{flex-wrap:wrap}.s4-sequence .actions button{white-space:normal;line-height:1.4;min-height:44px}
@media(max-width:640px){.s4-rooms{grid-template-columns:1fr}.s4-room{display:grid;grid-template-columns:1fr 1fr;gap:.3rem .8rem}.s4-room h3{grid-column:1/-1}.s4-room .s4-object{grid-row:2/6;grid-column:1;margin:auto}.s4-room .s4-object-name,.s4-room .s4-status,.s4-room p{grid-column:2}.s4-room .s4-status{justify-self:start}.s4-home,.s4-form,.s4-sequence{padding:.85rem}.s4-form-field{grid-template-columns:1fr}.s4-action-pool{grid-template-columns:1fr}.s4-sequence h3{overflow-wrap:anywhere}.s4-form-field button{width:100%}.s4-action-pool .btn{min-height:65px}}
@media print{.s4-home,.s4-form,.s4-sequence{break-inside:avoid}.s4-paper{break-inside:avoid}.s4-form-field button{display:none}}

/* B2-U05: scoped rules activities; retain upstream typography and tokens. */
.r5-notice,.r5-sort,.r5-weather,.r5-questions{border:1px solid #d9e3f0;border-radius:18px;background:#fff;margin:20px 0;overflow:hidden;color:#203449}
.r5-notice>header{padding:22px 24px;background:#f0f5fd;border-bottom:1px solid #d9e3f0}
.r5-notice h3,.r5-sort h3,.r5-weather h3,.r5-questions h3{margin:0 0 12px;font-size:1.25rem;line-height:1.45}
.r5-notice header>p:last-child{margin-bottom:0}
.r5-notice-list{list-style:none;padding:6px 24px;margin:0}
.r5-notice-list>li{display:flex;gap:15px;padding:19px 0;border-bottom:1px solid #e4ebf4;align-items:flex-start}
.r5-notice-list>li:last-child{border-bottom:0}
.r5-notice-number{flex:0 0 29px;width:29px;height:29px;border-radius:50%;background:#eaf0fc;color:#1b4e9b;font-weight:700;display:grid;place-items:center;font-size:14px}
.r5-notice-list>li>div{min-width:0;flex:1}.r5-scope{font-size:.82rem;font-weight:650;color:#47607b}
.r5-ko{font-size:1.12em;font-weight:650;line-height:1.65;margin:7px 0 6px;overflow-wrap:anywhere}
.r5-meaning{color:#475c70;font-size:.95em;margin:0;line-height:1.6}
.r5-sort,.r5-weather,.r5-questions{padding:24px}
.r5-sort-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.r5-sort-item{min-width:0;border:1px solid #d8e1ec;padding:17px;border-radius:12px;background:#fbfcff}
.r5-sort-item .r5-ko{min-height:3.5em}
.r5-categories{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:14px}
.r5-categories .btn{white-space:normal;min-height:42px;line-height:1.3;padding:8px 4px;font-size:.85rem;overflow-wrap:anywhere}
.r5-categories .btn[aria-pressed=true],.r5-weather-options .btn[aria-pressed=true]{background:#e8f0ff;border-color:#1d58bd;box-shadow:inset 0 0 0 1px #1d58bd;color:#174895}
.r5-sort-item .feedback{margin-top:12px;font-size:.93em}.r5-sort-item .feedback p{margin-bottom:0}
.r5-question-list{display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}
.r5-question-list article{border:1px solid #d8e1ec;border-radius:12px;padding:17px;min-width:0;background:#fbfcff}
.r5-question-list h4{margin:0 0 10px;line-height:1.4}.r5-question-list small{display:block;color:#496076;margin-top:10px;font-size:.8rem}
.r5-question-list .btn{white-space:normal;min-height:42px}.r5-question-list .r5-ko{font-size:1em}
.r5-reply{margin-top:16px;padding:18px 20px;background:#edf5ff;border-left:4px solid #245bc1;border-radius:10px}
.r5-reply small{font-weight:650}.r5-confirmed{margin-top:18px}.r5-confirmed summary{cursor:pointer;padding:8px 0}.r5-confirmed li{margin:9px 0}
.r5-weather-options{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}.r5-weather-options .btn{white-space:normal;min-height:44px}
.r5-time{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:14px 17px;border-radius:10px;background:#f2f5fa;margin:17px 0}
.r5-time span{font-size:.9em;color:#4a6077}.r5-weather-result{display:grid;grid-template-columns:1fr auto 1fr;gap:18px;border:1px solid #c8d9f2;background:#f4f8ff;border-radius:14px;padding:24px;align-items:center}
.r5-weather-result small{display:block;color:#4a6077;font-size:.86em;margin-bottom:8px}.r5-weather-result strong{font-size:1.4em;line-height:1.5}.r5-arrow{font-size:1.7em;color:#1d58bd}
.r5-weather-result.unknown{background:#f7f8fa;border-color:#d8e0ea}.r5-weather-result p{margin:0;font-size:1em}.r5-paper{page-break-inside:avoid}
@media(max-width:700px){.r5-sort-grid,.r5-question-list{grid-template-columns:1fr}.r5-sort,.r5-weather,.r5-questions{padding:17px}.r5-notice>header{padding:18px}.r5-notice-list{padding:4px 17px}.r5-notice-list>li{gap:10px}.r5-sort-item .r5-ko{min-height:0}.r5-weather-result{padding:17px;gap:12px}.r5-weather-result strong{font-size:1.15em}}
@media(max-width:380px){.r5-weather-result{grid-template-columns:1fr}.r5-arrow{transform:rotate(90deg);width:1em;justify-self:center}.r5-sort-item{padding:12px}.r5-categories{gap:5px}.r5-categories .btn{font-size:.8rem}}
@media print{.r5-notice,.r5-sort,.r5-weather,.r5-questions{break-inside:avoid}.r5-categories button,.r5-weather-options,.r5-question-list button{display:none}.r5-ko{font-size:1em}}

/* B2-U06 learner components: scoped to avoid altering earlier units. */
.c6-record,.c6-lab,.c6-check{margin:1.35rem 0;border:1px solid var(--line,#dce5f1);border-radius:16px;background:#fff;overflow:hidden;max-width:100%}
.c6-record header,.c6-lab>header{padding:1.15rem 1.3rem;background:#f3f7fe;border-bottom:1px solid #dce5f1}
.c6-record h3,.c6-lab h3{margin:.25rem 0 .5rem}.c6-record-body{padding:0 .8rem}
.c6-record table{width:100%;table-layout:fixed;border-collapse:collapse;margin:0;font-size:.94rem}
.c6-record th,.c6-record td{padding:.8rem .6rem;text-align:left;vertical-align:top;border-bottom:1px solid #e4eaf3;overflow-wrap:anywhere;word-break:normal}
.c6-record thead th{background:#fff;color:#344b6a;font-size:.85rem}.c6-record th:first-child{width:24%}.c6-record tbody th{font-size:.85rem;color:#496180;font-weight:600}
.c6-record tbody td{font-weight:600;line-height:1.65}.c6-record tbody tr:last-child>*{border-bottom:0}.c6-foot{margin:0;padding:1rem 1.3rem;font-size:.91rem;color:#415775;background:#f7f9fc;line-height:1.6}
.c6-stage-tabs{display:flex;flex-wrap:wrap;gap:.5rem;padding:1rem 1.2rem}.c6-stage-tabs .btn{display:flex;align-items:center;gap:.5rem;text-align:left;max-width:100%;white-space:normal}
.c6-step-no{display:grid;place-items:center;min-width:1.55rem;height:1.55rem;border-radius:50%;background:#e9f0fb;color:#1f5099;font-size:.82rem;font-weight:750}
.c6-stage-tabs .btn[aria-pressed=true],.c6-options .btn[aria-pressed=true]{background:#1558d6;border-color:#1558d6;color:white}.c6-stage-tabs .btn[aria-pressed=true] .c6-step-no{background:#fff;color:#1558d6}
.c6-variants{display:flex;flex-wrap:wrap;gap:.5rem;padding:0 1.2rem 1rem}.c6-variants .btn[aria-pressed=true]{border-color:#1558d6;background:#eaf2ff;color:#19467f}
.c6-state-card{display:grid;grid-template-columns:3.25rem minmax(0,1fr);gap:1rem;margin:0 1.2rem;padding:1.25rem;border-radius:12px;background:#f4f7fc;border:1px solid #dde7f6}
.c6-index{font-size:1.8rem;font-weight:800;color:#1558d6}.c6-state-card h4{margin:0 0 .8rem}.c6-state-card dl{margin:0}.c6-state-card dl>div{display:grid;grid-template-columns:minmax(5rem,.8fr) minmax(0,2fr);gap:.7rem;padding:.65rem 0;border-top:1px solid #d9e3ef}.c6-state-card dt{font-size:.86rem;color:#415775}.c6-state-card dd{margin:0;font-weight:650;overflow-wrap:anywhere}
.c6-lab>.actions,.c6-lab>.fine{padding:0 1.2rem}.c6-lab>.b2-example{margin:0 1.2rem 1.2rem}.c6-lab>.fine{font-size:.85rem}
.c6-check{padding:1.2rem}.c6-check>h3{margin-top:0}.c6-check-rows{display:grid;gap:.85rem}.c6-check-rows>article{padding:1rem;border-radius:12px;border:1px solid #dce5f1;background:#fbfcfe}
.c6-statement{font-size:1.15rem;font-weight:650;margin:.75rem 0}.c6-options{display:flex;flex-wrap:wrap;gap:.4rem}.c6-options .btn{white-space:normal;line-height:1.4;min-height:42px}.c6-check .feedback{margin-top:.8rem}.c6-paper{break-inside:auto}
@media(max-width:520px){.c6-record header,.c6-lab>header{padding:1rem}.c6-record-body{padding:0 .3rem}.c6-record th,.c6-record td{padding:.65rem .4rem;font-size:.85rem}.c6-record th:first-child{width:23%}.c6-stage-tabs{padding:.85rem;gap:.45rem}.c6-stage-tabs .btn{flex:1 1 42%;font-size:.82rem;padding:.55rem}.c6-state-card{margin:0 .85rem;padding:.9rem;gap:.65rem;grid-template-columns:2rem minmax(0,1fr)}.c6-index{font-size:1.35rem}.c6-state-card dl>div{grid-template-columns:1fr;gap:.2rem}.c6-state-card dd{font-size:1rem}.c6-check{padding:.8rem}.c6-check-rows>article{padding:.85rem}.c6-options .btn{flex:1 1 80px;font-size:.78rem}.c6-statement{font-size:1.02rem}.c6-foot{padding:.85rem;font-size:.82rem}}
@media print{.c6-stage-tabs,.c6-variants,.c6-lab>.actions,.c6-options,.c6-check>.actions{display:none}.c6-record{break-inside:avoid;border-color:#999}.c6-paper li{break-inside:avoid}}

/* Narrative UI: uses the established palette and native controls. */
.n1-story,.n1-activity{margin:1.3rem 0;border:1px solid #c7d5e6;border-radius:18px;overflow:hidden;background:#fff;min-width:0}
.n1-story>header,.n1-activity>header{padding:22px 24px;background:#edf4ff;border-bottom:1px solid #d5e1f0}
.n1-story h3,.n1-activity h3{margin:0 0 8px}.n1-story p,.n1-activity p{overflow-wrap:anywhere}
.n1-paragraph{display:grid;grid-template-columns:24px minmax(0,1fr);gap:14px;margin:0 24px;padding:21px 0;border-bottom:1px solid #e3e9f0}
.n1-paragraph:last-child{border:0}.n1-paragraph p{margin:0 0 10px;line-height:1.85}.n1-line{font-size:12px;color:#456081;padding-top:7px}.n1-paragraph details{font-size:.85em}.n1-paragraph summary{color:#244d85;cursor:pointer}.n1-paragraph details p{margin:9px 0 0}
.n1-card-bank{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:24px}
.n1-event-card{display:flex;align-items:flex-start;gap:12px;text-align:left;padding:17px 14px;border:1px solid #b9cadf;background:#fff;border-radius:12px;font:inherit;line-height:1.7;cursor:pointer;min-width:0;overflow-wrap:anywhere;color:#12283e}
.n1-event-card[aria-pressed=true]{background:#eaf2ff;border-color:#1558d6;box-shadow:inset 0 0 0 1px #1558d6}.n1-bullet{flex:0 0 25px;height:25px;border-radius:50%;background:#dce9fa;color:#143d73;text-align:center;font-size:15px;line-height:25px}
.n1-selected{background:#f7f9fc;padding:18px 24px;margin:0 24px;border-radius:12px}.n1-selected h4{margin:0 0 12px}.n1-selected li{margin:8px 0}.n1-activity>.actions,.n1-activity>.fine,.n1-activity>.feedback,.n1-activity>fieldset{margin:20px 24px}.n1-activity>.actions{flex-wrap:wrap}.n1-activity .btn{white-space:normal;overflow-wrap:anywhere;max-width:100%}
.n1-explanation{margin:20px 24px;padding:20px;border-left:4px solid #3470c5;background:#f2f6fc;border-radius:4px 12px 12px 4px}.n1-explanation li{margin:8px 0}.n1-writing{padding:24px;display:grid;gap:22px}.n1-writing label>span{display:block;margin:0 0 10px;font-weight:700}.n1-writing label b{display:inline-grid;place-items:center;width:27px;height:27px;border-radius:8px;background:#e1edff;color:#1558d6;margin-right:8px}.n1-writing textarea{width:100%;box-sizing:border-box;border:1px solid #a9bbd2;border-radius:10px;padding:14px;min-height:120px;font:inherit;line-height:1.75;resize:vertical;max-width:100%;background:#fff;color:#16263d}
.n1-assembled{margin:0 24px 24px;padding:24px;background:#f5f8fc;border-radius:14px}.n1-assembled h4{margin:0 0 10px}.n1-assembled [data-n1-preview]{line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere}.n1-stopwatch{margin:24px;display:flex;flex-wrap:wrap;gap:12px;align-items:center;padding:20px;border:1px solid #c5d6ed;border-radius:12px}.n1-stopwatch p{flex-basis:100%;margin:0;font-size:.85em;color:#415269}.n1-reflection{border:1px solid #c5d6ed;border-radius:12px;padding:18px}.n1-reflection legend{padding:0 7px;font-weight:600}.n1-retell [data-n1-reflection-status]{margin:0 24px}.n1-paper{break-inside:avoid;margin:22px 0}
@media(max-width:620px){.n1-story>header,.n1-activity>header{padding:18px 16px}.n1-paragraph{margin:0 16px;gap:8px;grid-template-columns:18px minmax(0,1fr)}.n1-card-bank{grid-template-columns:1fr;padding:16px}.n1-selected,.n1-explanation,.n1-assembled,.n1-stopwatch{margin:16px;padding:16px}.n1-writing{padding:16px}.n1-activity>.actions,.n1-activity>.fine,.n1-activity>.feedback,.n1-activity>fieldset{margin:16px}.n1-writing textarea{font-size:18px}.n1-stopwatch .btn{width:100%}}
@media print{.n1-card-bank{grid-template-columns:1fr}.n1-stopwatch,.n1-activity>.actions{display:none}.n1-story,.n1-activity{overflow:visible}.n1-paper details{display:none}}

/* M1-U02 only; inherit the existing site typography and interaction contract. */
.cmp-source,.cmp-task{border:1px solid var(--line,#dbe3ed);border-radius:16px;background:#fff;margin:24px 0;overflow:hidden;max-width:100%}.cmp-source>header,.cmp-task>header{padding:22px 24px;background:#f3f7fe;border-bottom:1px solid #dbe5f5}.cmp-source h3,.cmp-task h3{margin:4px 0 10px}.cmp-source>header p:last-child{margin-bottom:0}.cmp-table-wrap{max-width:100%;overflow-x:auto;padding:12px 18px}.cmp-table-wrap table{border-collapse:collapse;width:100%;table-layout:fixed;margin:0}.cmp-table-wrap th,.cmp-table-wrap td{padding:15px 12px;border-bottom:1px solid #e2e8f0;text-align:left;vertical-align:top;overflow-wrap:anywhere;word-break:normal}.cmp-table-wrap thead th{background:#eef3fb;color:#173c70;font-size:.88em}.cmp-table-wrap th:first-child{width:30%;}.cmp-table-wrap tbody th{color:#4c607b;font-weight:600}.cmp-table-wrap td{font-weight:650}.cmp-foot{font-size:.86em;color:#51617b;padding:12px 24px 20px;margin:0}.cmp-classifications{padding:8px 22px}.cmp-item{padding:18px 0;border-bottom:1px solid #e5eaf1}.cmp-item:last-child{border-bottom:0}.cmp-item h4{margin:0 0 12px}.cmp-category-buttons{display:flex;gap:8px;flex-wrap:wrap}.cmp-category-buttons button[aria-pressed=true],.cmp-picks button[aria-pressed=true]{background:#1558d6;border-color:#1558d6;color:white}.cmp-task>.actions,.cmp-task>.fine,.cmp-task>.feedback,.cmp-reasons,.cmp-examples{margin:18px 24px}.cmp-reasons,.cmp-examples{padding:18px;background:#f4f7fb;border-radius:12px}.cmp-reasons p,.cmp-examples p{margin:0 0 12px}.cmp-reasons p:last-child,.cmp-examples p:last-child{margin-bottom:0}.cmp-report>h4{padding:0 24px;margin:30px 0 12px;font-size:1.08em}.cmp-report>p{margin:12px 24px}.cmp-report .cmp-table-wrap input{width:100%;min-width:0;padding:12px 10px;background:#fff;border:1px solid #9eafc5;border-radius:8px;font:inherit;font-size:.9em}.cmp-report .cmp-table-wrap td{padding:10px 7px}.cmp-picks{padding:0 24px;display:grid;gap:12px}.cmp-picks>div{display:flex;flex-wrap:wrap;gap:9px}.cmp-writing{padding:4px 24px;display:grid;gap:22px}.cmp-writing label{display:grid;gap:9px}.cmp-writing label>span{display:flex;align-items:baseline;gap:10px;font-weight:650}.cmp-writing b{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:#e8effc;color:#1558d6;min-width:28px;height:28px;font-size:.8em}.cmp-writing textarea{width:100%;min-width:0;resize:vertical;font:inherit;line-height:1.65;padding:14px;border:1px solid #9eafc5;border-radius:10px;background:#fff}.cmp-report-preview{margin:16px 24px;background:#f3f7fe;border-left:4px solid #1558d6;padding:16px 18px;overflow-wrap:anywhere}.cmp-report-preview p{margin:0 0 12px}.cmp-clock{margin:24px;padding:18px;border:1px solid #dce4ed;border-radius:12px}.cmp-clock strong{display:inline-block;margin-right:18px}.cmp-clock p{font-size:.86em;color:#51617b}.cmp-reflection{margin:24px;border:1px solid #c6d1df;border-radius:12px;padding:15px}.cmp-reflection legend{font-size:.87em;max-width:100%;padding:0 5px}.cmp-reflection .actions{margin:8px 0}.cmp-reflection button[aria-pressed=true]{box-shadow:inset 0 0 0 2px #1558d6}.cmp-report>[data-cmp-reflection-status]{margin:16px 24px}.cmp-paper{margin:24px 0}.cmp-paper .cmp-source{break-inside:avoid}.cmp-examples h4{border-bottom:1px solid #ced8e8;padding-bottom:8px;margin:12px 0}.cmp-task :focus-visible{outline:3px solid #ffbf47;outline-offset:3px}
@media(max-width:640px){.cmp-source>header,.cmp-task>header{padding:18px 16px}.cmp-table-wrap{padding:6px}.cmp-table-wrap th,.cmp-table-wrap td{padding:10px 6px;font-size:.88em}.cmp-table-wrap th:first-child{width:31%}.cmp-foot{padding:12px 14px 16px}.cmp-classifications{padding:5px 14px}.cmp-category-buttons .btn{flex:1 1 auto;white-space:normal;min-height:44px;padding:9px}.cmp-task>.actions,.cmp-task>.fine,.cmp-task>.feedback,.cmp-reasons,.cmp-examples{margin:14px}.cmp-report>h4{padding:0 14px}.cmp-report>p{margin:12px 14px}.cmp-writing{padding:0 14px}.cmp-picks{padding:0 14px}.cmp-report-preview,.cmp-clock,.cmp-reflection{margin:18px 14px}.cmp-report .cmp-table-wrap input{padding:10px 5px;font-size:1em}.cmp-report .cmp-table-wrap th:first-child{width:26%}.cmp-writing textarea{padding:10px}.cmp-clock .btn{margin-top:10px}.cmp-report>[data-cmp-reflection-status]{margin:14px}}
@media print{.cmp-clock,.cmp-reflection,.cmp-report>.actions{display:none}.cmp-table-wrap{overflow:visible}.cmp-source,.cmp-task{box-shadow:none;border-radius:0}.cmp-source header,.cmp-task header{background:white}}

/* Evidence marking is scoped to the new M1-U06 sentence task. */
.n1-activity[data-evidence="true"] .n1-card-bank{display:grid;grid-template-columns:1fr;gap:.65rem}
.n1-activity[data-evidence="true"] .n1-event-card{width:100%;text-align:left;align-items:flex-start;line-height:1.75;white-space:normal}
.n1-activity[data-evidence="true"] .n1-event-card[aria-pressed="true"]{background:#eaf2ff;border-color:#1558d6;box-shadow:inset 4px 0 0 #1558d6}
.n1-activity[data-evidence="true"] .evidence-heading{display:block;font-size:.78em;font-weight:700;color:#405471;line-height:1.45;margin-bottom:.28rem}
.n1-activity[data-evidence="true"] .n1-bullet{flex-shrink:0}
@media print{.n1-activity[data-evidence="true"] .n1-event-card{break-inside:avoid}}

/* KOREAN 3001: learner-first presentation. Exercise-specific layouts remain in legacy.css. */
:root{--blue:#2157dc;--deep:#10244a;--ink:#182946;--muted:#546278;--line:#dce3ec;--bg:#f8f9fc;--pale:#eef3ff;--radius:18px;--shadow:0 10px 28px #1d396006;--reading:18px;font-family:Inter,"Segoe UI","Noto Sans CJK KR","Noto Sans CJK JP","Malgun Gothic","Yu Gothic",system-ui,sans-serif;background:var(--bg);font-synthesis:none}
body{color:var(--ink);line-height:1.65}html{scroll-padding-top:88px}h1,h2,h3{letter-spacing:-.035em}button,input,textarea,select{font-family:inherit}a,button{-webkit-tap-highlight-color:transparent}a:hover{text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #245bdd;outline-offset:4px}::selection{background:#d9e5ff;color:#16274b}
.studio-app{min-height:100vh}.studio-shell{max-width:1224px;padding:40px 32px 80px;min-height:calc(100vh - 250px)}.view-home .studio-shell,.view-choose .studio-shell{padding-top:28px}.btn{min-height:46px;border-radius:10px;padding:11px 19px;font-size:14px;line-height:1.5;font-weight:650;box-shadow:none}.btn.primary{background:var(--blue);border-color:var(--blue);color:#fff}.btn.primary:hover{background:#1946b8}.btn.outline{background:transparent;border-color:#cbd5e4;color:var(--deep)}.btn.outline:hover{background:#edf2fc;border-color:#99b0d7}.btn.large{min-height:52px;padding:14px 22px;font-size:15px}.btn.quiet{background:transparent;color:var(--muted)}.btn.small{min-height:44px}.icon-btn{border-radius:10px;min-height:44px;min-width:44px}.eyebrow{font-size:11px;letter-spacing:.10em;color:var(--blue);font-weight:750;margin:0 0 12px;text-transform:none}.eyebrow span{font-weight:450;color:var(--muted)}.fine{color:var(--muted)}.tag{border-radius:6px}.studio-textlink{display:inline-flex;align-items:center;gap:12px;font-size:13px;font-weight:650;color:var(--deep);min-height:44px}.studio-textlink:hover{color:var(--blue)}.studio-textlink svg{width:16px}.studio-dot{display:inline-block;width:7px;height:7px;background:#2c60de;border-radius:50%;margin-right:8px;vertical-align:1px}
/* Navigation */
.studio-header{position:sticky;top:0;z-index:60;background:#ffffffef;backdrop-filter:blur(12px);border-bottom:1px solid #e3e8ef}.studio-header-inner{max-width:1320px;margin:auto;display:flex;align-items:center;gap:46px;min-height:76px;padding:12px 36px}.studio-brand{display:inline-flex;gap:9px;align-items:center;color:var(--deep);flex-shrink:0}.studio-mark{width:37px;height:39px;background:var(--blue);border-radius:10px 10px 10px 3px;display:grid;place-items:center;color:white;font-size:24px;font-weight:750;line-height:1}.studio-wordmark{font-size:15px;font-weight:800;letter-spacing:.015em;line-height:1.12;display:flex;flex-direction:column}.studio-wordmark>span{font-size:10px;letter-spacing:.22em;margin-top:5px;color:#63718a}.studio-header .main-nav{margin-right:auto;display:flex;gap:28px;align-items:center}.studio-header .main-nav a{font-size:13px;font-weight:600;color:#5c687b;padding:8px 0;white-space:nowrap}.studio-header .main-nav a[aria-current]{color:var(--blue);box-shadow:0 2px 0 var(--blue)}.studio-header-actions{display:flex;gap:12px;align-items:center;margin-left:auto}.studio-header .icon-btn{background:transparent;border-color:transparent}.studio-header .lang-control{border-color:#dce3ed;font-size:12px;min-height:40px;max-width:116px;padding:6px 10px}.studio-my{display:inline-flex;align-items:center;justify-content:center;background:var(--deep);color:white;padding:9px 16px;min-height:40px;border-radius:9px;font-size:12px;font-weight:650;white-space:nowrap}.studio-my:hover{background:var(--blue)}.studio-my[aria-current]{background:var(--blue)}.studio-exit{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);border-left:1px solid var(--line);padding-left:26px}.studio-header.is-learning .studio-header-inner{gap:24px;min-height:66px}.studio-header.is-learning .studio-mark{width:31px;height:34px;font-size:21px}.studio-header .mobile-menu{display:none}.storage-banner{font-size:13px;z-index:50;position:relative;background:#fff7e5;padding:10px 24px;border-bottom:1px solid #e9d8b2}
/* Homepage */
.studio-hero{display:grid;grid-template-columns:1.12fr 1fr;align-items:center;gap:68px;padding:36px 0 58px}.studio-hero-copy{min-width:0}.studio-hero h1{font-size:clamp(40px,4.6vw,64px);line-height:1.2;letter-spacing:-.055em;margin:20px 0 25px;font-weight:800;word-break:keep-all}.studio-hero h1 em{font-style:normal;color:var(--blue)}.studio-intro{font-size:16px;line-height:1.9;color:var(--muted);max-width:470px;margin:0 0 26px}.studio-hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}.studio-reassurance{font-size:12px;color:#66718a;display:flex;align-items:center;gap:7px;margin:18px 0 26px}.studio-language-note{display:flex;flex-wrap:wrap;align-items:center;gap:14px;font-size:11px;color:var(--muted)}.studio-language-note>div{display:flex;gap:4px;flex-wrap:wrap}.studio-language-note a{color:#626e81;font-size:12px;padding:6px 9px;border-radius:6px;min-height:32px;display:inline-flex;align-items:center}.studio-language-note a.active{color:var(--blue);background:#e8effe;font-weight:700}.studio-hero-showcase{position:relative;background:#eaf0fd;border:1px solid #d9e3f8;border-radius:26px;padding:25px 26px 20px;min-width:0;box-shadow:0 24px 65px #223b6420;overflow:hidden}.studio-hero-showcase:before{content:"";position:absolute;width:280px;height:280px;border:1px solid #ccdaf8;border-radius:50%;right:-85px;top:-90px;pointer-events:none}.studio-showcase-top{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#485f85;gap:12px;position:relative}.studio-showcase-top>span:first-child{font-weight:750}.studio-showcase-caption{text-align:right}.studio-letter-line{display:flex;justify-content:center;gap:10px;margin:22px 0 22px}.studio-letter-line span{display:grid;place-items:center;width:70px;height:78px;border-radius:12px;background:#fff;font-size:49px;font-weight:650;line-height:1;box-shadow:0 5px 0 #dce6f8;color:#1c49af}.studio-letter-line span:nth-child(2){transform:translateY(-6px);background:#2455ca;color:white;box-shadow:0 5px 0 #afc2ee}.studio-preview-card{position:relative;background:#fff;border:1px solid #d8e2f5;border-radius:13px;padding:15px 19px;box-shadow:0 6px 14px #28447b08;margin-top:11px}.studio-preview-card.first{margin-right:24px}.studio-preview-card.middle{margin-left:20px;border-left:3px solid #2b5dda}.studio-preview-card.last{margin-right:36px}.studio-preview-label{display:block;font-size:10px;letter-spacing:.02em;color:#6b7891;margin-bottom:8px}.studio-preview-link{display:flex;align-items:center;justify-content:space-between;gap:16px;color:var(--deep)}.studio-preview-link strong{font-size:23px;font-weight:650;line-height:1.55;letter-spacing:-.025em}.studio-preview-link strong>span{color:#456390}.studio-preview-link svg{color:#2b5dda;min-width:18px}.studio-showcase-bottom{display:flex;align-items:center;gap:12px;font-size:9px;letter-spacing:.10em;color:#566f9d;margin-top:22px}.studio-showcase-bottom i{height:1px;background:#c6d5f1;flex:1}.studio-section{padding:34px 0 42px}.studio-section-head{display:flex;align-items:end;justify-content:space-between;gap:22px;margin-bottom:25px}.studio-section-head h2{margin:0;font-size:29px;font-weight:750;line-height:1.4}.studio-section-head p:not(.eyebrow){font-size:14px;color:var(--muted);margin:10px 0 0}.studio-section-head>.studio-textlink{white-space:nowrap}.studio-course-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.studio-course-card{border:1px solid #dce3ed;background:#fff;border-radius:16px;overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .18s,border-color .18s,transform .18s}.studio-course-card:hover{transform:translateY(-3px);border-color:#afc2e4;box-shadow:0 14px 30px #1b396611}.studio-course-art{height:160px;padding:18px 20px;background:#edf2ff;position:relative;display:flex;align-items:center;justify-content:center}.studio-course-number{font-size:11px;position:absolute;left:18px;top:14px;color:#536f9c;font-weight:700}.studio-course-glyph{font-size:52px;font-weight:750;color:#2258cf;letter-spacing:-.06em;line-height:1}.studio-course-level{position:absolute;bottom:14px;left:18px;right:12px;font-size:11px;color:#4e6486}.tone-1 .studio-course-art{background:#eef4f8}.tone-1 .studio-course-glyph{font-size:40px;color:#335e79}.tone-2 .studio-course-art{background:#f2f1fb}.tone-2 .studio-course-glyph{font-size:40px;color:#5c58a3}.tone-3 .studio-course-art{background:#eaf3f2}.tone-3 .studio-course-glyph{font-size:40px;color:#2b6c69}.studio-course-copy{padding:20px;flex:1;display:flex;flex-direction:column}.studio-meta{font-size:11px;display:flex;gap:8px;color:#5d6c82;flex-wrap:wrap}.studio-course-copy h3{font-size:22px;margin:9px 0 10px}.studio-course-copy h3 a{color:var(--deep)}.studio-course-copy>p{font-size:13px;color:var(--muted);line-height:1.85;margin:0 0 15px}.studio-course-copy>.studio-textlink{margin-top:auto;border-top:1px solid #edf0f5;padding-top:10px}.studio-small-progress{color:var(--blue)!important;font-size:11px!important}.studio-method{margin:38px 0;background:var(--deep);color:#fff;border-radius:23px;padding:40px;display:grid;grid-template-columns:.8fr 1.2fr;gap:56px}.studio-method .eyebrow{color:#a0bcff}.studio-method h2{font-size:29px;line-height:1.45;margin:0 0 14px}.studio-method>div>p:not(.eyebrow){font-size:14px;line-height:1.9;color:#b8c7e4}.studio-method-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.studio-method-number{display:block;color:#90b3ff;font-size:12px;border-bottom:1px solid #ffffff30;padding-bottom:17px;margin-bottom:18px}.studio-method-steps h3{font-size:16px;letter-spacing:-.02em;margin:0 0 10px;line-height:1.5}.studio-method-steps p{font-size:12px;line-height:1.9;color:#b8c7e4;margin:0}.studio-path-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px}.studio-path-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:25px;display:flex;flex-direction:column;min-width:0}.studio-path-symbol{width:39px;height:39px;display:grid;place-items:center;border-radius:10px;background:#eef3fe;color:#2a58c1;font-size:22px;margin-bottom:20px}.studio-path-card h2,.studio-path-card h3{font-size:20px;margin:10px 0;line-height:1.5}.studio-path-card>p{font-size:13px;color:var(--muted);line-height:1.8;margin:0 0 18px}.studio-path-card>.studio-textlink{margin-top:auto}.studio-path-card details{font-size:13px;border-top:1px solid #e9edf4;margin:0 0 12px;padding-top:12px}.studio-path-card summary{cursor:pointer;min-height:36px}.studio-path-card ol{padding-left:20px}.studio-path-card li{margin:10px 0}.studio-path-card li a{color:var(--deep)}
/* Course and start-point pages */
.studio-page-heading{max-width:800px;margin:14px 0 38px}.studio-page-heading h1{font-size:42px;font-weight:800;line-height:1.3;margin:10px 0 18px;word-break:keep-all}.studio-page-heading>p:not(.eyebrow){font-size:16px;color:var(--muted);line-height:1.85}.studio-start-banner{border-radius:18px;background:#edf2fc;border:1px solid #d9e2f3;padding:30px;margin-top:36px;display:flex;align-items:center;gap:32px;justify-content:space-between}.studio-start-banner h2{font-size:22px;margin:0 0 10px}.studio-start-banner p{font-size:13px;color:var(--muted);margin:0;max-width:600px}.studio-start-banner .btn{flex-shrink:0}.studio-course-hero{display:grid;grid-template-columns:1fr 320px;gap:70px;align-items:center;padding:14px 0 46px;border-bottom:1px solid var(--line);margin-bottom:38px}.studio-course-hero h1{font-size:52px;line-height:1.2;margin:15px 0 20px}.studio-course-hero .studio-intro{max-width:610px}.studio-course-start{border:1px solid #d6e0f4;background:#eef3ff;padding:25px;border-radius:18px}.studio-course-start-glyph{font-size:52px;font-weight:750;letter-spacing:-.05em;color:var(--blue);display:block;line-height:1.1}.studio-course-start p{font-size:13px;color:#466083;margin:18px 0}.studio-course-start .btn{width:100%}.studio-units{display:grid;gap:12px}.studio-unit{border:1px solid var(--line);border-radius:14px;background:white;overflow:clip}.studio-unit>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:22px;padding:22px 26px}.studio-unit>summary::-webkit-details-marker{display:none}.studio-unit-number{font-size:18px;color:var(--blue);background:#f0f4fd;width:46px;height:46px;border-radius:11px;display:grid;place-items:center;flex-shrink:0}.studio-unit-summary{display:flex;flex-direction:column;gap:5px}.studio-unit-summary strong{font-size:18px;line-height:1.5;letter-spacing:-.02em}.studio-unit-summary small{font-size:12px;color:var(--muted)}.studio-unit-plus{font-size:24px;color:#637899;margin-left:auto;font-weight:350}.studio-unit[open]>summary{background:#fbfcff;border-bottom:1px solid #e6ebf4}.studio-unit[open] .studio-unit-plus{transform:rotate(45deg)}.studio-unit-inner{padding:10px 28px 22px}.studio-unit-outcome{font-size:14px;color:var(--muted);margin:18px 0}.studio-lesson-rows{padding:0;margin:0;list-style:none;display:grid;gap:0}.studio-lesson-rows>li{border-bottom:1px solid #e9eef5}.studio-lesson-rows>li:last-child{border-bottom:0}.studio-lesson-row{display:flex;align-items:center;gap:18px;padding:19px 8px;color:var(--ink);border-radius:8px}.studio-lesson-row:hover{background:#f4f7fd}.studio-row-index{width:33px;height:33px;flex-shrink:0;display:grid;place-items:center;font-size:12px;color:#5d708f;border:1px solid #d9e1ec;border-radius:50%;font-weight:650}.studio-row-index.done{background:#ebf7f0;color:#236b4a;border-color:#c2dfcf}.studio-row-text{min-width:0;flex:1}.studio-row-text strong{display:block;font-size:15px;line-height:1.6;font-weight:650}.studio-row-text small{display:block;font-size:12px;color:var(--muted);line-height:1.8;margin-top:5px}.studio-row-action{font-size:11px;color:var(--blue);display:flex;align-items:center;gap:9px;max-width:145px;min-width:90px;justify-content:flex-end}.studio-row-action svg{width:16px}.studio-unit-head{max-width:840px;margin:22px 0 36px}.studio-unit-head h1{font-size:39px;line-height:1.35;margin:12px 0 18px}.studio-unit-head>p:not(.eyebrow){font-size:17px;color:var(--muted)}.studio-unit-sheet{background:#fff;border:1px solid var(--line);padding:12px 27px;border-radius:18px}.studio-unit-end{max-width:740px;padding:30px 0;margin-top:26px}.studio-unit-end h2{font-size:20px}.studio-unit-end p{font-size:15px;color:var(--muted)}.studio-start{max-width:840px;margin:auto}.studio-start-grid{display:grid;gap:13px}.studio-start-option{text-align:left;background:#fff;border:1px solid var(--line);border-radius:14px;padding:21px;display:flex;align-items:center;gap:20px;color:var(--ink);font:inherit}.studio-start-option strong{display:block;font-size:16px;font-weight:600;line-height:1.65}.studio-start-option small{font-size:12px;color:var(--muted)}.studio-start-num{font-size:15px;color:#6b7f9b;font-weight:600}.studio-radio{width:21px;height:21px;flex-shrink:0;border:1px solid #b7c4d9;border-radius:50%;margin-left:auto}.studio-start-option[aria-pressed=true]{border-color:var(--blue);background:#f1f5ff}.studio-start-option[aria-pressed=true] .studio-radio{background:var(--blue);box-shadow:inset 0 0 0 4px white}.studio-start-result{border:1px solid #c9d9f4;border-radius:18px;background:#eaf1ff;padding:30px;margin-top:30px}.studio-start-result h2{font-size:27px;margin:6px 0 12px}.studio-start-result .fine{font-size:12px;margin-bottom:0}
/* Focused lesson workspace */
.view-lesson{background:#f7f8fb}.view-lesson .studio-shell{max-width:1280px;padding-top:30px;padding-bottom:35px}.studio-learning-grid{display:grid;grid-template-columns:224px minmax(0,1fr);gap:42px;align-items:start}.studio-learning-sidebar{position:sticky;top:92px;max-height:calc(100vh - 110px);overflow-y:auto;padding-right:9px}.studio-contents-title{font-size:16px;font-weight:700;line-height:1.65;margin:6px 8px 20px 0}.studio-learning-sidebar .side-lesson{font-size:12px;padding:12px 9px;border-radius:9px;min-height:46px;color:#51627c;margin-bottom:4px;gap:10px}.side-lesson .num{color:#576985;min-width:21px;font-size:11px}.studio-learning-sidebar .side-lesson.active{background:#e7eefe;color:#214caa;font-weight:650;box-shadow:inset 3px 0 #2c5dd1}.studio-sidebar-foot{display:grid;gap:3px;border-top:1px solid var(--line);margin-top:20px;padding-top:15px}.studio-sidebar-foot a{font-size:12px;color:#596b85;padding:8px 0}.studio-learning-main{min-width:0;max-width:890px}.studio-lesson-top{display:flex;align-items:start;gap:20px;justify-content:space-between;margin-bottom:24px}.studio-lesson-top h1{font-size:28px;line-height:1.45;letter-spacing:-.04em;margin:0;word-break:keep-all}.studio-lesson-top .eyebrow{font-size:11px;margin-bottom:9px}.studio-display{position:relative;font-size:12px;flex-shrink:0}.studio-display>summary{cursor:pointer;width:40px;height:38px;border:1px solid #d6dfed;background:#fff;border-radius:8px;display:grid;place-items:center;font-size:14px;list-style:none}.studio-display>summary::-webkit-details-marker{display:none}.studio-display>div{position:absolute;right:0;top:46px;width:260px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 15px 45px #16305625;padding:19px;z-index:50}.studio-display>div p{font-size:12px}.studio-mobile-contents{display:none}.studio-flow{margin:0 0 4px}.studio-flow ol{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));list-style:none;gap:4px;padding:0;margin:0}.studio-flow a{display:flex;gap:8px;align-items:center;justify-content:center;padding:10px 5px 13px;border-bottom:2px solid #dae2ed;color:#61718a;font-size:12px;min-height:49px}.studio-flow a>span{font-size:10px;border:1px solid #ced7e5;line-height:20px;min-width:22px;text-align:center;border-radius:50%;font-weight:700}.studio-flow a>strong{font-weight:550}.studio-flow a.active{color:var(--blue);border-color:var(--blue)}.studio-flow a.active>span{background:var(--blue);border-color:var(--blue);color:#fff}.studio-flow a.active>strong{font-weight:700}.studio-subflow{display:flex;gap:7px;flex-wrap:wrap;padding:13px 0 16px;font-size:11px}.studio-subflow a{padding:6px 9px;border-radius:6px;color:#64728b;min-height:32px;display:flex;align-items:center}.studio-subflow a.active{color:#214faf;background:#e9effc;font-weight:650}.reading-panel.studio-reading{background:#fff;border:1px solid #dbe3ed;box-shadow:0 4px 10px #24447003;border-radius:18px;padding:34px 36px;line-height:1.85;font-size:var(--reading);min-height:300px;overflow:visible}.studio-reading>h2{font-size:26px;margin:3px 0 27px;letter-spacing:-.025em;line-height:1.45;color:var(--deep);scroll-margin-top:95px}.studio-activity-kicker{font-size:11px;font-weight:750;color:var(--blue);letter-spacing:.08em}.studio-activity-kicker>span{font-weight:450;color:#758398}.studio-reading>p{margin:18px 0}.studio-reading h3{font-size:calc(var(--reading) + 2px);line-height:1.6}.studio-reading h4{font-size:var(--reading)}.studio-reading .b1-dialogue{border:1px solid #dbe4f5;background:#f5f8ff;border-radius:15px;padding:22px}.studio-reading .b1-dialogue-line>div{border-radius:12px;background:#fff;box-shadow:none;border:1px solid #e4ebf6}.studio-reading .b1-dialogue-line.reply>div{background:#e9f0fd;border-color:#d7e3fa}.studio-reading .b1-dialogue-line p[lang=ko]{font-size:calc(var(--reading) + 2px)}.studio-reading .fine{font-size:max(12px,calc(var(--reading) - 5px));line-height:1.75}.studio-reading .table-wrap{border-radius:11px;border-color:#dce4ef}.studio-reading .table-wrap th{background:#f0f4fc;color:#334c75}.studio-reading .feedback{border-radius:12px;box-shadow:none}.studio-reading input,.studio-reading textarea{border-color:#bac9df;border-radius:9px;line-height:1.7;color:var(--ink)}.studio-reading [data-action]{min-height:44px}.studio-reading .notice{background:#f3f6fc;border:1px solid #dce4f2;border-left:3px solid #9cb4e2;font-size:max(13px,calc(var(--reading) - 3px));padding:14px 19px}.studio-reading .b1-vocab{gap:10px}.studio-reading .b1-vocab>div{border-radius:10px;background:#f6f8fc;border-color:#e0e7f2}.studio-reading details{line-height:1.75}.studio-reading details summary{cursor:pointer;min-height:38px;padding-top:6px;padding-bottom:6px}.studio-lesson-controls{position:sticky;bottom:0;z-index:20;background:#f7f8fbef;backdrop-filter:blur(12px);padding:16px 0 max(16px,env(safe-area-inset-bottom));margin:0;display:flex;gap:12px;align-items:center;justify-content:space-between;border-top:0}.studio-step-number{font-size:11px;color:#667893;white-space:nowrap}.studio-lesson-controls .btn{font-size:13px;min-height:46px}.studio-study-footer{max-width:850px;margin:auto;padding:20px 30px 30px;display:flex;justify-content:space-between;gap:20px;font-size:11px;color:#7a8499}.studio-study-footer a{color:#596d8b}.studio-learning-main .r60-path-strip{margin-top:14px;font-size:12px}
/* Learning records and resources */
.studio-resume{display:flex;align-items:center;gap:22px;background:#eef3ff;border:1px solid #d2def6;border-radius:17px;padding:25px 28px;margin:8px 0 30px}.studio-resume-icon{width:62px;height:65px;flex-shrink:0;background:#fff;border:1px solid #d7e1f5;display:grid;place-items:center;border-radius:13px;color:#285ccc;font-size:24px;font-weight:750;letter-spacing:-.06em}.studio-resume>div:nth-child(2){flex:1;min-width:0}.studio-resume h2{font-size:23px;line-height:1.5;margin:5px 0 12px}.studio-resume .eyebrow{margin:0;font-size:10px}.studio-position{display:flex;align-items:center;gap:12px}.studio-position>span{display:block;position:relative;height:5px;border-radius:8px;background:#d6e1f5;max-width:180px;width:100%;overflow:hidden}.studio-position>span:before{content:"";display:block;height:100%;width:var(--progress);background:var(--blue);border-radius:8px}.studio-position small{font-size:10px;color:#536b93;white-space:nowrap}.studio-record-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:22px 0 12px}.studio-record-stats>div{display:flex;align-items:baseline;gap:17px;padding:23px 25px;background:#fff;border:1px solid var(--line);border-radius:14px}.studio-record-stats strong{font-size:34px;font-weight:700;line-height:1}.studio-record-stats span{font-size:13px;color:var(--muted)}.studio-progress-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:28px 0 30px}.studio-progress-grid article{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px}.studio-progress-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:13px;font-size:12px}.studio-progress-head a{color:var(--deep)}.studio-progress-head span{font-size:11px;color:#64738a}.r60-record{border-radius:13px!important;box-shadow:none!important}.r60-record h3{font-size:18px}.r60-record details{font-size:13px}.studio-record-tools{border:1px solid var(--line);background:#fff;border-radius:14px;padding:20px 25px;margin-top:38px;font-size:14px}.studio-record-tools>summary{font-weight:650;cursor:pointer;min-height:32px}.studio-record-tools .fine{font-size:12px}.studio-empty{background:#fff;border:1px solid var(--line);border-radius:22px;padding:54px 30px;text-align:center}.studio-empty-symbol{width:78px;height:84px;display:grid;place-items:center;background:#edf3ff;color:#2b5cd0;font-size:53px;line-height:1;border-radius:18px;margin:0 auto 25px}.studio-empty h2{font-size:28px;margin:15px 0}.studio-empty>p{max-width:480px;margin:0 auto;font-size:15px;line-height:1.9;color:var(--muted)}.studio-empty .actions{justify-content:center}.view-library .page-heading,.view-paths .page-heading{margin-bottom:28px}.view-library .page-heading h1{font-size:42px}.r60-filter-form{background:#fff!important;border-radius:14px!important;border:1px solid var(--line)!important;padding:20px!important;gap:16px!important}.r60-filter-form label{font-size:12px!important;color:var(--muted)}.r60-filter-form input,.r60-filter-form select{border:1px solid #ccd7e7;border-radius:9px;min-height:43px}.r60-resource-grid{gap:18px!important}.r60-resource{border-radius:14px!important;padding:23px!important;background:#fff!important}.r60-resource h2{font-size:20px!important}.r60-resource p[lang=ko]{font-size:18px!important}.r60-pager{margin-top:25px}.studio-search-page{max-width:900px;margin:auto}.studio-search-page .search-form{background:#fff;padding:12px;border:1px solid var(--line);border-radius:14px;gap:10px;margin-bottom:28px}.studio-search-page input{border:0;background:transparent;min-height:48px;min-width:0;font-size:17px}.studio-search-page .studio-lesson-rows{background:#fff;padding:8px 24px;border:1px solid var(--line);border-radius:15px}.studio-search-suggestions{display:flex;gap:10px;flex-wrap:wrap;margin-top:15px}
/* Footer and print */
.studio-footer{max-width:1224px;margin:0 auto;padding:35px 32px 22px;border-top:1px solid #dfe5ef}.studio-footer-top{display:flex;justify-content:space-between;align-items:start;gap:40px}.studio-footer-brand strong{font-size:16px;letter-spacing:.015em;color:var(--deep)}.studio-footer-brand p{font-size:12px;color:var(--muted);margin:9px 0 0}.studio-footer-top nav{display:flex;gap:22px;flex-wrap:wrap}.studio-footer-top nav a{font-size:12px;color:#55657f;min-height:40px;display:flex;align-items:center}.studio-footer-bottom{border-top:1px solid #e8ecf3;padding-top:18px;margin-top:28px;display:flex;justify-content:space-between;gap:20px;font-size:10px;color:#748096;flex-wrap:wrap}.studio-footer-bottom a{color:#536785}.prose-page{max-width:820px;background:#fff;border:1px solid var(--line);padding:34px;border-radius:18px}.prose-page h1{font-size:32px}.prose-page h2{font-size:20px}.prose-page p{font-size:15px;color:#455672}.view-worksheet .studio-shell{max-width:1100px}.audio-dock{z-index:80}#toast{z-index:120;max-width:min(560px,calc(100vw - 32px))}.r60-start-status{z-index:150}.studio-app .r60-record-tabs{flex-wrap:wrap}.studio-app .r60-record-tabs a{min-height:42px}.studio-app summary{list-style-position:inside}
@media(min-width:1450px){.studio-hero{gap:100px}.studio-hero-copy{padding-right:8px}.studio-hero-showcase{max-width:470px;margin-left:auto;width:100%}}
@media(max-width:1100px){.studio-header-inner{gap:28px;padding:12px 28px}.studio-header .main-nav{gap:20px}.studio-shell{padding:32px 26px 65px}.studio-hero{gap:38px}.studio-hero h1{font-size:49px}.studio-hero-actions .btn{font-size:13px;padding:12px 16px}.studio-course-grid{gap:14px}.studio-course-copy{padding:17px}.studio-course-copy h3{font-size:20px}.studio-method{grid-template-columns:1fr;gap:22px}.studio-method>div>p:not(.eyebrow){max-width:620px}.studio-learning-grid{grid-template-columns:190px minmax(0,1fr);gap:24px}.studio-learning-sidebar .side-lesson{font-size:11px}.reading-panel.studio-reading{padding:27px}.studio-lesson-top h1{font-size:25px}.studio-flow a{gap:5px;font-size:11px}.studio-progress-grid{gap:12px}.studio-progress-head{flex-wrap:wrap}.studio-course-hero{gap:40px;grid-template-columns:1fr 280px}}
@media(max-width:850px){.studio-header .main-nav{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 8px 18px #13284510;padding:16px 26px;gap:10px;margin:0}.studio-header .main-nav.open{display:flex;flex-direction:column;align-items:stretch}.studio-header .main-nav a{display:block;min-height:44px;padding:10px 12px;font-size:14px;border-radius:8px}.studio-header .main-nav a[aria-current]{box-shadow:none;background:#eef3fe}.studio-header .mobile-menu{display:inline-flex}.studio-header-inner{min-height:69px}.studio-header-actions{gap:5px}.studio-search{display:none!important}.studio-course-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.studio-course-art{height:145px}.studio-course-copy{padding:22px}.studio-hero{gap:26px;grid-template-columns:1fr 1fr;padding-top:22px}.studio-hero h1{font-size:40px}.studio-intro{font-size:14px}.studio-hero-actions{flex-direction:column;align-items:stretch}.studio-hero-actions .btn{font-size:14px}.studio-hero-showcase{padding:20px 17px}.studio-showcase-caption{font-size:10px}.studio-letter-line span{width:55px;height:64px;font-size:39px}.studio-preview-card{padding:13px 15px}.studio-preview-link strong{font-size:20px}.studio-hero-showcase .first{margin-right:12px}.studio-hero-showcase .middle{margin-left:10px}.studio-hero-showcase .last{margin-right:17px}.studio-hero.returning{display:none}.studio-method{padding:30px}.studio-path-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.studio-learning-grid{display:block}.studio-learning-sidebar{display:none}.studio-learning-main{max-width:820px;margin:auto}.studio-mobile-contents{display:block;font-size:12px;background:#fff;border:1px solid var(--line);border-radius:9px;margin:0 0 13px;padding:10px 14px}.studio-mobile-contents>summary{cursor:pointer;min-height:23px;font-weight:600;color:#516986}.studio-mobile-contents[open]{padding-bottom:16px}.studio-mobile-contents .studio-contents-title{margin-top:16px}.studio-mobile-contents .side-lesson{min-height:44px}.studio-lesson-top{margin-bottom:15px}.studio-lesson-top h1{font-size:27px}.studio-flow a{font-size:12px;padding:8px 5px 12px;gap:8px}.studio-course-hero{grid-template-columns:1fr 240px;gap:30px}.studio-course-hero h1{font-size:42px}.studio-course-start{padding:20px}.studio-course-start p{font-size:12px}.studio-progress-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.studio-resume{padding:20px;gap:15px}.studio-resume h2{font-size:20px}.studio-resume .btn{font-size:12px}.studio-record-stats>div{padding:20px;gap:12px}.studio-record-stats span{font-size:12px}.studio-page-heading h1{font-size:36px}.studio-footer-top{gap:25px}.studio-footer-top nav{gap:15px}.studio-start-banner{align-items:start;flex-direction:column;gap:18px}}
@media(max-width:580px){html{scroll-padding-top:72px}.studio-shell{padding:24px 18px 50px}.studio-header-inner{padding:10px 16px;gap:12px;min-height:66px}.studio-brand{gap:7px}.studio-mark{width:29px;height:32px;font-size:21px;border-radius:8px 8px 8px 2px}.studio-wordmark{font-size:12px}.studio-wordmark>span{font-size:8px;margin-top:4px}.studio-header-actions{gap:3px}.studio-header .lang-control{max-width:94px;font-size:11px;min-height:40px;padding:5px 7px;border-color:transparent}.studio-my{font-size:11px;padding:8px 10px;min-height:38px}.studio-header .icon-btn{min-width:36px;min-height:40px;padding:6px}.studio-header.is-learning .studio-header-inner{min-height:59px;gap:12px;padding-left:15px;padding-right:13px}.studio-header.is-learning .studio-brand .studio-wordmark{display:none}.studio-exit{font-size:11px;gap:5px;padding-left:11px;max-width:180px}.studio-header.is-learning .studio-mark{width:26px;height:29px;font-size:18px}.studio-hero{display:flex;flex-direction:column;gap:32px;padding:15px 0 25px}.studio-hero-copy{width:100%}.studio-hero h1{font-size:43px;letter-spacing:-.055em;margin:18px 0 21px;line-height:1.21}.studio-intro{font-size:14px;line-height:1.9;max-width:100%;margin-bottom:20px}.studio-hero .eyebrow{font-size:10px;letter-spacing:.06em}.studio-hero-actions{margin-top:24px;flex-direction:row;gap:8px}.studio-hero-actions .btn{font-size:12px;min-height:48px;padding:12px 15px;flex:1;white-space:normal}.studio-reassurance{font-size:11px;margin:15px 0 20px}.studio-language-note{gap:6px;justify-content:space-between;font-size:10px}.studio-language-note a{font-size:11px}.studio-hero-showcase{max-width:440px;width:100%;padding:20px;border-radius:19px;box-shadow:0 12px 32px #19376810}.studio-letter-line{margin:18px 0}.studio-letter-line span{width:59px;height:66px;font-size:40px}.studio-preview-card{margin-top:8px;padding:13px 15px}.studio-preview-label{font-size:10px;margin-bottom:4px}.studio-preview-link strong{font-size:21px}.studio-preview-card.middle strong{font-size:21px}.studio-preview-card.middle br{display:none}.studio-preview-card.middle strong>span{display:block;font-size:18px}.studio-showcase-bottom{font-size:8px;margin-top:18px}.studio-section{padding:25px 0}.studio-section-head{display:block;margin-bottom:20px}.studio-section-head h2{font-size:26px;line-height:1.4;letter-spacing:-.04em}.studio-section-head p:not(.eyebrow){font-size:13px;line-height:1.85}.studio-section-head>.studio-textlink{margin-top:10px}.studio-course-grid{gap:13px}.studio-course-art{height:112px;padding:12px}.studio-course-glyph{font-size:39px}.tone-1 .studio-course-glyph,.tone-2 .studio-course-glyph,.tone-3 .studio-course-glyph{font-size:30px}.studio-course-number{font-size:9px;left:12px;top:9px}.studio-course-level{font-size:9px;bottom:9px;left:12px}.studio-course-copy{padding:15px 12px}.studio-course-copy .studio-meta{font-size:10px;gap:5px}.studio-course-copy h3{font-size:18px;line-height:1.4;margin:9px 0 10px}.studio-course-copy>p{font-size:11px;line-height:1.9}.studio-course-copy .studio-textlink{font-size:11px;gap:6px;justify-content:space-between}.studio-textlink{font-size:12px}.studio-course-card{border-radius:12px}.studio-method{padding:26px 22px;margin:20px 0;border-radius:18px;gap:18px}.studio-method h2{font-size:25px}.studio-method-steps{grid-template-columns:1fr;gap:22px}.studio-method-steps article{display:grid;grid-template-columns:30px 1fr;column-gap:10px}.studio-method-number{border:0;margin:0;padding-top:3px;grid-row:span 2}.studio-method-steps h3{font-size:16px;margin-bottom:8px}.studio-method-steps p{font-size:12px;grid-column:2}.studio-path-grid{grid-template-columns:1fr;gap:13px}.studio-path-card{padding:21px;position:relative}.studio-path-symbol{width:34px;height:34px;margin-bottom:15px}.studio-path-card h2,.studio-path-card h3{font-size:20px}.studio-path-card>p{font-size:13px;max-width:520px}.studio-path-card .studio-textlink{min-height:38px}.studio-page-heading{margin:10px 0 27px}.studio-page-heading h1{font-size:31px;line-height:1.4;margin:12px 0}.studio-page-heading>p:not(.eyebrow){font-size:14px}.studio-start-option{padding:18px 15px;gap:14px}.studio-start-option strong{font-size:14px}.studio-start-option small{font-size:11px}.studio-start-num{font-size:12px}.studio-start-result{padding:22px}.studio-start-banner{padding:23px}.studio-start-banner h2{font-size:21px}.studio-course-hero{grid-template-columns:1fr;gap:20px;padding:5px 0 28px;margin-bottom:30px}.studio-course-hero h1{font-size:38px;margin:10px 0 14px}.studio-course-start{display:grid;grid-template-columns:1fr auto;gap:10px 20px;padding:20px}.studio-course-start-glyph{grid-column:2;grid-row:span 2;font-size:35px;align-self:center}.studio-course-start p{grid-column:1;margin:0}.studio-course-start .btn{grid-column:1;font-size:13px;width:auto;min-height:42px}.studio-unit>summary{padding:17px;gap:14px}.studio-unit-number{width:37px;height:39px;font-size:14px;border-radius:9px}.studio-unit-summary strong{font-size:15px}.studio-unit-summary small{font-size:10px}.studio-unit-plus{font-size:21px}.studio-unit-inner{padding:6px 15px 16px}.studio-unit-outcome{font-size:12px;margin:14px 0}.studio-lesson-row{gap:12px;padding:16px 2px;align-items:start}.studio-row-index{width:27px;height:28px;font-size:10px;margin-top:1px}.studio-row-text strong{font-size:13px;line-height:1.7}.studio-row-text small{font-size:11px}.studio-row-action{font-size:0;min-width:18px;max-width:18px;margin-top:4px}.studio-row-action svg{width:16px}.studio-unit-head h1{font-size:29px}.studio-unit-head>p:not(.eyebrow){font-size:14px}.studio-unit-head .btn{font-size:12px}.studio-unit-sheet{padding:6px 15px}.studio-unit-end p{font-size:13px}.breadcrumb{font-size:11px}.view-lesson .studio-shell{padding:18px 12px 20px}.studio-learning-main{max-width:100%}.studio-lesson-top{margin:0 5px 12px;gap:12px}.studio-lesson-top .eyebrow{font-size:9px;margin-bottom:6px;letter-spacing:.04em}.studio-lesson-top h1{font-size:22px;line-height:1.45}.studio-display>summary{width:33px;height:32px;font-size:12px}.studio-mobile-contents{font-size:11px;padding:8px 11px;margin-bottom:10px}.studio-mobile-contents .side-lesson{font-size:12px}.studio-flow a{flex-direction:column;gap:5px;font-size:9px;padding:8px 1px 10px;line-height:1.2}.studio-flow a>span{line-height:18px;min-width:20px;font-size:9px}.studio-flow a>strong{font-size:10px;white-space:normal;text-align:center;line-height:1.35}.studio-subflow{gap:3px;padding:10px 0;font-size:10px}.studio-subflow a{padding:5px 7px;min-height:32px;font-size:10px;line-height:1.4}.reading-panel.studio-reading{padding:23px 18px;border-radius:13px;font-size:var(--reading)}.studio-reading>h2{font-size:23px;line-height:1.5;margin-bottom:22px;scroll-margin-top:80px}.studio-activity-kicker{font-size:10px}.studio-reading .b1-dialogue{padding:16px 11px;border-radius:11px}.studio-reading .b1-dialogue-line p[lang=ko]{font-size:var(--reading)}.studio-reading .b1-dialogue-line .b1-speaker{font-size:12px}.studio-reading .notice{padding:13px;font-size:14px}.studio-reading .actions{gap:8px}.studio-reading .btn{font-size:13px;padding:10px 13px}.studio-lesson-controls{padding:12px 2px max(12px,env(safe-area-inset-bottom));gap:5px}.studio-lesson-controls .btn{font-size:11px;min-height:43px;padding:10px 11px;gap:6px}.studio-lesson-controls .btn svg{width:14px}.studio-step-number{font-size:9px}.studio-study-footer{font-size:10px;padding:16px 18px 24px}.studio-resume{flex-wrap:wrap;gap:12px;padding:18px;margin:0 0 23px}.studio-resume-icon{width:44px;height:50px;font-size:20px}.studio-resume h2{font-size:17px;margin-bottom:9px}.studio-resume .eyebrow{font-size:9px}.studio-resume>.btn{width:100%;min-height:44px}.studio-position{gap:8px}.studio-position>span{max-width:100px}.studio-position small{font-size:9px}.studio-record-stats{gap:8px}.studio-record-stats>div{display:block;padding:16px 12px}.studio-record-stats strong{font-size:27px;display:block;margin-bottom:9px}.studio-record-stats span{font-size:11px}.studio-progress-grid{gap:10px}.studio-progress-grid article{padding:14px}.studio-progress-head{font-size:11px}.studio-record-tools{padding:18px;font-size:13px}.studio-record-tools .btn{font-size:12px}.studio-empty{padding:37px 22px}.studio-empty h2{font-size:25px}.studio-empty p{font-size:13px}.studio-empty .actions{flex-direction:column;align-items:stretch}.studio-empty .btn{font-size:13px}.r60-record-tabs a{font-size:11px!important;padding:8px 10px!important}.r60-record h3{font-size:16px}.r60-record{padding:18px!important}.r60-filter-form{padding:15px!important;gap:12px!important}.view-library .page-heading h1{font-size:31px}.view-library .page-heading p{font-size:14px}.r60-resource{padding:20px!important}.r60-resource h2{font-size:19px!important}.studio-search-page .search-form{padding:8px;gap:8px}.studio-search-page input{font-size:14px}.studio-search-page .search-form .btn{font-size:0;min-width:45px;padding:10px}.studio-search-page .search-form .btn svg{width:20px}.studio-search-page .studio-lesson-rows{padding:6px 13px}.studio-footer{padding:28px 20px 20px}.studio-footer-top{display:block}.studio-footer-brand strong{font-size:15px}.studio-footer-brand p{font-size:11px}.studio-footer-top nav{gap:15px;margin-top:20px}.studio-footer-top nav a{font-size:11px}.studio-footer-bottom{gap:10px;font-size:9px;margin-top:15px}.prose-page{padding:25px 20px;border-radius:13px}.prose-page h1{font-size:28px}.prose-page p{font-size:14px}}
@media(max-width:350px){.studio-header-inner{padding-left:12px;padding-right:10px}.studio-my{font-size:10px;padding:8px}.studio-wordmark{font-size:11px}.studio-header .lang-control{max-width:84px}.studio-hero h1{font-size:39px}.studio-shell{padding-left:15px;padding-right:15px}.studio-hero-actions{flex-direction:column}.studio-course-grid{grid-template-columns:1fr}.studio-course-card{display:grid;grid-template-columns:95px 1fr}.studio-course-art{height:auto;min-height:170px}.studio-course-glyph{font-size:34px}.studio-course-level{font-size:8px}.studio-course-copy{padding:16px}.studio-lesson-top h1{font-size:20px}.studio-exit{max-width:160px}.reading-panel.studio-reading{padding:20px 14px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media print{.studio-header,.studio-footer,.studio-learning-sidebar,.studio-flow,.studio-subflow,.studio-mobile-contents,.studio-lesson-controls,.studio-display,.studio-study-footer,.skip,.storage-banner{display:none!important}.studio-shell{max-width:none;padding:0}.studio-learning-grid{display:block}.studio-reading{border:0!important;box-shadow:none!important;padding:0!important}.studio-app{background:#fff}.studio-lesson-top h1{font-size:25px}.studio-course-card{break-inside:avoid}.studio-unit{overflow:visible}}

.reading-panel.studio-reading{max-width:none;width:100%}.studio-reading .b1-mission{margin-top:20px}
/* A Japanese heading may contain no spaces; allow wrapping rather than clipping at 320px. */
.studio-page-heading h1,.studio-unit-head h1,.studio-course-hero h1,.studio-hero h1,.studio-lesson-top h1{overflow-wrap:anywhere;min-width:0}

/* M2-U02: first view and revision are separate, accessible stages. */
.e2-exchange .n1-writing textarea[readonly]{background:#f1f5fa;color:#26364d;border-style:dashed;cursor:text}
.e2-replies{margin:24px 0;padding:22px;background:#eef4ff;border:1px solid #bfcee8;border-radius:18px;scroll-margin-top:88px}
.e2-replies:focus{outline:3px solid #245ddd;outline-offset:3px}
.e2-comment{background:#fff;padding:18px;margin-top:14px;border:1px solid #d2deee;border-radius:12px;overflow-wrap:anywhere}
.e2-comment strong{color:#24477b}.e2-comment p{line-height:1.8;margin:10px 0}.e2-comment details{font-size:.9rem;color:#334760}
.e2-first,.e2-revision{min-width:0}.e2-exchange .actions .btn{white-space:normal;max-width:100%;height:auto}
@media(max-width:480px){.e2-replies{padding:14px}.e2-comment{padding:12px}}
@media print{.e2-replies{break-inside:avoid;box-shadow:none}.e2-comment details{display:block}}

/* Optional text-only agreement output; values and field labels remain selectable. */
.u04-agreement-table { width:100%; table-layout:fixed; border-collapse:collapse; line-height:1.65; }
.u04-agreement-table th,.u04-agreement-table td { padding:14px 12px; border:1px solid #d7e0ed; text-align:left; vertical-align:top; overflow-wrap:anywhere; word-break:keep-all; }
.u04-agreement-table th:first-child { width:32%; }
.u04-agreement-table thead th { background:#edf3ff; color:#163963; }
.u04-agreement-table tbody th { background:#f7f9fc; font-weight:650; }
@media(max-width:480px) { .u04-agreement-table th,.u04-agreement-table td{padding:9px 7px;font-size:.9em;} .u04-agreement-table th:first-child{width:35%;} }

/* M2-U05: count charts and optional live length guide. */
.u05-chart{margin:1.1rem 0;padding:clamp(.65rem,2vw,1.3rem);border:1px solid #dbe3f1;border-radius:16px;background:#f8faff;min-width:0}
.u05-series{margin:1rem 0}.u05-series>strong{display:block;margin-bottom:.35rem}
.u05-bar-row{display:grid;grid-template-columns:7.1em minmax(0,1fr) 2ch;align-items:center;gap:.6rem;margin:.4rem 0;font-size:.85em}
.u05-track{height:15px;background:#e4eafa;border-radius:4px;overflow:hidden}.u05-fill{display:block;height:100%;background:#254edb}.u05-fill.period-0{background:#7187c6}
.u05-chart table{width:100%;table-layout:fixed;margin-top:1.1rem;font-size:.9em}.u05-chart caption{text-align:left;font-weight:650;padding:.4rem 0}.u05-chart th,.u05-chart td{overflow-wrap:anywhere;padding:.5rem}
.u05-count{display:block;margin:.55rem 0 .2rem;font-size:.85em;font-weight:700;color:#234aaa}.u05-count-note{display:block;line-height:1.65;font-size:.76em;color:#4b5b75;font-weight:400}
@media(max-width:430px){.u05-bar-row{grid-template-columns:90px minmax(0,1fr) 2ch;gap:.35rem}.u05-chart table{font-size:.75em}.u05-chart th,.u05-chart td{padding:.35rem}}

/* Educational email cards, limited to new opt-in lesson fields. */
.u06-email{border:1px solid #cfdaea;background:#fff;border-radius:18px;overflow:hidden;margin:1.1rem 0;min-width:0;box-shadow:0 8px 22px rgba(26,52,98,.05)}
.u06-email header{padding:1.1rem 1.35rem;background:#eef3ff;border-bottom:1px solid #dce5f2}
.u06-email-kicker{font-size:.73em;color:#435b82;display:block;line-height:1.6;margin-bottom:.25rem}
.u06-email header h3{margin:.3rem 0;line-height:1.5}
.u06-email-subject{display:grid;grid-template-columns:4.4em minmax(0,1fr);gap:.85rem;align-items:start;padding:1.1rem 1.35rem;background:#f5f8fe;border-bottom:1px solid #dbe3ef}
.u06-email-subject>span{font-size:.78em;color:#4b5f7d;padding-top:.15rem}
.u06-email-subject strong{font-size:1.03em;line-height:1.6;overflow-wrap:anywhere}
.u06-email-content{padding:.45rem 1.35rem 1.1rem}.u06-email-content section{margin:1.1rem 0;min-width:0}
.u06-email-content h4,.u06-email-content h5{font-size:.76em;font-weight:650;color:#445e87;margin:0 0 .35rem;line-height:1.55}
.u06-email-content p{margin:.3rem 0;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.85}
.u06-email details{margin-top:.55rem;border-left:2px solid #b2c5ed;padding-left:.8rem;font-size:.82em}.u06-email summary{cursor:pointer;color:#2d518c}
.u06-email-draft{box-shadow:none;margin:.7rem 0}.u06-email-draft .u06-email-subject{background:#edf3ff}
@media(max-width:430px){.u06-email header,.u06-email-subject{padding:.8rem}.u06-email-content{padding:.3rem .8rem .8rem}.u06-email-subject{grid-template-columns:3.4em minmax(0,1fr);gap:.55rem}.u06-email-content p{font-size:.96em}}
@media print{.u06-email{box-shadow:none;break-inside:auto}.u06-email-content section{break-inside:avoid}}

/* Opt-in A1 evidence dossier; existing course/lesson styles are retained. */
.a1-dossier{border:1px solid #cad7ea;border-radius:18px;margin:1.2rem 0;background:#f7f9fd;min-width:0;overflow-wrap:anywhere}
.a1-dossier>header{padding:1.1rem 1.2rem}.a1-dossier>header h3{margin:.3rem 0}.a1-dossier>header p{margin:.35rem 0}
.a1-dossier>details{border-top:1px solid #d6e0ee;margin:0;padding:0}
.a1-dossier>details>summary{cursor:pointer;display:flex;gap:.8rem;align-items:center;padding:1rem 1.2rem;color:#183863;font-weight:700;line-height:1.6}
.a1-dossier>details>summary:focus-visible{outline:3px solid #2157dc;outline-offset:-4px;border-radius:8px}
.a1-source-mark{display:grid;place-items:center;flex:0 0 2rem;height:2rem;border-radius:8px;background:#dfeafe;font-size:.85em}
.a1-dossier .n1-story{margin:.1rem .8rem 1rem;background:#fff}.a1-dossier .n1-paragraph{min-width:0}
.studio-course-card.tone-5 .studio-course-art{background:#e7ecfa}
@media(max-width:430px){.a1-dossier>header,.a1-dossier>details>summary{padding:.85rem}.a1-dossier .n1-story{margin:.1rem .35rem .6rem}}
@media print{.a1-dossier>details{display:block}.a1-dossier>details>summary{break-after:avoid}.a1-dossier>details:not([open])>article{display:block}}

/* Only original poem sources opt into this compact, line-preserving layout. */
.n1-poem .n1-paragraph{padding:9px 24px;border-bottom:0;align-items:baseline}.n1-poem .n1-paragraph>div{display:flex;flex-wrap:wrap;align-items:baseline;gap:5px 18px}.n1-poem .n1-paragraph p{margin:0;line-height:1.8}.n1-poem .n1-paragraph details{margin:0;font-size:0.78em}.n1-poem .n1-paragraph details[open]{flex-basis:100%}.n1-poem .n1-paragraph details[open] p{margin:6px 0 10px;font-size:1em}.n1-poem .n1-paragraph:last-child{padding-bottom:24px}.n1-poem .n1-paragraph:first-of-type{padding-top:22px}@media(max-width:600px){.n1-poem .n1-paragraph{padding-left:16px;padding-right:16px}.n1-poem .n1-paragraph>div{gap:4px 10px}}

/* Opt-in reader-authored structure map. No previous lesson uses this layout. */
.a4-structure{list-style:none;padding:0;margin:1rem 0;display:grid;gap:0}
.a4-structure>li{display:flex;align-items:flex-start;gap:14px;position:relative;padding:0 0 24px;margin:0}
.a4-structure>li:not(:last-child):before{content:"";position:absolute;left:17px;top:34px;bottom:0;width:2px;background:#c3d4ee}
.a4-step-number{flex:0 0 36px;width:36px;height:36px;display:grid;place-items:center;background:#2157dc;color:#fff;border-radius:50%;font-size:16px;font-weight:700;z-index:1}
.a4-structure>li>div{min-width:0;flex:1;border:1px solid #d7e2f2;border-radius:12px;padding:14px 18px;background:#f7faff}
.a4-structure h5{font-size:1em;font-weight:700;line-height:1.5;margin:0 0 8px;color:#163a70}
.a4-structure p{margin:0!important;overflow-wrap:anywhere;line-height:1.8}
@media(max-width:480px){.a4-structure>li{gap:9px}.a4-structure>li>div{padding:12px}.a4-step-number{flex-basis:30px;width:30px;height:30px}.a4-structure>li:not(:last-child):before{left:14px;top:28px}}
@media print{.a4-structure>li{break-inside:avoid}.a4-structure>li>div{background:#fff}.a4-step-number{border:1px solid #222;color:#222;background:#fff}}

/* Local to the integrated project; earlier lesson styles remain untouched. */
.cp-workspace{border:1px solid #d5dfef;background:#f6f9ff;border-radius:16px;padding:20px;margin:20px 0;overflow-wrap:anywhere}
.cp-workspace h3{margin-top:0}.cp-stages details{background:#fff;padding:12px;border-radius:10px;margin:8px 0;border:1px solid #dbe3ef}.cp-stages summary{cursor:pointer;font-weight:650}.cp-stages small{display:block;color:#405979;font-weight:400}.cp-workspace .actions{flex-wrap:wrap}.cp-workspace .btn{white-space:normal;overflow-wrap:anywhere}.cp-stages p{max-height:24em;overflow:auto}.cp-stages h5{font-size:1rem}.cp-revisions table{width:100%;table-layout:fixed}.cp-revisions td{vertical-align:top;white-space:pre-wrap;overflow-wrap:anywhere}.cp-revisions section{margin:20px 0}
@media(max-width:640px){.cp-workspace{padding:14px}.cp-revisions thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.cp-revisions table,.cp-revisions tbody,.cp-revisions tr,.cp-revisions td{display:block;width:100%;min-width:0}.cp-revisions td{box-sizing:border-box}.cp-revisions td:before{content:attr(data-label);display:block;font-weight:700;color:#264b86;margin-bottom:6px}}

/* Only IN's labelled learning diagram; inherited design tokens remain intact. */
.in-board{margin:1.25rem 0;padding:1rem;border:1px solid #c8d9ef;border-radius:16px;background:#f4f8ff}
.in-room{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;margin:1rem 0}
.in-place{position:relative;background:#fff;border:1px solid #a8bbd2;border-bottom:5px solid #768ca8;border-radius:9px;padding:.8rem .6rem;min-width:0;text-align:center;overflow-wrap:anywhere}
.in-place strong{display:block;font-size:1.02em;color:#1d3557}.in-place p{font-size:.95em;margin:.7rem 0 0}.in-place-index{display:block;color:#5e7390;font-size:.72em;font-weight:700;margin-bottom:.35rem}
.in-instruction{font-weight:700;line-height:1.7;margin-bottom:0}.in-source details{margin:.7rem 0 0;font-size:.83em;color:#415675}.in-source summary{cursor:pointer;min-height:28px}.in-source td{overflow-wrap:anywhere}
.studio-workplace-heading{margin-top:2.4rem}.studio-workplace-heading p{max-width:720px}
@media(max-width:400px){.in-room{gap:.35rem}.in-place{padding:.65rem .3rem}.in-board{padding:.75rem}.in-place strong{font-size:.9em}.in-place p{font-size:.83em}}

.k3001-load-error{max-width:1000px;margin:16px auto;padding:16px 24px;border:1px solid #d59b55;background:#fff8eb;color:#56350d;border-radius:12px}.k3001-loading{max-width:1200px;margin:auto;padding:8px 28px;color:#53647a;font-size:13px}.k3001-load-error button{margin-left:12px;padding:7px 12px}.k3001-noscript{padding:16px;background:#fff8eb;color:#56350d}.k3001-noscript a{text-decoration:underline}
