@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Noto+Sans+JP:wght@400;500;600;700&family=Noto+Sans+KR:wght@400;500;600;700;800;900&display=swap');
:root{--bg:#f5f7f6;--dark:#10272d;--dark2:#0c1f24;--text:#182d32;--muted:#809095;--line:#e4e9e7;--lime:#d9f86c;--teal:#2d756c;--blue:#4d66e9;--white:#fff;--shadow:0 10px 35px rgba(9,35,40,.045);font-family:'DM Sans','Noto Sans KR',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-size:14px;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit}.hidden{display:none!important}.app{min-height:100vh;display:flex}.sidebar{position:fixed;left:0;top:0;bottom:0;width:256px;padding:31px 17px 18px;background:var(--dark2);color:#aec0c4;display:flex;flex-direction:column;z-index:9;overflow-y:auto}.brand{padding:1px 13px 20px;cursor:pointer}.logo{font-family:'DM Sans',sans-serif;font-weight:800;letter-spacing:-2px;font-size:31px;color:white;line-height:1}.logo span{color:var(--lime)}.logo i{font-style:normal;color:#91cabe}.brand-sub{font-size:10px;color:#8fa4a8;margin-top:11px;letter-spacing:.2px}.sidebar-divider{height:1px;background:#254047;margin:1px 12px 25px}.nav-section{font:800 10px 'DM Sans';letter-spacing:2px;color:#678088;padding:0 17px 12px}.nav-section.second{margin-top:28px}.nav-link{border:0;background:transparent;color:#9eb3b8;width:100%;display:flex;align-items:center;text-align:left;gap:14px;padding:12px 13px;border-radius:11px;margin:2px 0;font-weight:600;transition:.16s}.nav-link:hover{background:#17343b;color:white}.nav-link.active{background:#284148;color:#f6fffb}.nav-ico{font-family:Arial,sans-serif;font-size:20px;font-weight:400;display:inline-flex;width:22px;justify-content:center;color:#a4c0bd}.active .nav-ico{color:var(--lime)}.nav-badge{margin-left:auto;background:var(--lime);color:#19303a;font:900 9px 'DM Sans';border-radius:5px;padding:4px 6px}.nav-count{margin-left:auto;color:#9aaeb2;font-size:11px}.sidebar-bottom{margin-top:auto;padding:32px 8px 0}.sidebar-card{background:#19343b;padding:18px 17px;border:1px solid #2d4a4c;border-radius:13px;position:relative;overflow:hidden}.sidebar-sparkle{color:var(--lime);position:absolute;right:13px;top:8px;font-size:27px}.side-mini{font:800 9px 'DM Sans';color:var(--lime);letter-spacing:1.7px;margin-bottom:15px}.sidebar-card strong{display:block;font-size:13px;line-height:1.7;color:white}.sidebar-card small{display:block;margin-top:12px;font-size:10px;color:#92adb0}.sidebar-credit{font-size:9px;color:#5c7c81;text-align:center;padding-top:15px}.main-wrap{margin-left:256px;width:calc(100% - 256px);min-height:100vh;display:flex;flex-direction:column}.topbar{height:78px;flex-shrink:0;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 49px}.crumb{font:800 11px 'DM Sans',sans-serif;letter-spacing:1.05px;color:#a3b1b2}.crumb span{padding:0 12px;color:#d0d7d6}.crumb b{font-family:'Noto Sans KR';letter-spacing:0;color:#4d6567}.top-right{display:flex;align-items:center;gap:21px}.demo-tag{background:#eef8ef;color:#47725b;padding:8px 11px;font-size:11px;border-radius:99px;font-weight:800;display:flex;gap:6px;align-items:center}.pulse{width:6px;height:6px;border-radius:50%;background:#64b78c}.user-avatar{width:35px;height:35px;border-radius:11px;background:#e5eeea;display:grid;place-items:center;font-weight:900;color:#244745}.mobile-menu{display:none;border:0;background:none;font-size:21px;color:#203b40}main{width:100%;max-width:1480px;padding:40px 50px 32px;margin:0 auto;flex:1}.footer{max-width:1480px;width:100%;padding:16px 50px 27px;margin:0 auto;display:flex;justify-content:space-between;gap:10px;font-size:10px;color:#a8b3b3}.footer span{color:#abb4b3}.eyebrow{font-size:10px;font-weight:900;letter-spacing:2.2px;color:#5c857d}.page-title{font-size:31px;line-height:1.32;letter-spacing:-1.5px;margin:8px 0 9px;font-weight:900}.page-sub{color:#849395;font-size:13px;margin:0 0 27px;line-height:1.7}.intro-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:26px}.intro-head .page-sub{margin-bottom:0}.date-note{font-size:11px;color:#9da9a8;white-space:nowrap}.hero{background:radial-gradient(circle at 91% 18%,#315d5d 0%,transparent 34%),linear-gradient(110deg,#123239,#1d4545);border-radius:20px;min-height:242px;color:white;position:relative;overflow:hidden;display:flex;align-items:center;padding:38px 44px;box-shadow:0 16px 35px rgba(18,54,60,.12)}.hero:before{content:'';position:absolute;right:-100px;top:-180px;width:510px;height:510px;border:1px solid rgba(230,255,236,.1);border-radius:50%;box-shadow:0 0 0 56px rgba(230,255,236,.035),0 0 0 116px rgba(230,255,236,.025)}.hero:after{content:'';position:absolute;right:60px;bottom:-150px;width:260px;height:260px;border:1px solid rgba(221,245,170,.15);border-radius:50%}.hero-copy{z-index:2;max-width:65%}.hero-kicker{color:var(--lime);font:800 11px 'DM Sans';letter-spacing:2px}.hero h2{font-size:31px;line-height:1.5;letter-spacing:-1.3px;margin:12px 0 8px;font-weight:900}.hero p{color:#b7ced0;margin:0 0 24px;font-size:12px;line-height:1.8}.hero-stat{position:absolute;right:72px;top:54px;z-index:2;text-align:center}.hero-ring{border:8px solid rgba(198,235,221,.16);border-top:8px solid var(--lime);border-right:8px solid var(--lime);width:128px;height:128px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(-18deg)}.hero-ring>*{transform:rotate(18deg)}.hero-ring b{font:800 35px 'DM Sans'}.hero-ring small{font-size:10px;color:#bcd3d1}.hero-stat p{font-size:11px;color:#d0dfd9;margin-top:9px}.btn{border:0;border-radius:10px;padding:12px 18px;background:var(--dark);color:#fff;font-weight:800;font-size:12px;display:inline-flex;align-items:center;justify-content:center;gap:9px;transition:.2s;white-space:nowrap}.btn:hover{transform:translateY(-1px);filter:brightness(1.04)}.btn-lime{background:var(--lime);color:#1d3437}.btn-outline{background:white;border:1px solid var(--line);color:#314a4f}.btn-ghost{background:transparent;border:1px solid #4b6b6a;color:white}.btn.small{padding:10px 14px;font-size:11px}.btn:disabled{opacity:.46;cursor:not-allowed;transform:none}.section-head{display:flex;align-items:center;justify-content:space-between;margin:32px 0 15px}.section-head h3{font-size:17px;letter-spacing:-.5px;margin:0;font-weight:900}.section-head small{color:#93a2a1}.text-button{border:0;background:none;font-size:11px;font-weight:800;color:#637e7d}.overview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;margin-top:19px}.white-card{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}.metric{padding:24px 25px}.metric-top{display:flex;justify-content:space-between;align-items:center;color:#819195;font-size:12px;font-weight:700}.metric-icon{width:35px;height:35px;border-radius:12px;background:#f0f5f1;color:#2c6c61;display:grid;place-items:center;font-size:18px}.metric-value{font-family:'DM Sans';font-size:31px;letter-spacing:-1.2px;color:#142e33;font-weight:800;margin-top:12px}.metric-value span{font:600 13px 'Noto Sans KR';color:#849394;letter-spacing:0;margin-left:4px}.metric-note{margin-top:7px;color:#9aa7a5;font-size:11px}.lower-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(270px,1fr);gap:18px}.subject-card{padding:25px}.subject-card h4,.goal-card h4{margin:0;font-size:14px;letter-spacing:-.2px}.subject-line{display:grid;grid-template-columns:70px 1fr 42px;gap:13px;align-items:center;margin-top:20px;font-size:12px}.subject-line .label{font-weight:800}.track{height:8px;background:#edf2f0;overflow:hidden;border-radius:99px}.fill{height:100%;border-radius:99px;transition:width .3s}.subject-line b{font-size:12px;text-align:right}.goal-card{padding:25px;background:#eef3ec;border-color:#e8ede6}.goal-big{font-family:'DM Sans';font-weight:800;font-size:30px;margin:14px 0 6px}.goal-big span{font-size:13px;color:#84958c}.goal-caption{font-size:11px;color:#74857c;line-height:1.7}.goal-items{border-top:1px solid #dce5dc;margin-top:20px;padding-top:13px}.goal-item{display:flex;align-items:center;gap:10px;margin:11px 0;font-size:11px;color:#47625b;font-weight:700}.goal-check{width:19px;height:19px;border-radius:50%;background:#dfe9db;display:grid;place-items:center;color:#5f8c69}.goal-check.done{background:#315d54;color:white}.panel-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.action-card{padding:23px;display:flex;gap:17px;align-items:center;cursor:pointer;transition:transform .15s,box-shadow .15s}.action-card:hover{transform:translateY(-2px);box-shadow:0 16px 30px rgba(16,38,44,.08)}.action-icon{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;font-size:21px;background:#edf2fa;color:#4b70a0;flex-shrink:0}.action-icon.alt{background:#f3f5e4;color:#6a802b}.action-card strong{display:block;font-size:13px;margin-bottom:6px}.action-card p{margin:0;font-size:11px;color:#97a4a4}.action-arrow{margin-left:auto;font-size:20px;color:#afbbbb}.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:20px}.subject-pills{display:flex;gap:7px;flex-wrap:wrap}.pill{border:1px solid #e0e7e4;padding:9px 14px;background:white;border-radius:99px;color:#718382;font-weight:800;font-size:12px}.pill.active{background:var(--dark);border-color:var(--dark);color:white}.toolbar .right{margin-left:auto}.select{background:white;border:1px solid var(--line);border-radius:9px;padding:9px 13px;color:#5a6e6d;font-weight:700;font-size:12px}.quiz-layout{display:grid;grid-template-columns:minmax(0,1fr) 284px;gap:19px;align-items:start}.quiz-card{padding:36px}.quiz-top{display:flex;justify-content:space-between;gap:10px;align-items:center}.quiz-count{font:800 11px 'DM Sans';letter-spacing:.5px;color:#748885}.quiz-progress{height:5px;background:#eef1f0;border-radius:99px;overflow:hidden;margin-top:21px}.quiz-progress span{height:100%;display:block;background:#4c8c7e;transition:width .3s}.quiz-badges{display:flex;align-items:center;gap:8px;margin:28px 0 15px}.topic-badge{border-radius:6px;padding:5px 9px;color:#2c7468;background:#e8f3ee;font-size:10px;font-weight:900}.diff-badge{border-radius:6px;background:#f1f2f7;color:#7d8190;padding:5px 9px;font-size:10px;font-weight:800}.diff-badge.high{background:#fff1e5;color:#c47b3b}.jp-question{font-family:'Noto Sans JP',sans-serif;font-size:18px;line-height:1.9;font-weight:700;color:#1b3237;margin:0 0 22px;word-break:keep-all}.data-table{border-collapse:collapse;margin:5px 0 20px;font-family:'Noto Sans JP';font-size:12px;min-width:250px}.data-table th,.data-table td{border:1px solid #d8e3e0;text-align:center;padding:10px 21px}.data-table th{background:#edf5f0}.data-table td:first-child{background:#f9faf9;font-weight:700}.choices{display:grid;gap:11px}.choice{display:flex;align-items:flex-start;text-align:left;gap:14px;padding:16px 17px;border:1.5px solid #e3e9e7;border-radius:12px;background:white;width:100%;color:#32464b;transition:.15s}.choice:hover:not(:disabled){border-color:#abc0b7;background:#f9fcfa}.choice.selected{border-color:#2f796e;background:#f3faf5}.choice.correct{border-color:#29836b;background:#edf9f1}.choice.wrong{border-color:#d2776d;background:#fff4f1}.choice:disabled{cursor:default}.choice-number{border:1px solid #d4ddda;display:flex;align-items:center;justify-content:center;flex-shrink:0;width:24px;height:24px;border-radius:50%;font:800 12px 'DM Sans'}.choice.selected .choice-number,.choice.correct .choice-number{background:#2e786a;border-color:#2e786a;color:white}.choice.wrong .choice-number{background:#be605c;border-color:#be605c;color:white}.choice-text{font-family:'Noto Sans JP',sans-serif;font-size:13px;line-height:1.7;padding-top:1px}.quiz-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid #edf0ef;margin-top:29px;padding-top:23px}.quiz-actions .hint{color:#9aa6a5;font-size:11px}.explainer{background:#f4f8f5;border:1px solid #dceae1;margin-top:26px;padding:25px;border-radius:13px}.explainer.fail{background:#fff8f4;border-color:#fae5db}.explainer-title{font-weight:900;display:flex;align-items:center;gap:10px;font-size:14px;margin-bottom:9px}.explainer p{line-height:1.9;font-size:12px;color:#455b5a}.explainer .detail{border-top:1px solid #dce5dd;padding-top:14px;margin-top:15px}.explainer .detail p{margin:6px 0}.explainer .tip{background:#fff;border-radius:8px;padding:12px;font-size:11px;color:#47695f;margin:16px 0 0}.study-rail{padding:22px}.rail-title{font-size:13px;font-weight:900;margin-bottom:18px}.rail-list{display:grid;gap:11px}.rail-row{display:flex;gap:12px;align-items:center;font-size:11px;color:#788e8a}.rail-dot{width:26px;height:26px;border-radius:8px;background:#edf2f0;display:grid;place-items:center;font-weight:800;color:#486a63;flex-shrink:0}.rail-row.current{color:#203c37;font-weight:900}.rail-row.current .rail-dot{background:var(--lime);color:#20352e}.rail-suggestion{margin-top:23px;background:#eff6f2;border-radius:11px;padding:15px;color:#476b61;line-height:1.7;font-size:11px}.empty{padding:53px 25px;text-align:center;color:#8a9a9a}.empty .big{font-size:40px;color:#6b9188;margin-bottom:15px}.empty h3{color:#30464a;margin:0 0 10px}.empty p{line-height:1.9;margin:0 0 24px}.mistake-list{display:grid;gap:12px}.mistake-item{padding:21px 23px;display:flex;justify-content:space-between;gap:20px;align-items:center}.mistake-item .muted{font-size:10px;color:#879694;margin-bottom:9px}.mistake-item h4{font-size:13px;margin:0 0 5px;font-family:'Noto Sans JP'}.mistake-item p{font-size:11px;color:#98a5a4;margin:0}.analytics-chart{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;padding:26px 10px 10px;align-items:end;min-height:250px}.bar-col{text-align:center;display:flex;align-items:center;flex-direction:column;justify-content:flex-end;gap:8px}.bar-wrap{height:155px;background:#f0f4f1;border-radius:9px 9px 4px 4px;width:60%;min-width:40px;max-width:80px;display:flex;align-items:end;overflow:hidden}.bar-fill{width:100%;background:linear-gradient(#8cc2b0,#396e64);border-radius:8px 8px 0 0;transition:height .2s}.bar-col b{font:800 12px 'DM Sans'}.bar-col small{font-size:11px;color:#8ba09d}.insight{padding:24px}.insight strong{display:block;margin-bottom:12px}.insight p{color:#6a8580;font-size:12px;line-height:2}.tutor-layout{display:grid;grid-template-columns:1fr 360px;gap:18px}.chat-box{padding:25px;min-height:450px}.chat-message{max-width:90%;border-radius:14px;padding:17px 18px;font-size:12px;line-height:2;margin-bottom:14px;white-space:pre-line}.chat-message.assistant{background:#f0f5f1;color:#3b5a55}.chat-message.user{margin-left:auto;background:#254b49;color:white}.chat-bottom{border-top:1px solid var(--line);padding-top:16px;margin-top:26px;display:flex;gap:9px}.chat-bottom select{width:100%;flex:1}.concept-list{display:grid;gap:11px}.concept-item{padding:15px;border:1px solid var(--line);border-radius:11px;text-align:left;background:white;color:#425a56;font-size:12px;font-weight:700}.concept-item:hover{border-color:#6c9d8d}.price-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:27px}.price-card{padding:28px;position:relative}.price-card.featured{border:2px solid #265b54;box-shadow:0 12px 36px rgba(21,61,54,.08)}.price-label{font:900 11px 'DM Sans';letter-spacing:1.4px;color:#73958b}.price-heading{font-size:20px;font-weight:900;margin:13px 0}.price-value{font:800 30px 'DM Sans';margin:8px 0 5px}.price-value span{font-size:12px;font-family:'Noto Sans KR';color:#8e9a9b}.price-caption{color:#93a1a0;font-size:11px}.price-divider{border-top:1px solid var(--line);margin:25px 0 19px}.price-features{list-style:none;padding:0;display:grid;gap:15px;color:#5b7472;font-size:12px;min-height:155px}.price-features li::before{content:'✓';color:#3b9880;margin-right:8px;font-weight:900}.price-card .btn{width:100%;margin-top:10px}.preview-note{background:#fff8e9;border:1px solid #f1e1c4;padding:18px 20px;border-radius:12px;margin-top:26px;font-size:11px;line-height:1.9;color:#866c3b}.teacher-table{width:100%;border-collapse:collapse}.teacher-table th,.teacher-table td{padding:14px 17px;text-align:left;border-bottom:1px solid #ebf0ed;font-size:11px}.teacher-table th{font-size:10px;color:#8b9e98;background:#f7faf8;letter-spacing:.2px}.teacher-table td{color:#506763}.teacher-table td strong{color:#2c4c45}.teacher-table .jtext{font-family:'Noto Sans JP';font-size:11px;max-width:420px}.teacher-wrap{overflow:auto;border-radius:14px}.settings-card{padding:26px;max-width:720px}.field{display:grid;gap:9px;margin-bottom:21px}.field label{font-size:12px;font-weight:900}.field input{padding:12px 13px;border:1px solid var(--line);border-radius:10px;outline:0;max-width:400px}.field small{font-size:11px;color:#9aaaab}.modal-wrap{position:fixed;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;padding:18px}.modal{width:min(100%,560px);max-height:90vh;overflow:auto;background:white;border-radius:20px;box-shadow:0 30px 90px rgba(0,0,0,.23);padding:30px;position:relative}.modal h2{font-size:22px;margin:8px 0 12px}.modal p{font-size:12px;line-height:1.9;color:#829391}.modal .close{position:absolute;right:22px;top:20px;width:30px;height:30px;border:0;background:#f2f5f4;border-radius:8px;font-size:19px;color:#57736e}.scrim{position:fixed;inset:0;background:rgba(7,23,25,.55);z-index:19}.pay-row{padding:14px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;font-size:13px}.pay-row span{color:#758783}.payment-placeholder{margin:20px 0;background:#f5f8f6;border-radius:11px;padding:20px;text-align:center;color:#839591;font-size:12px;line-height:2}.toast{position:fixed;bottom:24px;right:24px;z-index:35;background:#193e3c;color:white;font-size:12px;padding:14px 20px;border-radius:11px;box-shadow:0 10px 30px rgba(0,0,0,.13)}.results-hero{border-radius:15px;padding:32px;background:#f0f6f1;text-align:center}.results-score{font:900 55px 'DM Sans';color:#2e6f61}.muted{color:#91a19e}.kicker-note{font-size:11px;color:#97aaa4}.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin:22px 0}.summary-box{background:#fff;border:1px solid var(--line);padding:20px;border-radius:12px;text-align:center}.summary-box b{font:900 24px 'DM Sans';display:block}.summary-box span{font-size:11px;color:#889895}.search-input{border-radius:9px;border:1px solid var(--line);padding:10px 13px;width:200px}.notice{padding:12px 15px;background:#edf3ee;border-radius:10px;color:#567167;font-size:11px;line-height:1.8;margin-top:20px}
@media(max-width:1150px){.sidebar{width:222px}.main-wrap{margin-left:222px;width:calc(100% - 222px)}main{padding:32px 28px}.topbar{padding:0 29px}.footer{padding:16px 28px}.hero-stat{right:32px}.tutor-layout{grid-template-columns:1fr}.price-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:850px){.sidebar{transform:translateX(-100%);transition:.2s;width:256px}.sidebar.open{transform:translateX(0)}.main-wrap{margin:0;width:100%}.mobile-menu{display:block}.topbar{height:65px;padding:0 20px}.top-left{display:flex;gap:15px;align-items:center}.intro-head{align-items:start}.hero h2{font-size:25px}.hero-stat{display:none}.hero-copy{max-width:100%}.lower-grid,.quiz-layout{grid-template-columns:1fr}.overview-grid{grid-template-columns:repeat(3,minmax(0,1fr))}main{padding:29px 22px}.footer{padding:15px 22px}.study-rail{display:none}}
@media(max-width:600px){.page-title{font-size:25px}.page-sub{font-size:12px}.intro-head{display:block}.date-note{display:none}.hero{padding:27px 25px;min-height:220px}.hero h2{font-size:22px}.hero p{font-size:11px}.overview-grid{grid-template-columns:1fr 1fr;gap:10px}.overview-grid .metric:last-child{grid-column:span 2}.metric{padding:18px}.metric-value{font-size:25px}.metric-note{font-size:10px}.panel-grid,.price-grid{grid-template-columns:1fr}.section-head{margin-top:27px}.quiz-card{padding:21px}.jp-question{font-size:16px}.choice{padding:14px}.quiz-actions{align-items:stretch;flex-wrap:wrap}.quiz-actions .hint{width:100%}.toolbar .right{margin-left:0}.subject-pills{gap:5px}.pill{padding:8px 11px;font-size:11px}.footer{display:block;line-height:2}.footer span{display:block}.summary-grid{grid-template-columns:1fr 1fr}.date-note{display:none}.topbar .crumb{font-size:9px}.metric-top{font-size:10px}}

/* EJU14 회원제 v2: 인증 및 관리자 화면 */
[hidden]{display:none!important}
.header-name{font-size:12px;color:#526466;font-weight:700;max-width:135px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.header-logout{border:1px solid #d5dfdc;border-radius:9px;background:#fff;color:#43615f;font-size:11px;white-space:nowrap;cursor:pointer;padding:8px 11px}
.auth-root{position:fixed;z-index:500;inset:0;background:linear-gradient(150deg,#11292e,#253f41);display:flex;align-items:center;justify-content:center;padding:24px;overflow:auto}
.auth-root.hidden{display:none!important}
.auth-panel{width:100%;max-width:420px;border-radius:20px;padding:36px;background:white;box-shadow:0 30px 90px #0005;color:#172b2d}
.auth-brand{font-size:38px;font-weight:900;letter-spacing:-2px;margin-bottom:11px;color:#12282b}
.auth-brand span{color:#94bd48}.auth-kicker{font-size:11px;letter-spacing:2px;font-weight:800;color:#71948d;margin-bottom:22px}
.auth-panel h2{font-size:24px;letter-spacing:-.9px;margin:0 0 8px}.auth-panel>p{font-size:13px;line-height:1.9;color:#6c7f7d;margin:0 0 22px}
.auth-panel form{display:grid;gap:15px}.auth-panel form>label{display:grid;gap:6px;font-size:12px;font-weight:700;color:#334b4e}
.auth-panel input[type=text],.auth-panel input[type=email],.auth-panel input[type=password]{box-sizing:border-box;min-height:44px;width:100%;border-radius:9px;padding:11px 12px;border:1px solid #cbd8d4;font-family:inherit;font-size:13px;outline:none}
.auth-panel input:focus{border-color:#7ba49b;box-shadow:0 0 0 3px #8cc5ac35}
.auth-panel label.auth-agreement{display:flex;align-items:flex-start;gap:9px;line-height:1.6;color:#60716e;font-size:11px;font-weight:400}
.auth-agreement input{margin-top:3px}.auth-submit{border:none;color:#132324;background:#e3f77d;padding:14px;border-radius:10px;font-weight:800;cursor:pointer;margin-top:4px;font-family:inherit}
.auth-submit:disabled{opacity:.65;cursor:wait}.auth-links{display:flex;justify-content:space-between;gap:9px;margin-top:18px}.auth-links button{border:0;background:none;color:#456f66;font-size:12px;text-decoration:underline;cursor:pointer;font-family:inherit}
.auth-alert{background:#fff2e9;color:#8c4d23;padding:13px 14px;border:1px solid #edd8bf;border-radius:8px;line-height:1.7;font-size:12px;margin:15px 0}
.auth-footnote{margin-top:22px;border-top:1px solid #e5ebea;padding-top:13px;font-size:11px;color:#7a8988}
.settings-email{padding:11px;border:1px solid #e4e9e6;border-radius:10px;font-size:13px;color:#526466;overflow-wrap:anywhere}
.admin-list{padding:26px;margin-top:22px}.admin-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;flex-wrap:wrap}.admin-head h3{margin:0;font-size:19px}.admin-head p{font-size:12px;color:#788582;line-height:1.7;margin-top:6px}.admin-actions{display:flex;gap:9px;flex-wrap:wrap}
.admin-search{border:1px solid #d6dfdd;border-radius:10px;padding:12px 14px;width:100%;max-width:390px;font-size:13px;margin:14px 0 20px;outline:none;background:#fafcfa}
.admin-table-scroll{width:100%;overflow-x:auto}.admin-table-scroll .teacher-table{min-width:600px}.member-row button{white-space:nowrap}.member-row:hover{background:#f1f8ed}.member-row[hidden]{display:none}
.student-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:24px 0}.student-summary>div{padding:15px 9px;background:#f2f7f3;border-radius:12px;display:grid;gap:5px;text-align:center}.student-summary span{font-size:11px;color:#6b7c78}.student-summary b{font-size:21px;color:#203e36}
.student-email{font-size:12px;color:#8a9995;overflow-wrap:anywhere}.modal h3{margin-top:26px;margin-bottom:12px;font-size:15px}.admin-subject-row{display:grid;grid-template-columns:70px minmax(55px,1fr) 55px 40px;gap:10px;align-items:center;padding:8px 0;font-size:12px}.admin-subject-row b{text-align:right}.admin-subject-row small{color:#9aa9a5;text-align:right}.unit-list{display:grid;gap:0;border:1px solid #e6ece9;border-radius:12px;overflow:hidden}.unit-list>div{display:flex;gap:10px;justify-content:space-between;align-items:center;flex-wrap:wrap;padding:12px;border-bottom:1px solid #e6ece9;font-size:12px}.unit-list>div:last-child{border-bottom:0}.unit-list b{color:#ba6952}.unit-list small{font-size:11px;color:#829590}
@media(max-width:700px){.auth-panel{padding:26px 21px}.auth-brand{font-size:32px}.admin-list{padding:18px}.header-name{display:none}.student-summary b{font-size:17px}}

/* V3: 외부 부트페이 연결용 버튼과 회원가입 링크 */
.bootpay-card { max-width: 720px; padding: 34px; margin: 0 auto; }
.bootpay-card .btn { display:inline-flex; align-items:center; justify-content:center; margin-top:16px; text-decoration:none; }
.bootpay-card .notice { margin-top:22px; line-height:1.85; }
.auth-footnote a { color:#2a736a; font-weight:700; text-decoration:underline; text-underline-offset:3px; }
@media(max-width:640px){ .bootpay-card { padding:22px; } .bootpay-card .btn { width:100%; } }
/* Official practice feedback / accessible focus */
.choice.chosen{border:2px solid #3f8076;background:#f0f9f3}.choice.correct-choice{border:2px solid #43816b;background:#eef8ef}.choice.wrong-choice{border:2px solid #c48373;background:#fff1ed}
.choice:disabled{cursor:default}.choice:focus-visible,.btn:focus-visible,.pill:focus-visible{outline:3px solid #83bda3;outline-offset:3px}
.explain-box{background:#f2f8f4;border:1px solid #d7e7dd;border-radius:14px;padding:21px 23px;margin:23px 0;line-height:1.8;overflow-wrap:anywhere}
.explain-box>strong{color:#295d48;font-size:16px}.explain-box h4{margin:20px 0 10px;font-size:13px}.explain-box p{font-size:12px;line-height:1.8;color:#456059;margin:9px 0}
button.white-card{border:1px solid #e3eae8;text-align:left;cursor:pointer;font:inherit}button.white-card:hover{border-color:#8daa97}
@media(max-width:670px){.quiz-layout{display:block}.quiz-layout aside{margin-top:12px}.btn{max-width:100%}.top-right{gap:8px}.top-right .demo-tag{display:none}}

/* EJU14 free 20 -> one-time paid plan */
.trial-panel {display:flex;justify-content:space-between;align-items:center;gap:22px;padding:24px 28px;margin:23px 0 12px;background:#ebf4ec;border:1px solid #d9e8d8;border-radius:22px;}
.trial-panel h3{font-size:20px;margin:7px 0 5px;color:#192b2b;}
.trial-panel p{font-size:14px;color:#526a63;margin:0 0 13px;}
.trial-kicker{letter-spacing:.12em;color:#4a8066;font-size:12px;font-weight:800;}
.trial-progress{height:9px;max-width:440px;background:#dce7dd;border-radius:20px;overflow:hidden;}
.trial-progress span{display:block;height:100%;background:#679d79;transition:width .2s;}
.trial-complete{margin:20px auto;padding:23px;background:#edf6e7;border-radius:16px;max-width:500px;}
.trial-complete p{font-size:14px;color:#476255;}
.price-layout{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.trial-price,.paid-price{padding:30px;border-radius:20px;display:flex;flex-direction:column;align-items:flex-start;gap:13px;border:1px solid #dce5e1;}
.trial-price{background:#f7faf8;}.paid-price{background:#213638;color:#fff;}.paid-price .eyebrow{color:#d9f493;}.paid-price .page-sub{color:#d3dfda;}
.trial-price h2,.paid-price h2{font-size:24px;margin:0;}.paid-price p{color:#d1dfd9;}.price-value{font-size:32px;font-weight:850;}.price-value small{font-size:13px;font-weight:500;color:#c3d5ca;}.paid-price .btn-lime{color:#203332;}.payment-caption{font-size:13px;line-height:1.6;margin:0}.paid-price .notice{color:#294033;}
@media(max-width:780px){.trial-panel{flex-direction:column;align-items:flex-start;padding:21px}.price-layout{grid-template-columns:1fr}.trial-price,.paid-price{padding:22px}.teacher-table{min-width:850px;}}

/* EJU14: integrated mock-exam and monochrome source-data display */
.exam-card{padding:30px;max-width:980px;margin-top:24px}.exam-summary{display:flex;gap:28px;flex-wrap:wrap;padding:20px 0}.exam-summary>div{background:#f3f6f4;border-radius:14px;padding:20px;min-width:190px;display:flex;flex-direction:column;gap:6px}.exam-summary strong{font-size:32px}.exam-summary span{font-size:13px;color:#667978}.exam-review-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:10px;margin:25px 0}.exam-item-btn{background:#fafafa;border:1px solid #dce2df;border-radius:10px;padding:14px;display:flex;flex-direction:column;text-align:left;gap:4px;color:#253634;cursor:pointer}.exam-item-btn.is-wrong{border-left:4px solid #666}.exam-item-btn.is-right{border-left:4px solid #b5c7b8}.exam-item-btn:hover{border-color:#384c49}.exam-item-btn small{color:#667}.exam-history{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid #e2e5e3;flex-wrap:wrap}.exam-visual{max-width:800px;border:1px solid #d2d2d2;background:#fff;color:#222;border-radius:4px;padding:15px;margin:18px 0}.exam-visual figcaption{font-size:15px;font-weight:700;margin:0 0 12px}.visual-scroll{overflow-x:auto}.visual-table{border-collapse:collapse;width:100%;font-size:14px;min-width:280px}.visual-table td,.visual-table th{border:1px solid #888;padding:6px 10px;text-align:center}.visual-table th{background:#e8e8e8}.bw-bars{display:flex;flex-direction:column;gap:10px}.bw-row{display:grid;grid-template-columns:150px 1fr 90px;align-items:center;gap:10px;font-size:14px}.bw-track{height:15px;background:#f0f0f0;border:1px solid #555}.bw-fill{height:100%;background:#666}.bw-row strong{font-weight:600}.vis-source{color:#555;font-size:11px;margin-top:10px}.bw-photo{max-width:100%;max-height:380px;filter:grayscale(1)}@media(max-width:690px){.bw-row{grid-template-columns:95px 1fr 75px}.exam-card{padding:16px}.exam-review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
