@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;500;600;700;800&display=swap');
:root{font-family:'Noto Sans KR',sans-serif;color:#18233d;background:#f4f7fd;font-size:15px;--blue:#3268eb;--muted:#63738e}*{box-sizing:border-box}body{margin:0}a{color:var(--blue);text-decoration:none}header{height:88px;background:white;border-bottom:1px solid #e2e8f3;padding:0 5%;display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{display:flex;align-items:center;gap:10px;font-size:24px;color:#192a51;font-weight:800}.brand img{border-radius:12px}nav{display:flex;align-items:center;gap:18px;font-size:13px}main{max-width:1250px;margin:42px auto;padding:0 24px;min-height:70vh}h1{font-size:32px;letter-spacing:-1px;margin:8px 0 12px}h2{font-size:20px;margin:0 0 18px}h3{font-size:16px;margin:0 0 12px}p{line-height:1.8}small,.muted{color:var(--muted)}.eyebrow{font-size:12px;color:var(--blue);font-weight:800;letter-spacing:2px}.lead{margin-bottom:30px;color:var(--muted)}.card{background:white;border:1px solid #e1e8f3;border-radius:20px;padding:26px;margin-bottom:20px;box-shadow:0 8px 30px #17386304}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.auth{max-width:510px;margin:45px auto}.auth .card{padding:32px}.row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.row>*{flex:1}.row .fixed{flex:0 0 auto}label{display:block;font-size:13px;font-weight:600;margin:14px 0 6px}input,select{width:100%;background:white;border:1px solid #d8e1f0;border-radius:10px;padding:12px;font:inherit;color:inherit}input:focus,select:focus{outline:2px solid #b7ccff;border-color:var(--blue)}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:10px;background:var(--blue);color:white;padding:12px 18px;font:inherit;font-size:14px;font-weight:600;cursor:pointer}button:hover,.button:hover{filter:brightness(.96)}button:disabled{opacity:.55;cursor:wait}button.secondary,.button.secondary{background:#eef3fc;color:#335382}button.danger{background:#fff0f0;color:#ad3434}form>button{margin-top:20px}button.full{width:100%}.role{display:flex;flex-direction:column;align-items:flex-start;text-align:left;background:white;color:#18233d;border:1px solid #dbe4f5;padding:30px;border-radius:20px;min-height:220px}.role strong{font-size:24px;margin-bottom:14px}.role p{font-weight:400;color:var(--muted)}.role span{margin-top:auto;color:var(--blue)}.empty{padding:25px;background:#f5f8fd;border:1px dashed #d8e2f2;border-radius:12px;color:var(--muted);line-height:1.8}.error{background:#fff1ef;color:#a52f25;padding:12px;border-radius:10px;font-size:14px;line-height:1.7}.success{background:#eaf8f2;color:#257653;padding:16px;border-radius:12px}.badge{display:inline-flex;border-radius:30px;background:#eaf1ff;color:#3260aa;padding:5px 10px;font-size:12px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:20px}.section-head h2{margin:0}details{background:white;border:1px solid #e2e8f3;border-radius:16px;margin:14px 0;padding:18px}summary{cursor:pointer;font-weight:700}details .grid{margin-top:18px}.trophy{text-align:left;display:block;background:#f1f5ff;color:#223d72;padding:24px;min-height:110px}.trophy b{font-size:20px;display:block;margin-bottom:8px}.trophy span{font-weight:400}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}th,td{padding:14px 12px;border-bottom:1px solid #edf1f7;font-size:13px}th{color:var(--muted);font-weight:500;background:#f8faff}td button{padding:7px 10px;font-size:12px}code{overflow-wrap:anywhere;font-size:16px;user-select:all;display:block;background:#f0f4fc;border-radius:10px;padding:14px;margin:12px 0}.check{display:flex;align-items:flex-start;gap:10px;font-weight:400}.check input{width:auto;margin-top:5px}.provider{width:100%;background:#fff;border:1px solid #dce3ed;color:#243451;margin-top:10px}.provider img{width:24px;height:24px;object-fit:contain}.separator{text-align:center;color:#7d8a9e;font-size:12px;margin:25px 0 5px}#notice{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);max-width:90%;padding:14px 22px;border-radius:12px;color:white;background:#243f71;display:none;z-index:5}footer{text-align:center;padding:35px;color:var(--muted);font-size:12px}.tabs{display:flex;gap:10px;margin:20px 0;flex-wrap:wrap}.tabs a{padding:10px 18px;border-radius:10px;background:white}.context-title{font-size:22px;font-weight:700}.scope{font-size:13px;background:#eef5ff;padding:15px;border-radius:12px;line-height:1.7}.back{display:inline-block;margin-bottom:20px}hr{border:0;border-top:1px solid #e5ebf4;margin:24px 0}@media(max-width:760px){header{height:auto;min-height:80px;padding:18px;align-items:flex-start}nav{gap:10px;flex-wrap:wrap;justify-content:flex-end}#account-name{display:none}.brand{font-size:20px;white-space:nowrap}.brand img{width:34px;height:34px}main{margin-top:28px;padding:0 16px}.grid,.grid.three{grid-template-columns:1fr;gap:8px}.card{padding:20px}h1{font-size:27px}.section-head{align-items:flex-start;flex-wrap:wrap}.row{align-items:stretch}.row>*{flex-basis:100%}.row .fixed{flex:auto}.auth .card{padding:23px}.role{min-height:180px}}

.provider-logo{width:24px;height:24px;overflow:hidden;position:relative;display:inline-block;border-radius:4px}.provider-logo img{position:absolute;max-width:none;object-fit:fill}.provider-logo.google{background:#131314}.provider-logo.google img{width:180px;height:40px;left:-10px;top:-8px}.provider-logo.naver{background:#05ac4f}.provider-logo.naver img{width:197.143px;height:48px;left:-42px;top:-12px}.provider-logo.kakao{background:#fee500}.provider-logo.kakao img{width:256px;height:52.571px;left:-65.714px;top:-14.286px}

[hidden]{display:none!important}

.teacher-workspace{display:grid;grid-template-columns:250px minmax(0,1fr);max-width:1680px;margin:auto;align-items:start}.teacher-workspace main{width:100%;max-width:none;margin:34px 0;padding:0 32px}.teacher-workspace aside{position:sticky;top:0;min-height:calc(100vh - 88px);background:white;border-right:1px solid #e1e8f3;padding:30px 20px}.teacher-workspace aside h2{font-size:18px;line-height:1.6;overflow-wrap:anywhere;margin:8px 0}.teacher-workspace aside nav{display:flex;flex-direction:column;align-items:stretch;gap:7px;margin-top:18px}.teacher-workspace aside nav a{padding:12px 14px;border-radius:10px;color:#526482;font-weight:600}.teacher-workspace aside nav a[aria-current=page]{background:#eaf1ff;color:#225cde}.teacher-workspace aside .back{font-size:13px}.teacher-workspace aside .muted{font-size:12px}.management-single{grid-template-columns:minmax(0,760px)}[data-roster-select],#roster-select-all{width:18px;height:18px;accent-color:var(--blue);cursor:pointer}button:disabled{cursor:not-allowed}@media(max-width:900px){.teacher-workspace{grid-template-columns:1fr}.teacher-workspace aside{position:static;min-height:0;border-right:0;border-bottom:1px solid #e1e8f3;padding:20px}.teacher-workspace aside nav{flex-direction:row;flex-wrap:wrap;justify-content:flex-start}.teacher-workspace aside nav a{padding:10px}.teacher-workspace aside h2{display:inline;margin-left:12px}.teacher-workspace aside hr{margin:14px 0}.teacher-workspace aside select{max-width:420px}.teacher-workspace main{padding:0 16px;margin-top:24px}.teacher-workspace .grid{grid-template-columns:1fr}}

/* Teacher workspace: clear navigation, real data, and compact comparison cards. */
textarea{width:100%;padding:12px;font:inherit;line-height:1.6;border:1px solid #d8e1f0;border-radius:10px;resize:vertical;color:inherit}.block{display:block}.narrow{max-width:900px}.studio-breadcrumb{display:flex;gap:10px;font-size:12px;color:var(--muted);margin-bottom:24px;flex-wrap:wrap}.teacher-workspace{grid-template-columns:245px minmax(0,1fr);max-width:1800px}.teacher-workspace aside{max-height:100vh;overflow-y:auto}.teacher-workspace aside .nav-section{margin-top:23px}.teacher-workspace aside .nav-section h3{font-size:11px;color:#8b98ad;letter-spacing:1px;margin:0 12px 7px}.teacher-workspace aside .nav-section nav{margin:0;gap:3px}.teacher-workspace aside nav a{font-size:13px;padding:10px 12px}.studio-menu-toggle{display:none}.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;margin:0 0 24px}.metric{background:white;border:1px solid #e1e8f3;border-radius:16px;padding:21px;display:flex;flex-direction:column;gap:10px}.metric>span{color:#64748b;font-size:13px}.metric strong{font-size:29px;letter-spacing:-1px;color:#17294c}.metric small{font-size:11px;line-height:1.6}.metric:nth-child(2){border-top:3px solid #4781ec}.metric:nth-child(3){border-top:3px solid #39b596}.metric:nth-child(4){border-top:3px solid #a27ade}.filter-card{display:flex;align-items:end;gap:14px;flex-wrap:wrap}.filter-card>label{flex:0 0 auto;margin:0 0 12px}.filter-card>select{width:auto;min-width:130px;flex:1}.filter-card>button{margin:0}.analytics-grid{display:grid;grid-template-columns:1.65fr 1fr 1fr;gap:18px;align-items:stretch}.analytics-grid .card{min-width:0;padding:22px}.analytics-grid h2{font-size:17px}.chart svg{width:100%;height:auto;min-height:180px}.chart text{font:11px sans-serif;fill:#7b8ca6}.chart-legend{display:flex;gap:12px;flex-wrap:wrap;font-size:11px;justify-content:center}.chart-legend span{display:flex;gap:6px;align-items:center}.chart-legend i{width:8px;height:8px;border-radius:50%;display:inline-block}.bar-list{display:grid;gap:18px;margin-top:24px}.bar-list>div{display:grid;grid-template-columns:minmax(50px,1fr) 2fr 38px;gap:8px;align-items:center;font-size:12px}.bar-list i{height:9px;background:#edf2fb;border-radius:10px;overflow:hidden}.bar-list b{display:block;height:100%;background:linear-gradient(90deg,#aac6ff,#5487f0);border-radius:10px}.bar-list strong{text-align:right;font-size:12px}.studio-dialog{width:min(860px,94vw);max-height:90vh;border:1px solid #dce5f1;border-radius:20px;padding:28px;color:#18233d;box-shadow:0 22px 100px #11234c3b}.studio-dialog::backdrop{background:#11213b88}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:26px;position:sticky;bottom:-28px;padding:18px 0;background:white}.dialog-actions button{margin:0}.word-picker{border:1px solid #dfe7f4;border-radius:14px;margin-top:22px;padding:16px}.word-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px;max-height:300px;overflow:auto}.word-options .check{font-size:12px;line-height:1.7;word-break:break-word;margin:5px}.weekdays{display:flex;gap:12px;flex-wrap:wrap;border:0;padding:12px 0}.weekdays label{margin:5px}.vocab-steps{list-style:none;padding:0;display:flex;gap:8px;justify-content:space-between;margin:0 0 24px;flex-wrap:wrap}.vocab-steps li{background:#eaf0f9;color:#677a97;border-radius:10px;padding:12px;font-size:12px;display:flex;align-items:center;gap:8px}.vocab-steps li[aria-current]{background:#3268eb;color:white}.vocab-steps b{border-radius:50%;background:#ffffff40;padding:3px 7px}.warm{background:#fff2de;color:#b07928}.memo-list article,.memo{border-bottom:1px solid #e8edf6;padding:16px 0}.memo-list article p,.memo p{white-space:pre-wrap}.progress-track{height:14px;border-radius:15px;background:#e9f0fb;overflow:hidden}.progress-track span{display:block;height:100%;background:linear-gradient(90deg,#679afa,#346ceb)}.tabs [aria-current=page]{background:#3268eb;color:white}.class-actions{display:flex;gap:7px;margin:-5px 0 20px;flex-wrap:wrap}.class-actions button{font-size:11px;padding:8px}.roster-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:16px 0}.roster-toolbar input{width:230px}.roster-toolbar .row{margin-left:auto}.roster-toolbar .row>*{flex:0 0 auto;font-size:12px}.studio-dialog table{white-space:normal}#vocabulary-review table td:nth-child(3){min-width:180px;max-width:300px;white-space:normal}#family-learning h2{margin-top:12px}@media(min-width:1600px){.teacher-workspace main{padding:0 40px}}@media(max-width:1250px){.analytics-grid{grid-template-columns:1fr 1fr}.analytics-grid .chart-primary{grid-column:1/-1}.metrics.four{grid-template-columns:repeat(2,1fr)}}@media(max-width:900px){.teacher-workspace{grid-template-columns:1fr}.teacher-workspace aside{max-height:none;overflow:visible}.studio-menu-toggle{display:inline-flex}.teacher-workspace aside .nav-section{display:none}.teacher-workspace aside.expanded .nav-section{display:block}.teacher-workspace aside .nav-section nav{display:flex;flex-direction:row;flex-wrap:wrap}.teacher-workspace aside .nav-section h3{margin-left:0}.teacher-workspace aside .back{display:block}.teacher-workspace aside>hr,.teacher-workspace aside>label,.teacher-workspace aside>select,.teacher-workspace aside>nav{display:none}.teacher-workspace aside.expanded>hr,.teacher-workspace aside.expanded>label,.teacher-workspace aside.expanded>select,.teacher-workspace aside.expanded>nav{display:flex}.teacher-workspace aside.expanded>select{display:block}.teacher-workspace aside h2{display:block;margin-left:0}.teacher-workspace aside>p{margin:5px 0 12px}.filter-card{align-items:stretch}.filter-card>label{flex-basis:100%;margin:0}.filter-card>select{width:100%}.analytics-grid{grid-template-columns:1fr}.analytics-grid .chart-primary{grid-column:auto}.word-options{grid-template-columns:1fr}.studio-dialog{padding:20px}.roster-toolbar input{width:100%}.roster-toolbar .row{margin-left:0}.metrics,.metrics.four{grid-template-columns:repeat(2,minmax(0,1fr))}.metric{padding:15px}.metric strong{font-size:23px}}@media print{header,footer,#teacher-sidebar,.filter-card,button,#notice,.tabs{display:none!important}.teacher-workspace{display:block}.teacher-workspace main{margin:0;padding:0}.card{box-shadow:none;break-inside:avoid}.analytics-grid{display:block}.metrics{grid-template-columns:repeat(4,1fr)}body{background:white}}
.comparison-legend{display:flex;gap:20px;font-size:11px;margin-bottom:20px}.comparison-legend span{color:#94b1e3}.comparison-legend b{color:#3476eb}.comparison-bars{display:grid;gap:16px;max-height:410px;overflow:auto}.comparison-bars>div>strong{font-size:12px}.comparison-bars p{display:flex;align-items:center;gap:8px;margin:3px 0}.comparison-bars small{font-size:10px;width:22px}.comparison-bars i{flex:1;background:#f0f4fb;border-radius:5px;height:8px}.comparison-bars b{display:block;height:8px;border-radius:5px;background:#3476eb}.comparison-bars b.previous{background:#b8cff5}.comparison-bars p span{width:32px;font-size:11px;text-align:right}.source-value{font-size:12px;color:#64748b;background:#f4f7fc;border-radius:8px;padding:10px}.question-editor{padding:20px;border:1px solid #e4eaf4;border-radius:12px;margin:14px 0}.question-editor h3{color:#3268eb}
body[data-page=teacher]>header{height:72px}.teacher-workspace main{margin-top:24px}.teacher-workspace main h1{font-size:28px;margin:6px 0 8px}.teacher-workspace main .lead{margin-top:0;margin-bottom:20px;font-size:14px}.studio-breadcrumb{margin-bottom:16px}.teacher-workspace .filter-card{padding:18px;margin-bottom:14px}.teacher-workspace main>.section-head{margin-bottom:14px}.teacher-workspace main>.section-head p{font-size:12px;margin:0}.teacher-workspace .metrics{gap:14px;margin-bottom:18px}.teacher-workspace .metric{padding:16px;gap:7px}.teacher-workspace .metric strong{font-size:26px}.teacher-workspace aside>.back{display:block;margin-bottom:8px}.teacher-workspace aside .nav-section{margin-top:18px}.teacher-workspace aside nav a{padding:8px 12px}.teacher-workspace .card h2{margin-bottom:14px}.teacher-workspace .analytics-grid td,.teacher-workspace .analytics-grid th{padding:10px 8px;font-size:12px}

/* Keep all five vocabulary fields readable; narrow screens scroll the table. */
.vocabulary-review-table table{min-width:1120px;table-layout:fixed}.vocabulary-review-table th:nth-child(1){width:120px}.vocabulary-review-table th:nth-child(2){width:140px}.vocabulary-review-table th:nth-child(3),.vocabulary-review-table th:nth-child(4),.vocabulary-review-table th:nth-child(5){width:210px}.vocabulary-review-table th:nth-child(6){width:100px}.vocabulary-review-table th:nth-child(7){width:180px}.vocabulary-review-table td{white-space:normal;overflow-wrap:anywhere;vertical-align:top}.vocabulary-review-table td:last-child button{margin:0 4px 6px 0}
