@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@300;400;500;600;700;800;900&family=Noto+Serif+KR:wght@400;500;600&display=swap');
:root{--ink:#191c21;--paper:#f3f4f6;--muted:#747b86;--line:#d9dde3;--accent:#d5d9df;--serif:'Noto Serif KR',serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:'Noto Sans KR',Arial,sans-serif;font-size:14px;letter-spacing:-.025em}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button{border:0;background:transparent;color:inherit}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:2px solid #7b895e;outline-offset:5px}input:focus,select:focus,textarea:focus{outline:2px solid #7b895e;outline-offset:1px}.preview{position:sticky;top:0;z-index:50;background:#e8e9e0;border-bottom:1px solid #d5d8cd;min-height:43px;padding:5px 3%;display:flex;align-items:center;justify-content:space-between;font-size:10px;letter-spacing:.08em}.preview i{display:inline-block;width:6px;height:6px;background:#66724f;border-radius:50%;margin-right:8px}.preview b{font-weight:400;margin-left:13px;color:#777b6a}.preview div{display:flex;gap:3px}.preview button{padding:6px 19px;border-radius:2px;font-size:11px}.preview button.active{background:#20221f;color:#fff}.preview small{color:#6c7062;font-size:10px;letter-spacing:0}.home{background:var(--paper)}.home-header{background:#191a19;color:#f8f8f1;display:flex;align-items:center;justify-content:space-between;padding:24px 6%;border-bottom:1px solid #343530}.brand-name{font-family:Georgia,serif;font-size:25px;font-style:italic;letter-spacing:-.04em}.home-header nav{display:flex;gap:35px;align-items:center;font-size:12px}.outline{padding:11px 20px;border:1px solid #5c5e53}.hero{min-height:640px;background:#191a19;color:#f7f7ef;position:relative;padding:38px 6% 46px;overflow:hidden}.hero-top,.hero-bottom{display:flex;justify-content:space-between;align-items:center}.eyebrow{font-size:10px;letter-spacing:.2em;text-transform:uppercase;font-weight:500}.hero-top{color:#9a9d90;font-size:11px}.logo-wrap{width:min(980px,95%);height:295px;margin:20px auto 10px;overflow:hidden;position:relative}.logo-wrap img{width:100%;position:absolute;left:0;top:50%;transform:translateY(-50%);filter:invert(1);mix-blend-mode:screen}.hero h1{text-align:center;font-family:var(--serif);font-size:clamp(27px,3.7vw,49px);font-weight:400;letter-spacing:-.05em;margin:16px 0}.hero p{text-align:center;font-size:13px;line-height:1.9;color:#a5a89c;margin:20px 0 32px}.hero-bottom{border-top:1px solid #404239;padding-top:25px;margin-top:40px}.hero-bottom span{color:#9a9d90;font-size:10px;letter-spacing:.15em}.text-link{font-size:13px}.text-link em{font-style:normal;margin-left:25px}.intro{padding:100px 7%;display:grid;grid-template-columns:1fr 2fr;gap:30px}.section-label{font-size:10px;letter-spacing:.17em;color:#777c6d}.intro h2,.curriculum h2{font-family:var(--serif);font-size:36px;line-height:1.7;font-weight:400;margin:0 0 25px;letter-spacing:-.055em}.intro p{line-height:2.2;color:#777b71;max-width:630px}.teacher{margin-top:45px;border-top:1px solid var(--line);padding-top:26px;display:flex;gap:50px}.teacher strong{font-size:20px;font-weight:500}.teacher p{margin:0;font-size:12px;line-height:2}.curriculum{padding:65px 7% 95px;background:#e9eae2}.section-head{display:flex;justify-content:space-between;align-items:end;margin:20px 0 36px}.section-head h2{margin:0}.section-head p{font-size:12px;color:var(--muted)}.books{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.book{border-top:1px solid #8f9385;padding:22px 0}.book .book-top{display:flex;justify-content:space-between;font-size:11px;color:#7b806f}.book h3{font-family:var(--serif);font-size:45px;font-weight:500;margin:30px 0 15px}.book h3 small{font-family:Arial;font-size:10px;letter-spacing:.16em;margin-left:18px;color:#777e6b}.book p{font-size:12px;color:#737869;line-height:1.9}.closing{padding:68px 7%;display:flex;align-items:center;justify-content:space-between}.closing h2{font-family:var(--serif);font-size:27px;font-weight:400}.solid{background:var(--ink);color:white;padding:13px 23px;font-size:12px}.solid.light{background:var(--accent);color:#24281e}footer{border-top:1px solid var(--line);padding:25px 7%;display:flex;justify-content:space-between;color:#818578;font-size:10px}.workspace{min-height:calc(100vh - 43px);display:grid;grid-template-columns:220px 1fr}.sidebar{background:#1d201c;color:#b2b9aa;padding:32px 22px;position:sticky;top:43px;height:calc(100vh - 43px);display:flex;flex-direction:column}.side-brand{display:block;color:#fff;font-size:32px;margin:4px 13px 0}.side-sub{font-size:9px;letter-spacing:.22em;margin:8px 14px 50px;color:#8e9683}.sidebar .nav-caption{font-size:9px;letter-spacing:.13em;margin:0 13px 15px;color:#7f8873}.sidebar nav{display:grid;gap:7px}.sidebar nav button{text-align:left;padding:13px 14px;font-size:12px;border-radius:2px;display:flex;gap:13px;align-items:center}.sidebar nav button.active{background:#353c2e;color:#e0e7d4}.nav-icon{font-size:16px;width:19px;text-align:center}.side-foot{margin-top:auto;font-size:10px;padding:20px 12px 0;line-height:1.9;border-top:1px solid #373e31;color:#8a9580}.side-foot strong{display:block;font-size:12px;color:#d4dbc9}.content{min-width:0}.topbar{height:77px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 42px;background:#fafaf6}.crumb{font-size:11px;color:#898f7d}.profile{display:flex;align-items:center;gap:10px;font-size:11px}.avatar{display:inline-grid;place-items:center;width:30px;height:30px;border:1px solid #cbd0c0;background:#e9ecdf;border-radius:50%;font-size:11px}.main{max-width:1350px;padding:39px 42px 70px;margin:auto}.heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:28px;gap:20px}.heading h1{font-size:28px;letter-spacing:-.045em;font-weight:500;margin:9px 0}.heading p{font-size:12px;color:#818774;line-height:1.8;margin:0}.tag{border:1px solid #cbd1bf;padding:4px 9px;font-size:9px;color:#6c785b;display:inline-block;white-space:nowrap}.study-banner{background:#2c3327;color:#edf0e6;padding:29px 32px;display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:34px}.study-banner h2{font-family:var(--serif);font-size:25px;font-weight:400;margin:12px 0}.study-banner p{font-size:11px;color:#bac3ab;line-height:1.8}.study-banner .eyebrow{color:#afbd9a}.progress-mark{width:90px;height:90px;border:3px solid #6e7c5a;border-top-color:#cfdfb5;border-right-color:#cfdfb5;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0}.progress-mark b{font:25px Georgia}.progress-mark small{font-size:9px;margin-top:5px;color:#b2c09c}.grid2{display:grid;grid-template-columns:1.65fr 1fr;gap:30px}.block-title{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #b8bfac;padding-bottom:15px;margin-bottom:3px}.block-title h2{font-size:15px;font-weight:500;margin:0}.block-title small,.block-title button{font-size:10px;color:#7d886d}.course{padding:24px 0;border-bottom:1px solid var(--line);display:flex;gap:20px;align-items:center}.cover{width:73px;min-width:73px;height:92px;background:#30362b;color:#e7ebdf;padding:10px;display:flex;flex-direction:column;justify-content:space-between;font-family:var(--serif);font-size:24px}.cover.pale{background:#dfe3d3;color:#4e5a3d}.cover small{font-size:6px;letter-spacing:.12em;font-family:Arial}.course-info{flex:1;min-width:0}.course h3{font-size:14px;font-weight:500;margin:8px 0}.course p{font-size:10px;color:#879076;margin:6px 0}.course .meta{font-size:9px;color:#7b8768;letter-spacing:.07em}.course button{font-size:17px;padding:14px}.bar{height:3px;background:#e0e4d7;margin-top:13px}.bar span{height:100%;display:block;background:#7c8c65}.note{padding:17px 0;border-bottom:1px solid var(--line);font-size:12px;line-height:1.8}.note small{display:block;font-size:9px;color:#929b84;margin-top:5px}.note .tag{margin-bottom:8px}.lower-note{font-size:10px;color:#8c967e;margin-top:30px}.stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #aeb89f;border-bottom:1px solid var(--line);margin:28px 0}.stat{padding:23px 25px;border-right:1px solid var(--line)}.stat:last-child{border:0}.stat small{font-size:11px;color:#788569}.stat b{font-family:Georgia;font-size:32px;font-weight:400;display:block;margin-top:10px}.stat b span{font:11px 'Noto Sans KR';margin-left:7px;color:#95a285}.toolbar{display:flex;align-items:center;gap:12px;margin:24px 0}.toolbar input{flex:1}.field,input,select,textarea{padding:11px 12px;border:1px solid #d2d8c7;background:#fffefa;border-radius:0;color:#30372a;font-size:12px;min-width:0}textarea{width:100%;resize:vertical;min-height:150px;line-height:1.9}label{display:block;font-size:11px;color:#69745c;margin:15px 0 7px}label input,label select{display:block;width:100%;margin-top:7px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:11px;white-space:nowrap}th{text-align:left;font-weight:400;color:#828e72;font-size:10px;background:#e9eddf;padding:12px}td{padding:17px 12px;border-bottom:1px solid var(--line)}td strong{font-weight:500}.subtle-btn{border:1px solid #bdc8ae;padding:7px 12px;font-size:10px}.question{width:100%;text-align:left;display:flex;align-items:center;gap:15px;padding:20px 0;border-bottom:1px solid var(--line)}.question div{flex:1}.question strong{font-size:13px;font-weight:500}.question small{display:block;color:#8b967c;font-size:10px;margin-top:8px}.empty{padding:45px;text-align:center;color:#899279;font-size:13px;border:1px dashed var(--line)}.split-form{display:grid;grid-template-columns:1.2fr 1fr;gap:30px}.panel{border:1px solid var(--line);padding:26px;background:#fbfcf6}.panel h2{font-size:15px;font-weight:500;margin-top:0}.phone{max-width:280px;margin:25px auto;padding:25px 18px;border:5px solid #31382b;border-radius:28px;background:#f8f9f3;min-height:330px}.phone-top{text-align:center;font-size:10px;color:#8f9b80;padding:10px 0 24px}.bubble{background:#e3e8d8;border-radius:12px;padding:15px;line-height:1.9;font-size:12px;overflow-wrap:anywhere;white-space:pre-wrap}.help{font-size:11px;line-height:1.8;color:#89957a}.checks{display:flex;gap:25px}.checks label{display:flex;align-items:center;gap:7px}.checks input{width:auto;margin:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 15px}.wide{width:100%}.notice{padding:13px 16px;background:#e9eddf;font-size:11px;line-height:1.8;color:#768366;margin:20px 0}.lesson{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:20px 0;gap:15px}.lesson strong{font-size:13px;font-weight:500}.lesson small{font-size:10px;color:#8b977a;display:block;margin-top:8px}.video-empty{background:#252b20;min-height:210px;display:grid;place-items:center;text-align:center;color:#b2bea3;padding:20px}.video-empty b{display:block;font-size:27px;font-weight:300;margin-bottom:15px}.video-empty p{font-size:12px}.reply{padding:17px;background:#e9edde;font-size:12px;line-height:2;white-space:pre-wrap}.text-body{font-size:13px;line-height:2;white-space:pre-wrap;overflow-wrap:anywhere}dialog{border:1px solid #c3cbb6;background:#f7f8f1;width:min(600px,calc(100% - 30px));max-height:85vh;padding:35px;color:var(--ink)}dialog::backdrop{background:#11180de0;backdrop-filter:blur(4px)}dialog h2{font-family:var(--serif);font-size:24px;font-weight:500;margin:10px 0 20px}dialog .close{position:absolute;top:12px;right:16px;font-size:25px;color:#869178}dialog form .solid{margin-top:20px}#toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,25px);padding:13px 24px;background:#273020;color:#edf2e5;font-size:12px;opacity:0;pointer-events:none;transition:.2s;z-index:100;max-width:90vw}#toast.visible{opacity:1;transform:translate(-50%,0)}.tabs{display:flex;gap:23px;margin:22px 0;border-bottom:1px solid var(--line)}.tabs button{padding:12px 0;color:#8b977c;font-size:12px}.tabs button.active{color:#344127;border-bottom:2px solid #344127}
@media(min-width:1500px){.hero{min-height:710px}.logo-wrap{height:340px;max-width:1120px}}@media(max-width:1000px){.workspace{grid-template-columns:175px 1fr}.sidebar{padding:25px 13px}.main{padding:28px}.topbar{padding:0 28px}.grid2,.split-form{grid-template-columns:1fr}.side-brand{font-size:28px}.hero{min-height:590px}.logo-wrap{height:260px}.hero h1{font-size:33px}}@media(max-width:680px){.preview{padding:6px 13px}.preview b,.preview small{display:none}.preview button{padding:6px 12px}.home-header{padding:20px 6%}.home-header nav{gap:18px}.home-header nav a{display:none}.hero{padding-top:28px;min-height:530px}.hero-top .eyebrow{font-size:8px}.logo-wrap{width:112%;margin-left:-6%;height:220px;margin-top:25px;margin-bottom:0}.hero h1{font-size:27px}.hero p{font-size:11px;padding:0 15px}.hero-bottom{margin-top:35px}.hero-bottom span{font-size:8px;max-width:100px;line-height:1.8}.intro{display:block;padding:60px 7%}.intro h2,.curriculum h2{font-size:27px;margin-top:24px}.intro p{font-size:12px}.teacher{gap:23px}.teacher strong{font-size:17px;white-space:nowrap}.teacher p{font-size:10px}.curriculum{padding:45px 7%}.section-head{display:block}.books{gap:16px}.book h3{font-size:29px}.book h3 small{display:block;margin:8px 0 0;font-size:8px}.book .book-top{font-size:9px}.book p{font-size:10px}.closing{display:block;padding:35px 7% 45px}.closing h2{font-size:24px}footer{gap:15px;font-size:8px}.workspace{display:block}.sidebar{position:sticky;top:43px;height:auto;padding:9px 13px;z-index:30}.side-brand,.side-sub,.nav-caption,.side-foot{display:none!important}.sidebar nav{display:flex;overflow-x:auto;gap:4px}.sidebar nav button{padding:10px 11px;white-space:nowrap;font-size:10px;gap:6px}.nav-icon{font-size:12px;width:auto}.topbar{height:51px;padding:0 20px}.main{padding:26px 20px}.heading{align-items:start}.heading h1{font-size:24px}.heading p{font-size:11px}.heading .solid{padding:11px;font-size:10px}.study-banner{padding:24px 20px}.study-banner h2{font-size:20px}.progress-mark{width:66px;height:66px}.progress-mark b{font-size:20px}.study-banner p{font-size:10px}.grid2{gap:30px}.toolbar{flex-wrap:wrap}.toolbar input{width:100%;flex-basis:100%}.stats .stat{padding:18px 13px}.stat b{font-size:26px}.stat small{font-size:10px}.form-grid{grid-template-columns:1fr}.panel{padding:20px}.section-head p{line-height:1.8}.hero-top span:last-child{font-size:9px}.lesson .subtle-btn{flex-shrink:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Concise public introduction */
.simple-hero{min-height:580px;text-align:center;padding-top:30px;padding-bottom:65px}.simple-hero .logo-wrap{height:300px;margin:0 auto 6px}.simple-hero h1{font-size:30px;margin:12px 0 28px}.simple-hero>.solid{min-width:190px;padding:16px 30px;background:#f0f0e9;color:#20221f}.entry-caption{font-size:10px;color:#969a8f;margin-top:13px;letter-spacing:.1em}.simple-teacher{padding:58px 9%;display:flex;align-items:center;gap:80px;border-bottom:1px solid var(--line)}.simple-teacher h2{font-size:28px;font-weight:500;margin:0}.simple-teacher h2 small{font-size:12px;font-weight:400;margin-left:7px}.simple-teacher p{font-size:13px;line-height:2.1;color:#74786d;margin:0}.simple-books{padding:48px 9% 58px}.simple-books>h2{font-size:15px;font-weight:500;margin:0 0 20px}.simple-books .book{padding:12px 0 0}.simple-books .book h3{margin:16px 0 12px;font-size:38px}.simple-books .book p{margin:0}.simple-books .books{gap:35px}@media(max-width:680px){.simple-hero{min-height:460px;padding-top:30px;padding-bottom:45px}.simple-hero .logo-wrap{height:230px;width:112%;margin-left:-6%;margin-bottom:0}.simple-hero h1{font-size:23px;margin:8px 0 26px}.simple-teacher{padding:36px 7%;gap:25px;align-items:flex-start}.simple-teacher h2{font-size:23px;white-space:nowrap}.simple-teacher h2 small{display:block;margin:7px 0 0;font-size:11px}.simple-teacher p{font-size:11px}.simple-books{padding:35px 7% 40px}.simple-books .books{gap:18px}.simple-books .book h3{font-size:29px}.simple-books .book p{font-size:10px}}

/* Landing page refinement */
.home{--paper:#f5f4f0;--line:#deddd8;--accent:#efeee8}
.home-header .brand-name{font-family:'Noto Sans KR',Arial,sans-serif;font-style:normal;font-size:13px;font-weight:500;letter-spacing:.04em}
.home-header .outline{border-color:#62625f}
.simple-hero{min-height:calc(100svh - 89px);display:flex;flex-direction:column;align-items:center;justify-content:center}
.simple-hero .logo-wrap{width:min(980px,95%);flex-shrink:0}
.simple-hero h1{font-family:'Noto Sans KR',Arial,sans-serif;font-size:25px;font-weight:300;letter-spacing:-.04em;margin:14px 0 34px}
.simple-teacher p,.simple-books .book p{color:#6c6c68}
.simple-books .book{border-color:#aaa9a3}
@media(max-width:680px){.simple-hero{min-height:calc(100svh - 82px);padding-bottom:65px}.simple-hero .logo-wrap{width:112%;margin-left:0}.simple-hero h1{font-size:21px}.home-header .outline{font-size:11px}.simple-teacher{gap:24px}}

/* Student sign-in */
dialog.login-dialog{width:min(460px,calc(100% - 32px));padding:52px 42px 32px;background:#f5f4f0;color:#20221f;border:1px solid #d1d0ca}
.login-dialog::backdrop{background:rgba(12,13,12,.83);backdrop-filter:blur(8px)}
.login-dialog .close{color:#66665f;min-width:36px;min-height:36px}
.login-brand{font-size:10px;letter-spacing:.14em;color:#74746e}
.login-dialog h2{font-family:'Noto Sans KR',Arial,sans-serif;font-size:27px;letter-spacing:-.06em;font-weight:500;margin:14px 0 34px}
.login-panel label{font-size:12px;color:#44443f;margin:20px 0 9px}
.login-panel input{width:100%;height:50px;background:#fcfbf8;border:1px solid #d9d8d1;color:#20221f;padding:12px 14px;font-size:13px}
.login-panel input::placeholder{color:#92928a}
.password-field{position:relative}.password-field input{padding-right:65px}.password-field button{position:absolute;right:4px;top:4px;height:42px;width:54px;font-size:11px;color:#65655e}
.login-dialog form .login-submit{margin-top:28px;display:flex;justify-content:space-between;align-items:center;padding:16px 19px;background:#20221f;color:#fff;font-size:13px}
#login-status{font-size:11px;line-height:1.8;color:#77776f;margin:15px 0 25px;min-height:40px}
.login-assist{padding-top:21px;border-top:1px solid #deddd6;display:flex;flex-direction:column;align-items:flex-start;gap:10px;font-size:11px;color:#85857b}.login-assist button{padding:0;font-size:12px;color:#41413c}
.login-panel input:focus,.login-panel button:focus-visible{outline:2px solid #55554d;outline-offset:3px}
@media(max-width:480px){dialog.login-dialog{padding:43px 25px 28px}.login-dialog h2{font-size:25px;margin-bottom:27px}}

.login-roles{display:flex;border-bottom:1px solid #d9d8d1;margin-top:-12px;margin-bottom:25px}.login-roles button{width:50%;padding:12px;color:#898980;font-size:13px;border-bottom:2px solid transparent}.login-roles button.selected{color:#20221f;border-bottom-color:#20221f}
#parent-preview{padding:14px 16px;background:#e9e8e2;margin-bottom:23px}#parent-preview button{font-size:13px;text-align:left;padding:0;color:#242420}#parent-preview small{display:block;font-size:10px;color:#77776e;margin-top:7px}
.parent-home{background:#f5f4f0;min-height:100vh;color:#252622}.parent-header{height:83px;padding:0 6%;background:#191a19;color:#f5f4f0;display:flex;align-items:center;justify-content:space-between}.parent-header>button{font-size:15px;letter-spacing:.1em}.parent-header span{font-size:11px;letter-spacing:0;margin-left:16px;color:#a9aaa2}.parent-header .parent-back{font-size:11px;letter-spacing:0}.parent-main{max-width:1180px;margin:auto;padding:28px 42px 70px}.parent-demo{font-size:11px;color:#77786f;padding-bottom:27px}.parent-title{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:31px}.parent-kicker{font-size:10px;letter-spacing:.18em;color:#808178}.parent-title h1{font-size:33px;font-weight:500;letter-spacing:-.06em;margin:10px 0 0}.parent-period{font-size:12px;color:#7b7c74}.parent-period b{font-size:10px;font-weight:400;border:1px solid #cfcec7;padding:5px 9px;margin-left:10px}.child-profile{background:#222420;color:#f5f4ed;padding:28px 31px;display:flex;align-items:center;justify-content:space-between;gap:22px}.child-profile h2{font-size:23px;font-weight:500;margin:0}.child-profile h2 span{font-size:12px;font-weight:400;margin-left:5px;color:#b5b6ad}.child-profile p{font-size:12px;color:#a7aaa0;margin:9px 0 0}.child-classes{display:flex;flex-wrap:wrap;gap:9px}.child-classes span{padding:9px 13px;border:1px solid #55584e;color:#d5d7cd;font-size:11px}.parent-summary{display:grid;grid-template-columns:repeat(3,1fr);margin:28px 0 45px;border-bottom:1px solid #d6d6ce;padding-bottom:26px}.parent-summary article{padding:5px 25px;border-left:1px solid #d6d6ce}.parent-summary article:first-child{padding-left:0;border:0}.parent-summary article>span{font-size:12px;color:#777a70}.parent-summary strong{display:block;font-size:38px;font-weight:400;margin-top:11px;line-height:1.2}.parent-summary small{font-size:14px;color:#85877e;margin-left:9px}.parent-summary p{font-size:11px;color:#898b81;margin:10px 0 0}.parent-columns{display:grid;grid-template-columns:1.7fr 1fr;gap:45px}.parent-section-title{font-size:17px;font-weight:500;margin:0;padding-bottom:20px;border-bottom:1px solid #8c8f82}.parent-class{padding:24px 0 14px;border-bottom:1px solid #d9dbd1}.parent-class-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px}.parent-class-head h3{font-size:16px;font-weight:500;margin:0}.parent-class-head>span{font-size:11px;color:#888c7d}.parent-record{display:flex;align-items:flex-start;gap:17px;padding:12px 0}.parent-record>span{font-size:11px;color:#808475;min-width:24px;padding-top:3px}.parent-record>div{flex:1}.parent-record strong{font-size:12px;font-weight:400;display:block}.parent-record small{display:block;font-size:10px;color:#8a8d81;line-height:1.8;margin-top:6px}.parent-state{font-size:10px;font-weight:400;color:#5d6551;border:1px solid #c9cebe;padding:5px 8px;white-space:nowrap}.parent-state.pending{color:#77776c;border-color:#d6d5ca;background:#eeede6}.parent-footnote{font-size:10px;color:#96988e;line-height:1.8;margin-top:20px}.parent-notice{display:block;width:100%;text-align:left;padding:24px 0;border-bottom:1px solid #d9dbd1}.parent-notice>span{font-size:10px;color:#96998c}.parent-notice h3{font-size:14px;font-weight:500;margin:13px 0 9px}.parent-notice p{font-size:11px;color:#818678;line-height:1.8}.parent-notice>small{display:block;margin-top:19px;font-size:10px;color:#656c59}
@media(max-width:720px){.parent-header{height:72px}.parent-header span{display:none}.parent-main{padding:23px 22px 45px}.parent-title{align-items:flex-start;flex-direction:column;gap:16px}.parent-title h1{font-size:28px}.child-profile{padding:24px;align-items:flex-start;flex-direction:column}.parent-summary{gap:0;margin-bottom:32px}.parent-summary article{padding:4px 12px}.parent-summary article>span{font-size:10px}.parent-summary strong{font-size:30px}.parent-summary small{font-size:11px;margin-left:5px}.parent-summary p{font-size:9px;line-height:1.8}.parent-columns{grid-template-columns:1fr;gap:35px}.parent-record{gap:10px}.parent-state{padding:5px;font-size:9px}.parent-record strong{font-size:11px}}

#student-preview{margin:-8px 0 20px}#student-preview button{font-size:12px;padding:0;border-bottom:1px solid #b5b7aa;padding-bottom:5px}
.report-select{margin:0;color:#aaa;min-width:250px;font-size:10px}.report-select select{background:#30332c;color:#f2f3eb;border:1px solid #5c6052;font-size:12px;padding:12px}.report-switch{font-size:11px;padding:9px 0;border-bottom:1px solid #a6ab99}.report-summary strong small{display:inline-block;font-size:12px}.report-panel{padding:27px 29px;background:#fafaf6;border:1px solid #dedfd5;margin-bottom:24px}.report-panel-head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:25px}.report-panel h2{font-weight:500;font-size:18px;margin:7px 0 0}.report-panel-head>span{font-size:10px;color:#7e8474}.chart-legend{display:flex;gap:20px;font-size:11px;white-space:nowrap}.chart-legend .average{color:#7e8970}.report-svg{display:block;width:100%;max-height:310px;overflow:visible}.report-svg text{font-family:'Noto Sans KR',Arial,sans-serif;font-size:11px;fill:#747a6b}.report-svg .chart-value{fill:#252b20;font-weight:600}.report-chart-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.chart-caption{font-size:10px;color:#868c7d;line-height:1.8;margin:14px 0 0}.report-empty{height:250px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#747d68;font-size:16px;gap:12px}.report-empty small{font-size:11px}.report-table-wrap{overflow-x:auto}.report-table{white-space:normal;min-width:590px}.report-table th{background:#efefe8;color:#747c69;font-size:11px;padding:14px 10px}.report-table td{font-size:12px;padding:15px 10px;border-color:#e2e4da}.report-table th:nth-child(n+4),.report-table td:nth-child(n+4){text-align:right}.report-table td:nth-child(2){width:45%}.report-table strong{font-weight:600}.question-kind{font-size:10px;border:1px solid #d3d8c8;padding:3px 6px;white-space:nowrap}.score-diff{color:#7e8573}.report-clinic{display:flex;justify-content:space-between;align-items:center;border-left:3px solid #555f47;background:#eaece3;padding:23px 27px;gap:20px}.report-clinic h2{font-size:16px;font-weight:500;margin:10px 0}.report-clinic p,.report-method{font-size:11px;line-height:1.9;color:#7b846d}.report-method{margin:22px 0 0}.report-detail .report-panel-head{align-items:flex-end}
@media(max-width:720px){.report-chart-grid{grid-template-columns:1fr;gap:0}.report-panel{padding:22px 16px}.report-panel-head{gap:8px;flex-wrap:wrap;margin-bottom:20px}.report-panel h2{font-size:16px}.report-select{width:100%;min-width:0}.report-summary strong small{display:block;margin:7px 0 0;font-size:10px}.report-summary p{font-size:9px}.chart-legend{gap:12px;font-size:10px}.report-clinic{padding:22px 18px;align-items:flex-start}.report-clinic h2{font-size:14px}.report-table td{font-size:11px}.report-detail .report-panel-head>span{display:block}}

.report-entry{display:inline-block;font-size:12px;color:#c6c9be;margin-top:27px;padding:10px 1px;border-bottom:1px solid #686d5e}

.calendar-student{font-size:12px;color:#828777;margin:14px 0 0}.calendar-role{display:flex;border:1px solid #cdd1c1}.calendar-role button{padding:10px 19px;font-size:11px}.calendar-role button.active{background:#272d21;color:#f5f5eb}.calendar-panel{background:#fafaf6;border:1px solid #d9ddcf;padding:29px}.calendar-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}.calendar-top h2{font-size:28px;font-weight:400;letter-spacing:-.04em;margin:0}.calendar-top h2 span{color:#b7bdab;font-weight:300}.calendar-top>div{display:flex;align-items:center;gap:15px}.calendar-top button{font-size:11px;padding:9px 5px;min-width:32px}.calendar-week,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-week span{padding:12px 10px;font-size:11px;color:#89917d;border-bottom:1px solid #bfc7b0}.calendar-day,.calendar-empty{min-height:105px;border-bottom:1px solid #e0e4d6;border-right:1px solid #e0e4d6;padding:12px;text-align:left;display:flex;flex-direction:column;align-items:flex-start;gap:6px}.calendar-day:nth-child(7n),.calendar-empty:nth-child(7n){border-right:0}.calendar-day>span{font-size:13px;color:#929987}.calendar-day.has-lesson{background:#e9eddf;position:relative}.calendar-day.has-lesson>span{color:#303b24;font-weight:600}.calendar-day b{font-size:11px;font-weight:500}.calendar-day small{font-size:10px;color:#788568}.calendar-day i{font-style:normal;font-size:9px;color:#748160}.calendar-day.chosen{background:#30392a;color:#f7f8ee}.calendar-day.chosen>span,.calendar-day.chosen small,.calendar-day.chosen i{color:#e4e9d9}.calendar-help{font-size:11px;color:#879278;margin:20px 0 0}.calendar-prompt{text-align:center;padding:65px 20px}.calendar-prompt>span{font-size:11px;color:#919c82}.calendar-prompt h2{font-size:19px;font-weight:400;margin:14px 0}.calendar-prompt p{font-size:11px;color:#919c82}.lesson-detail{scroll-margin-top:24px;padding-top:43px}.lesson-date-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:25px}.lesson-date-heading h2{font-size:23px;font-weight:500;margin:10px 0 0}.attendance-record{display:flex;align-items:center;gap:45px;background:#e9eddf;padding:22px 26px}.attendance-record>div{display:flex;gap:15px;align-items:center}.attendance-record span{font-size:11px;color:#7d8b6d}.attendance-record strong{font-size:15px;font-weight:500}.attendance-record p{margin:0 0 0 auto;font-size:11px;color:#849175}.lesson-resources{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:20px}.lesson-resources button{background:#fafbf6;border:1px solid #d8dfcc;padding:23px;text-align:left}.lesson-resources span{display:block;font-size:10px;color:#8b997a}.lesson-resources strong{display:block;font-size:13px;font-weight:500;margin:12px 0}.lesson-resources small{font-size:10px;color:#859574}.daily-report-heading{display:flex;align-items:center;justify-content:space-between;margin-top:39px;border-bottom:1px solid #aebc9e;padding-bottom:17px}.daily-report-heading h2{font-size:18px;font-weight:500;margin:0}.daily-report-heading span{font-size:10px;color:#8e9d7c}
@media(max-width:720px){.calendar-panel{padding:17px 12px}.calendar-top h2{font-size:24px}.calendar-top>div{gap:8px}.calendar-top button{font-size:10px}.calendar-day,.calendar-empty{min-height:91px;padding:9px 5px;gap:5px}.calendar-day b{font-size:9px}.calendar-day small{font-size:8px}.calendar-day i{font-size:8px}.calendar-week span{padding:10px 5px}.calendar-role{align-self:flex-start}.lesson-date-heading h2{font-size:18px;line-height:1.6}.attendance-record{gap:18px;flex-wrap:wrap;padding:20px}.attendance-record p{margin:0;width:100%}.lesson-resources{grid-template-columns:1fr;gap:12px}.lesson-resources button{padding:19px}.daily-report-heading{align-items:flex-start;gap:10px;flex-direction:column}.calendar-prompt h2{font-size:16px}}
.admin-entry{display:block;margin-top:15px;font-size:10px;color:#8c9580}.teacher-main{max-width:1320px;padding:28px 42px 65px;margin:auto}.teacher-filter{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:20px}.teacher-filter button{border:1px solid #d1d8c6;padding:10px 16px;font-size:11px}.teacher-filter button.active{background:#303929;color:#f5f7ed;border-color:#303929}.teacher-filter>span{font-size:11px;color:#8c997d;margin-left:auto}.teacher-cell{padding:9px 6px;min-height:145px;border-right:1px solid #e0e4d6;border-bottom:1px solid #e0e4d6}.teacher-cell:nth-child(7n){border-right:0}.teacher-day-number{display:block;font-size:12px;color:#879578;margin:3px 6px 10px}.teacher-event{display:block;width:100%;text-align:left;padding:9px 10px;margin-top:7px;background:#e8ecdf;border-left:3px solid #828e6f}.teacher-event small,.teacher-event strong,.teacher-event span{display:block;overflow-wrap:anywhere}.teacher-event small{font-size:9px;color:#7c8b6a}.teacher-event strong{font-size:11px;font-weight:500;margin:5px 0}.teacher-event span{font-size:9px;color:#899777;line-height:1.6}.teacher-event.tone-1{background:#f0eee5;border-color:#aba38b}.teacher-event.tone-2{background:#e7eae6;border-color:#8a958e}.teacher-event.tone-3{background:#eeeae5;border-color:#a39486}.teacher-event.selected{outline:2px solid #4e5e3b;outline-offset:-2px}.teacher-settings{display:grid;grid-template-columns:150px 170px 1fr;gap:20px;align-items:center;margin:24px 0}.teacher-settings>div{font-size:11px;color:#81916e;padding-left:20px}.teacher-settings p{line-height:1.9}.teacher-table{background:#fafbf6;border:1px solid #d8dfcb}.teacher-table input{width:120px}.teacher-table select{min-width:95px}.teacher-status{font-size:12px;color:#778c5f;margin:19px 0 27px;line-height:1.8}.teacher-content-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.teacher-memo textarea{display:block;margin-top:10px;min-height:100px}.teacher-save{display:flex;align-items:center;justify-content:space-between;margin-top:23px;gap:20px}.teacher-save p{font-size:11px;color:#8d9c7b;line-height:1.8}
@media(max-width:720px){.teacher-main{padding:24px 18px 45px}.teacher-filter{gap:6px}.teacher-filter button{padding:9px 11px;font-size:10px}.teacher-filter>span{width:100%;margin:8px 0 0}.teacher-calendar{padding:18px 10px}.calendar-scroll{overflow-x:auto}.teacher-calendar .calendar-grid,.teacher-calendar .calendar-week{min-width:680px}.teacher-settings{grid-template-columns:1fr 1fr;gap:15px}.teacher-settings>div{grid-column:1/-1;padding:0}.teacher-content-grid{grid-template-columns:1fr;gap:0}.teacher-save{align-items:flex-start;flex-direction:column}.teacher-save .solid{width:100%}.teacher-main .parent-title>.solid{font-size:11px}}

.test-workspace{display:grid;grid-template-columns:220px minmax(0,1fr);gap:28px}.test-students{border-top:1px solid #9eae8c}.test-students h3{font-size:14px;font-weight:500;margin:20px 12px}.test-students h3 small{margin-left:10px;color:#8c9d79}.test-students>button{width:100%;text-align:left;padding:19px 15px;border-bottom:1px solid #d7dfcc;display:block}.test-students>button.active{background:#303b27;color:#f4f6ec}.test-students strong{display:block;font-size:14px;font-weight:500}.test-students span{display:block;font-size:12px;margin-top:10px}.test-students small{display:block;font-size:10px;margin-top:7px;opacity:.65}.test-students>p{font-size:10px;line-height:1.9;color:#8b9b78;padding:5px 12px}.test-score-panel{background:#fafbf5;border:1px solid #d4dfc7;padding:27px}.test-student-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #c9d4bb;padding-bottom:23px}.test-student-heading h2{font-size:23px;font-weight:500;margin:10px 0 0}.test-student-heading>div:last-child{text-align:right}.test-student-heading strong{display:block;font-size:20px;font-weight:500}.test-student-heading small{display:block;font-size:10px;color:#879974;margin-top:6px}.test-attendance{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin:10px 0 25px}.item-score-table{white-space:normal;min-width:480px}.item-score-table th{font-size:10px}.item-score-table td{font-size:12px;padding:13px 10px}.item-score-table td:nth-child(2){width:45%}.item-score-table input{width:85px;text-align:center;font-size:14px}.unset-topic{font-size:11px;color:#9aaa88}.test-score-help{font-size:10px;line-height:1.9;color:#8a9b76}.test-extra{border-top:1px solid #c4d0b6;margin-top:30px;padding-top:22px}.test-extra summary{cursor:pointer;font-size:13px}.test-extra form{margin-top:18px}dialog.test-settings-dialog{width:min(820px,calc(100% - 30px))}.test-setting-row{display:grid;grid-template-columns:20px 1fr 90px 75px 25px;gap:12px;align-items:center;border-bottom:1px solid #d1dcc4;padding:4px 0 14px}.test-setting-row>span{font-size:12px;color:#899b74}.test-setting-row label{font-size:10px;margin-top:10px}.test-setting-row input,.test-setting-row select{padding:10px 8px;font-size:12px}.test-setting-row>button{font-size:20px;margin-top:20px}.test-settings-dialog .subtle-btn{margin-top:20px}
@media(max-width:720px){.test-workspace{grid-template-columns:1fr;gap:20px}.test-students{display:flex;flex-wrap:wrap;gap:8px;padding-top:15px}.test-students h3{width:100%;margin:0 0 7px}.test-students>button{width:calc(33.333% - 6px);padding:13px 9px;border:1px solid #d7dfcc}.test-students strong{font-size:12px}.test-students span{font-size:10px}.test-students small{font-size:9px;line-height:1.7}.test-students>p{display:none}.test-score-panel{padding:20px 14px}.test-attendance{gap:8px}.test-attendance label{font-size:10px}.test-attendance input,.test-attendance select{padding:10px 5px;font-size:11px}.test-student-heading h2{font-size:20px}.test-student-heading strong{font-size:16px}.test-setting-row{grid-template-columns:18px 1fr 65px 60px 20px;gap:6px}.test-setting-row input,.test-setting-row select{font-size:10px;padding:9px 3px}dialog.test-settings-dialog{padding:35px 15px}.lesson-date-heading>.solid{font-size:11px;padding:12px}}

.item-score-table input:disabled{background:#e8ebe2;border-color:#d8ddcf;color:#a4ad98;cursor:not-allowed;opacity:.7}
.cloud-status{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:15px 0 25px;font-size:11px;color:#849275}.cloud-status>div{display:flex;gap:18px}.cloud-status button{font-size:12px;border-bottom:1px solid #a1b18c;padding:5px 0}.linked-selectors{display:grid;grid-template-columns:1fr 1fr 1.5fr;gap:20px;align-items:end;margin-bottom:24px}.linked-selectors p{font-size:10px;color:#8b9b7b;line-height:1.8}.lesson-resources>a,.lesson-resources>div{background:#fafbf6;border:1px solid #d8dfcc;padding:23px;text-align:left;display:block}.lesson-resources>a strong,.lesson-resources>div strong{display:block;font-size:13px;font-weight:500;margin:12px 0}.trend-scroll{overflow-x:auto}.linked-memo{margin-top:24px}.linked-memo p{white-space:pre-wrap;font-size:12px;line-height:1.9;color:#7e8e6e}@media(max-width:720px){.cloud-status{align-items:flex-start;flex-direction:column}.linked-selectors{grid-template-columns:1fr 1fr;gap:12px}.linked-selectors p{grid-column:1/-1;margin:0}.lesson-resources>a,.lesson-resources>div{padding:19px}}

.lesson-common{margin:0 0 30px;padding:23px 26px;background:#eef1e7;border:1px solid #cbd5bd}.common-scope{font-size:12px;line-height:1.9;color:#778768;margin:15px 0 0}.lesson-common summary{font-weight:500}.lesson-common .teacher-content-grid{gap:5px 24px}@media(max-width:720px){.lesson-common{padding:20px 16px}.common-scope{font-size:11px}}
.auth-link{display:block;text-align:center;margin:24px 0 15px}.auth-signout{display:block;font-size:11px;text-align:center;margin:22px 0;color:#7f8e70}.auth-note{border-top:1px solid #d5dfc9;padding-top:20px;margin-top:28px}.access-message{padding-top:12vh;max-width:800px}.access-message h1{font-size:30px;font-weight:500;line-height:1.6}.access-message p{font-size:13px;color:#81946b;line-height:2}.access-message .solid{display:inline-block;margin-top:22px}.access-message>button{padding:15px 20px}.account-actions{display:flex;gap:12px}.account-description{font-size:13px;line-height:2;color:#7f906c;margin:0 0 30px;max-width:780px}.profile-list{margin:40px 0}.profile-list h2{font-size:18px;font-weight:500}.profile-list article{display:flex;justify-content:space-between;border-top:1px solid #d7dfcc;padding:17px 0;gap:20px}.profile-list strong{font-size:13px;font-weight:500}.profile-list span{font-size:11px;color:#899d73}.account-student-options{max-height:240px;overflow-y:auto;border:1px solid #d3dec4;padding:5px 16px}.account-student-options label{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.account-student-options input{width:auto;margin:0}.account-student-options small{color:#879c70;font-size:9px}.account-actions button{font-size:11px}@media(max-width:720px){.account-actions{width:100%}.account-description{font-size:11px}.profile-list article{flex-direction:column;gap:8px}.cloud-status>div{flex-wrap:wrap}.access-message h1{font-size:25px}}
.management-nav{display:flex;gap:28px;border-bottom:1px solid #cbd5bd;margin-bottom:38px;overflow:auto}.management-nav button{padding:17px 0;white-space:nowrap;font-size:12px;color:#839372}.management-nav .active{color:#303b27;border-bottom:2px solid #303b27}.management-tag{border:1px solid #b6c4a5;padding:8px 12px;font-size:10px}.management-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:24px 0}.management-tabs{display:flex;gap:8px}.management-tabs button{padding:13px 18px;border:1px solid #cbd5bd;font-size:12px}.management-tabs .active{background:#303b27;color:#f4f6ec}.management-filters{display:flex;gap:12px;margin:18px 0}.management-filters input{flex:1;min-width:0}.management-filters select{flex:1;min-width:0}.management-main td{line-height:1.9}.management-main td small{display:block;color:#829271;font-size:10px}.management-empty{padding:40px 18px!important;text-align:center;color:#89977c;font-size:12px}.management-note{font-size:11px;line-height:1.9;color:#7a896b;margin:20px 0}.management-form-grid{display:grid;grid-template-columns:2fr 1fr;gap:15px}.sms-connection{display:flex;align-items:center;justify-content:space-between;gap:20px;border:1px solid #c8d3ba;background:#edf1e6;padding:22px 26px;margin-bottom:30px}.sms-connection strong{font-size:14px;font-weight:500}.sms-connection p{font-size:11px;line-height:1.8;color:#7c8b6d;margin-bottom:0}.sms-connection button{white-space:nowrap;font-size:11px}.sms-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:24px}.management-card{border:1px solid #ccd7bf;background:#fafbf6;padding:26px;min-width:0}.management-card h2,.sms-history h2{font-size:20px;font-weight:500}.management-card h2 small{float:right;font-size:11px;color:#819270;padding-top:6px}.sms-select-actions{display:flex;justify-content:space-between;font-size:10px;color:#748565;border-bottom:1px solid #d6dfcc;padding-bottom:14px}.sms-recipient-list{height:320px;overflow:auto}.sms-recipient-list label{display:flex;align-items:center;gap:12px;border-bottom:1px solid #e0e6d7;padding:17px 0;margin:0}.sms-recipient-list input,.sms-confirm input{width:auto;margin:0;accent-color:#536244}.sms-recipient-list span{flex:1}.sms-recipient-list strong{font-size:12px;font-weight:500}.sms-recipient-list small{display:block;font-size:10px;color:#879778;margin-top:5px;line-height:1.7}.sms-recipient-list strong small{display:inline;margin-left:6px}.sms-recipient-list em{font-style:normal;font-size:11px;color:#758667}.sms-compose{width:100%;min-height:275px;resize:vertical;margin-top:20px;line-height:1.9;background:#f2f5ec;border:1px solid #ced9c1;padding:18px;font-family:inherit;color:inherit}.sms-caption{display:flex;justify-content:space-between;font-size:10px;color:#859475;margin-top:8px}.sms-caption b{font-weight:400}.sms-history{margin-top:45px}.sms-snippet{max-width:330px;white-space:normal}.sms-preview{white-space:pre-wrap;overflow-wrap:anywhere;background:#edf1e6;padding:20px;font-size:13px;line-height:1.9;max-height:260px;overflow:auto}.sms-review-list{max-height:170px;overflow:auto}.sms-review-list p{display:flex;justify-content:space-between;gap:15px;font-size:11px;border-bottom:1px solid #dae2ce;padding:10px 0}.sms-confirm{display:flex;align-items:center;gap:10px;font-size:12px!important}button:disabled{opacity:.45;cursor:not-allowed}@media(max-width:800px){.sms-grid{grid-template-columns:1fr}.management-card{padding:20px}.management-nav{gap:22px}.sms-connection{align-items:flex-start;padding:20px;flex-direction:column}.management-filters{flex-wrap:wrap}.management-tag{display:none}.sms-recipient-list em{font-size:10px}.management-toolbar .solid{font-size:11px;padding:13px}}

.registration-parent{border-top:1px solid #cbd5bd;margin-top:26px;padding-top:16px}.registration-parent h3{font-size:15px;font-weight:500}.registration-parent h3 small{font-size:10px;color:#839372;margin-left:8px}

/* Embedded lessons keep the existing palette and adapt to narrow screens. */
.lesson-resources .embedded-video{grid-column:1/-1;min-width:0}.video-frame{width:100%;aspect-ratio:16/9;min-height:200px;background:#151815;margin:16px 0}.video-frame iframe{width:100%;height:100%;border:0;display:block}.embedded-video>a{font-size:12px;text-decoration:underline}.embedded-video>small{display:block;margin-top:10px;font-size:11px;line-height:1.7}.embedded-video .help{line-height:1.8}



/* ATTITUDE public pages: charcoal, white and cool grey. */
.home{--home-bg:#151719;--home-fg:#f3f4f6;--home-muted:#a3a9b2;--home-line:#35393f;background:var(--home-bg);color:var(--home-fg)}
.home .home-header{background:var(--home-bg);color:var(--home-fg);border-color:#30343a}
.home .hero{background:var(--home-bg);color:var(--home-fg)}
.home .simple-hero>.solid{background:#f0f2f5;color:#171a1e}
.home .entry-caption{color:#a3a9b2}
.home .outline{border-color:#777f8b;color:#f3f4f6}
.home button:focus-visible,.home a:focus-visible{outline-color:#d9dee8}
.home .simple-teacher{background:var(--home-bg);color:var(--home-fg);border-top:1px solid #30343a;border-bottom:0;padding:64px 7%}
.home .simple-teacher h2{font-family:'Noto Sans KR',Arial,sans-serif;font-weight:400;letter-spacing:-.05em}
.home .simple-teacher h2 small,.home .simple-teacher p{color:var(--home-muted)}
.home>footer{background:var(--home-bg);color:#a3a9b2;border-color:#30343a}
.weekly-section{background:var(--home-bg);color:var(--home-fg);padding:60px 7% 76px;scroll-margin-top:30px}
.weekly-inner{max-width:1240px;margin:0 auto}
.weekly-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:42px}
.weekly-kicker{font-size:10px;font-weight:500;letter-spacing:.21em;color:#a3a9b2}
.weekly-heading h2{font-family:'Noto Sans KR',Arial,sans-serif;font-size:32px;font-weight:400;letter-spacing:-.06em;line-height:1.3;margin:15px 0 0}
.weekly-range{font-size:10px;letter-spacing:.13em;color:#a3a9b2;padding-bottom:5px;white-space:nowrap}

.weekly-scroll{overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#454c56 transparent;padding-bottom:10px}
.weekly-scroll:focus-visible{outline:1px solid #777f8b;outline-offset:6px}
.weekly-scroll-hint{display:none;font-size:10px;line-height:1.8;color:#a3a9b2;margin:-14px 0 18px}
.weekly-calendar{--weekly-slot:24px;display:grid;grid-template-columns:48px repeat(7,minmax(0,1fr));min-width:960px;border-top:1px solid #626972;padding-top:25px}
.weekly-day{min-width:0;padding:0 12px;border-left:1px solid #30343a}
.weekly-day:last-child{padding-right:0}
.weekly-day h3{display:flex;align-items:baseline;gap:8px;height:29px;font-size:21px;font-weight:400;line-height:1.3;letter-spacing:-.04em;margin:0 0 28px}
.weekly-day h3>span{font-size:8px;font-weight:500;letter-spacing:.1em;color:#a3a9b2}
.weekly-sessions{list-style:none;display:grid;grid-template-rows:repeat(26,var(--weekly-slot));margin:0;padding:0}
.weekly-session{position:relative;min-width:0;min-height:0;padding:10px 0 0 10px;border-left:1px solid #454c56;align-self:stretch}
.weekly-session::before,.weekly-session::after{content:"";position:absolute;left:0;width:5px;height:1px;background:#454c56}
.weekly-session::before{top:0}.weekly-session::after{bottom:0}
.weekly-session-title{display:flex;flex-direction:column;gap:7px}
.weekly-grade{font-size:10px;font-weight:400;line-height:1.4;letter-spacing:.02em;color:#b6bbc3}
.weekly-session strong{font-size:14px;font-weight:500;line-height:1.5;letter-spacing:-.04em;color:#f3f4f6;word-break:keep-all}
.weekly-session[data-course="regular-m"] strong{color:#a3bff3}
.weekly-session[data-course="school-b"] strong{color:#dfa9bd}
.weekly-session[data-course="geometry-m"] strong{color:#8fcfcd}
.weekly-session[data-course="geometry-s"] strong{color:#bcb0ef}
.weekly-session[data-course="prep-s1"] strong{color:#dfc29f}
.weekly-time{display:flex;gap:4px;align-items:center;white-space:nowrap;font-size:10px;letter-spacing:0;font-variant-numeric:tabular-nums;color:#b6bbc3;margin-top:11px;line-height:1.4}
.weekly-time>span{font-size:8px;color:#8b929d}
.weekly-clinic{padding-top:4px}
.weekly-clinic strong{font-size:13px;font-weight:400;color:#b6bbc3}
.weekly-clinic .weekly-time{font-size:9px;margin-top:5px;color:#a3a9b2}
.weekly-empty{grid-row:1/-1;align-self:center;font-size:15px;color:#777f8b;margin:0;padding-left:10px}
.weekly-scale-label{display:block;height:29px;line-height:29px;font-size:8px;letter-spacing:.1em;color:#8b929d;margin-bottom:28px}
.weekly-scale-track{height:calc(26 * var(--weekly-slot));position:relative}
.weekly-scale-track>span{position:absolute;left:0;font-size:9px;font-variant-numeric:tabular-nums;letter-spacing:0;color:#8b929d;transform:translateY(-50%)}
.weekly-scale-track>span:first-child{transform:none}
.weekly-scale-track>span:last-child{transform:translateY(-100%)}
.weekly-bottom{border-top:1px solid #35393f;padding-top:23px;margin-top:26px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.weekly-bottom p{font-size:10px;line-height:1.8;color:#a3a9b2;margin:0}
.weekly-bottom button{display:inline-flex;align-items:center;gap:20px;padding:8px 0;font-size:11px;white-space:nowrap;color:#f3f4f6}
.weekly-bottom button>span{font-size:17px}
@media(max-width:1120px){.weekly-scroll-hint{display:block}}
@media(max-width:820px){.weekly-section{padding:40px 7% 50px}.weekly-heading{margin-bottom:27px}.weekly-heading h2{font-size:27px}.weekly-kicker{font-size:9px}.weekly-range{font-size:9px}.weekly-scroll{margin-right:-8.14%;padding-right:22px}.weekly-bottom{margin-top:20px;padding-top:20px}.weekly-bottom p{max-width:210px}.home .simple-teacher{padding:42px 7%;gap:28px}}
@media(max-width:680px){.home-header nav>a[href="#timetable"]{display:inline-flex;align-items:center;min-height:40px}.home-header nav{gap:15px}}
@media(max-width:380px){.home-header .brand-name{font-size:21px}.home-header nav{gap:12px}.home-header .outline{padding:10px 11px}.weekly-bottom{align-items:flex-start;gap:16px}.weekly-bottom p{max-width:165px}.weekly-bottom button{gap:10px}}

/* The public entrance follows ATTITUDE's signature and a stronger type hierarchy. */
.home .home-header{padding:22px 7%;min-height:85px}
.home .home-header>.brand-name{font-family:'Noto Sans KR',Arial,sans-serif;font-size:20px;font-weight:600;font-style:normal;letter-spacing:-.05em;white-space:nowrap}
.home .home-header>.brand-name>span{font-size:12px;font-weight:400;letter-spacing:-.025em;color:#a3a9b2;margin-left:7px}
.home .home-header .outline{border:0;border-bottom:1px solid #777f8b;padding:10px 0}
.home .attitude-hero{min-height:calc(100svh - 85px);display:flex;align-items:center;padding:38px 7% 70px;background:var(--home-bg)}
.attitude-hero-inner{width:100%;max-width:1240px;margin:0 auto}
.attitude-signature{position:relative;width:100%;aspect-ratio:3.2;overflow:hidden;margin:0 0 36px}
.attitude-signature img{display:block;position:absolute;left:0;top:50%;width:100%;height:auto;transform:translateY(-50%);filter:invert(1);mix-blend-mode:screen}
.attitude-hero-bottom{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,300px);align-items:end;gap:70px}
.home .attitude-hero h1{text-align:left;font-family:'Noto Sans KR',Arial,sans-serif;font-size:clamp(46px,5.6vw,76px);font-weight:600;line-height:1.17;letter-spacing:-.065em;margin:0;color:#f3f4f6}
.attitude-hero h1>span{display:block}
.attitude-entry{padding-bottom:3px}
.home .attitude-entry-label{margin:0 0 17px;padding:0;text-align:left;font-size:12px;font-weight:500;line-height:1.5;letter-spacing:-.02em;color:#b6bbc3}
.attitude-schedule-link{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:60px;padding:16px 20px;background:#f0f2f5;color:#171a1e;font-size:15px;font-weight:500;letter-spacing:-.03em;transition:background .15s ease}
.attitude-schedule-link>span{font-size:25px;line-height:1}
.attitude-schedule-link:hover{background:#d9e1ed}
.attitude-login-link{display:flex;align-items:center;justify-content:space-between;gap:24px;width:100%;min-height:48px;margin-top:6px;padding:12px 0;font-size:13px;color:#f3f4f6;text-align:left}
.attitude-login-link>span{font-size:20px;line-height:1;color:#a3a9b2}
.attitude-login-link:hover{color:#c9d5e8}
.home .attitude-entry-note{font-size:10px;line-height:1.6;letter-spacing:0;text-align:left;color:#8b929d;margin:0;padding:0}
@media(min-width:1600px){.home .attitude-hero{padding-top:54px;padding-bottom:82px}.attitude-signature{margin-bottom:48px}}
@media(max-width:900px){.attitude-hero-bottom{grid-template-columns:minmax(0,1fr) minmax(210px,240px);gap:35px}.home .attitude-hero h1{font-size:clamp(42px,5.6vw,51px)}}
@media(max-width:680px){.home .home-header{padding:18px 7%;min-height:73px}.home .home-header>.brand-name{font-size:19px}.home .home-header>.brand-name>span{font-size:11px;margin-left:4px}.home .home-header nav{gap:18px;font-size:11px}.home .home-header .outline{font-size:11px;padding:8px 0}.home .attitude-hero{min-height:calc(100svh - 73px);padding:28px 7% 48px}.attitude-signature{margin-bottom:40px}.attitude-hero-bottom{grid-template-columns:1fr;gap:36px}.home .attitude-hero h1{font-size:clamp(42px,10.8vw,64px);line-height:1.14}.attitude-entry{max-width:380px;width:100%;padding:0}.home .attitude-entry-label{margin-bottom:12px;font-size:11px}.attitude-schedule-link{min-height:54px;padding:14px 18px;font-size:14px}.attitude-login-link{min-height:44px;font-size:12px;margin-top:5px}.home .attitude-entry-note{font-size:9px}}
@media(max-width:380px){.home .home-header>.brand-name{font-size:17px}.home .home-header nav{gap:13px}.home .home-header .outline{font-size:10px}.home .attitude-hero{padding-bottom:36px}.attitude-signature{margin-bottom:32px}.attitude-hero-bottom{gap:28px}}
@media(prefers-reduced-motion:reduce){.attitude-schedule-link{transition:none}}

/* A public sample report uses isolated, fictional data and the ATTITUDE palette. */
.sample-report-section{padding:76px 7% 84px;border-top:1px solid #30343a;background:#151719;color:#f3f4f6}
.sample-report-layout{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:220px minmax(0,1fr);gap:54px;align-items:start}
.sample-report-intro{padding-top:10px}
.sample-report-kicker{font-size:10px;font-weight:500;letter-spacing:.06em;color:#a3a9b2}
.sample-report-intro h2{font-size:40px;font-weight:500;line-height:1.28;letter-spacing:-.065em;margin:23px 0 21px}
.sample-report-intro>p{font-size:12px;line-height:1.95;color:#a3a9b2;margin:0}
.sample-report-explainer{list-style:none;padding:0;margin:40px 0 34px;display:grid;gap:25px}
.sample-report-explainer li{display:flex;gap:17px;align-items:baseline}
.sample-report-explainer li>span{font-size:9px;font-variant-numeric:tabular-nums;color:#818a98}
.sample-report-explainer strong{font-size:13px;font-weight:500;color:#e5e8ed}
.sample-report-explainer p{font-size:11px;line-height:1.8;color:#a3a9b2;margin:7px 0 0}
.sample-report-intro>.sample-report-intro-note{font-size:10px;line-height:1.8;color:#8993a1}
.sample-report-sheet{min-width:0;background:#1c2026;border:1px solid #3b424d;padding:30px 32px 20px}
.sample-sheet-header{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;padding-bottom:22px}
.sample-sheet-brand{font-size:10px;letter-spacing:.15em;font-weight:500;color:#cbd1da}
.sample-sheet-brand>span{font-size:9px;letter-spacing:-.02em;color:#929ca9;margin-left:10px;font-weight:400}
.sample-sheet-header h3{font-size:25px;line-height:1.3;letter-spacing:-.045em;font-weight:500;margin:11px 0 0;color:#f3f4f6}
.sample-sheet-badge{font-size:10px;line-height:1.3;padding:6px 9px;border:1px solid #566171;color:#bec9d9}
.sample-sheet-profile{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;padding:15px 0 19px;border-top:1px solid #3b424d}
.sample-sheet-profile>div{display:flex;flex-direction:column;gap:7px}
.sample-sheet-profile strong{font-size:15px;font-weight:500;color:#f3f4f6}
.sample-sheet-profile>div>span{font-size:10px;color:#acb7c6}
.sample-sheet-profile>p{display:flex;flex-direction:column;text-align:right;gap:7px;margin:0;font-size:10px;line-height:1.6;color:#a8b2c0}
.sample-sheet-profile time{font-variant-numeric:tabular-nums;color:#d3d9e2}
.sample-sheet-stats{display:grid;grid-template-columns:1.1fr 1.2fr .8fr;margin:0;padding:19px 0 22px;border-top:1px solid #3b424d;border-bottom:1px solid #3b424d}
.sample-sheet-stats>div{min-width:0;padding:0 18px;border-left:1px solid #3b424d}
.sample-sheet-stats>div:first-child{padding-left:0;border-left:0}
.sample-sheet-stats>div:last-child{padding-right:0}
.sample-sheet-stats dt{font-size:10px;color:#a8b2c0;font-weight:400;line-height:1.5}
.sample-sheet-stats dd{margin:10px 0 8px;font-size:38px;line-height:1.12;letter-spacing:-.055em;font-weight:500;color:#f3f4f6;font-variant-numeric:tabular-nums}
.sample-sheet-stats dd>small{font-size:11px;font-weight:400;letter-spacing:-.025em;margin-left:7px;color:#a8b2c0;white-space:nowrap}
.sample-sheet-stats p{margin:0;font-size:9px;line-height:1.7;color:#a8b2c0}
.sample-sheet-stats p>b{font-size:9px;color:#a3bff3;font-weight:500;margin-left:6px;white-space:nowrap}
.sample-sheet-stats .sample-attendance-stat dd{font-size:25px;line-height:1.7;font-weight:400;letter-spacing:-.04em}
.sample-sheet-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:27px;padding:27px 0}
.sample-sheet-body section{min-width:0}
.sample-panel-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px}
.sample-panel-heading h4{margin:0;font-size:12px;font-weight:500;line-height:1.5;letter-spacing:-.025em;color:#e8ecf2}
.sample-panel-heading>span{font-size:9px;color:#9eabbd;white-space:nowrap}
.sample-chart-legend{display:flex;gap:10px;font-size:8px;white-space:nowrap;color:#a8b2c0}
.sample-chart-legend>span{display:flex;align-items:center;gap:4px}
.sample-chart-legend>span::before{content:"";display:inline-block;width:10px;height:0;border-top:2px solid #a3bff3}
.sample-chart-legend>span:last-child::before{border-top:2px dashed #8993a1}
.sample-report-chart{display:block;width:100%;height:auto;overflow:visible}
.sample-report-chart text{font-family:'Noto Sans KR',Arial,sans-serif;font-size:10px;fill:#a8b2c0;letter-spacing:0}
.sample-chart-guide{stroke:#363e49;stroke-width:1}
.sample-chart-average{fill:none;stroke:#8993a1;stroke-width:2;stroke-dasharray:5 4}
.sample-chart-own{fill:none;stroke:#a3bff3;stroke-width:2.5}
.sample-chart-average-dot{fill:#8993a1}
.sample-chart-own-dot{fill:#a3bff3}
.sample-report-chart .sample-chart-value{fill:#c5d7fa;font-size:11px;font-weight:500}
.sample-chart-caption{font-size:9px;line-height:1.8;margin:10px 0 0;color:#95a1b2}
.sample-distribution-panel{margin-top:25px;padding-top:20px;border-top:1px solid #363e49}
.sample-panel-heading .sample-position{color:#b9c9e2;font-variant-numeric:tabular-nums}
.sample-distribution-own{fill:#a3bff3}
.sample-distribution-other{fill:#566172}
.sample-report-table{width:100%;min-width:0;border-collapse:collapse;table-layout:auto;white-space:normal;font-size:10px;line-height:1.5;color:#d3dbe6}
.sample-report-table th,.sample-report-table td{padding:8px 0;border-bottom:1px solid #333b46;background:transparent}
.sample-report-table thead th{padding-top:0;padding-bottom:10px;font-size:9px;font-weight:400;text-align:left;color:#939fb1}
.sample-report-table th:first-child{width:36px}
.sample-report-table tbody th{font-size:9px;font-weight:400;text-align:left;color:#939fb1}
.sample-report-table td:nth-child(2){padding-right:8px;word-break:keep-all;overflow-wrap:anywhere}
.sample-report-table th:last-child,.sample-report-table td:last-child{text-align:right;white-space:nowrap}
.sample-report-table td:last-child{width:42px;font-variant-numeric:tabular-nums}
.sample-report-table td>strong{font-size:11px;font-weight:500;color:#e5ebf5}
.sample-report-table td>span{font-size:9px;color:#8593a7}
.sample-report-table .sample-question-focus td,.sample-report-table .sample-question-focus td>strong{color:#a3bff3}
.sample-report-table tfoot th,.sample-report-table tfoot td{border-bottom:0;padding-top:11px;font-size:10px;font-weight:500;color:#c5d7fa}
.sample-clinic-note{border-top:1px solid #3b424d;padding-top:20px}
.sample-clinic-note h4{font-size:12px;font-weight:500;color:#e8ecf2;margin:0 0 10px}
.sample-clinic-note>p{font-size:11px;line-height:1.95;color:#b9c2d0;margin:0}
.sample-clinic-note strong{font-weight:500;color:#d5e3fa}
.sample-next-step{display:grid;grid-template-columns:74px minmax(0,1fr);gap:14px;border-left:2px solid #a3bff3;margin-top:16px;padding:2px 0 2px 13px}
.sample-next-step>span{font-size:10px;color:#c3d5f6;padding-top:2px;line-height:1.8}
.sample-next-step p{font-size:10px;color:#bec9d9;line-height:1.9;margin:0}
.sample-sheet-footer{font-size:9px;line-height:1.8;margin:20px 0 0;color:#8e9bac}
@media(max-width:1120px){.sample-report-layout{grid-template-columns:1fr;gap:30px}.sample-report-intro{display:grid;grid-template-columns:1fr 1fr;column-gap:35px;padding:0}.sample-report-kicker{grid-column:1}.sample-report-intro h2{grid-column:1;margin-top:17px;font-size:35px}.sample-report-intro>p{grid-column:1}.sample-report-explainer{grid-column:2;grid-row:1/5;margin:0;padding-top:3px;gap:21px;align-content:start}.sample-report-intro>.sample-report-intro-note{margin-top:15px}.sample-report-sheet{padding:30px 32px 22px}}
@media(max-width:680px){.sample-report-section{padding:46px 7% 52px}.sample-report-layout{gap:26px}.sample-report-intro{display:block}.sample-report-intro h2{font-size:32px;line-height:1.3;margin:16px 0}.sample-report-intro>p{font-size:11px}.sample-report-explainer{display:flex;flex-wrap:wrap;gap:18px 25px;margin:23px 0 17px;padding:0}.sample-report-explainer li{gap:7px}.sample-report-explainer strong{font-size:11px}.sample-report-explainer p{display:none}.sample-report-intro>.sample-report-intro-note{font-size:9px;margin:0}.sample-report-sheet{padding:23px 18px 18px}.sample-sheet-header{padding-bottom:18px}.sample-sheet-header h3{font-size:22px}.sample-sheet-brand{font-size:9px}.sample-sheet-brand>span{font-size:8px;margin-left:6px}.sample-sheet-profile{gap:12px}.sample-sheet-profile strong{font-size:13px}.sample-sheet-profile>div>span,.sample-sheet-profile>p{font-size:9px}.sample-sheet-stats{padding:18px 0}.sample-sheet-stats>div{padding:0 10px}.sample-sheet-stats dt{font-size:9px}.sample-sheet-stats dd{font-size:29px;margin:10px 0 7px}.sample-sheet-stats dd>small{display:block;margin:6px 0 0;font-size:9px}.sample-sheet-stats .sample-attendance-stat dd{font-size:20px;line-height:1.5;margin-bottom:22px}.sample-sheet-stats p{font-size:8px}.sample-sheet-stats p>b{display:block;margin-left:0;font-size:8px}.sample-sheet-body{grid-template-columns:1fr;gap:25px;padding:24px 0}.sample-sheet-charts{min-width:0}.sample-panel-heading h4{font-size:12px}.sample-chart-legend{font-size:9px}.sample-chart-caption{font-size:9px}.sample-distribution-panel{margin-top:21px;padding-top:20px}.sample-report-table{font-size:11px}.sample-report-table th,.sample-report-table td{padding-top:10px;padding-bottom:10px}.sample-report-table thead th,.sample-report-table tbody th{font-size:10px}.sample-report-table td>strong{font-size:12px}.sample-question-panel{padding-top:23px;border-top:1px solid #3b424d}.sample-clinic-note>p{font-size:11px}.sample-next-step{grid-template-columns:1fr;gap:5px}.sample-next-step p{font-size:10px}.sample-sheet-footer{font-size:8px}}
@media(max-width:360px){.sample-report-sheet{padding:20px 13px 15px}.sample-sheet-stats>div{padding-left:8px;padding-right:8px}.sample-sheet-stats dd{font-size:27px}.sample-sheet-brand>span{display:block;margin:6px 0 0}.sample-sheet-profile{align-items:flex-start}.sample-sheet-profile>p{max-width:130px}}

@media(max-width:680px){.sample-report-chart text{font-size:14px}.sample-report-chart .sample-chart-value{font-size:15px}}
