:root{--color-primary:#5b4be8;--color-primary-dark:#4438bd;--color-ink:#17162b;--color-muted:#6d6a80;--color-line:#e6e4f0;--color-bg:#f8f7fc;--color-surface:#fff;--color-accent:coral;--radius-sm:10px;--radius-md:18px;--shadow-card:0 12px 32px #332d6612;--shadow-float:0 22px 52px #332d6620}*{box-sizing:border-box}button,input,select,textarea{font:inherit}button{cursor:pointer}:root{color:var(--color-ink);background:var(--color-bg);font-family:Inter,system-ui,sans-serif}body{margin:0}button{border-radius:var(--radius-sm);background:var(--color-primary);color:#fff;border:0;padding:10px 14px}button:disabled{cursor:not-allowed;opacity:.55}button.secondary{border:1px solid var(--color-line);color:var(--color-ink);background:#fff}button.small-button{margin-right:6px;padding:6px 9px;font-size:.8rem}.center,.auth-shell{place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{border-radius:var(--radius-md);width:min(420px,100%);box-shadow:var(--shadow-card);background:#fff;gap:16px;padding:32px;display:grid}.auth-card h1,.auth-card p,.topbar p,.topbar h1{margin:0}.brand{color:var(--color-primary);font-weight:800}.error{color:#b91c1c}.admin-social-login-list{gap:9px;display:grid}.admin-social-login-button{color:#282442;background:#fff;border:1px solid #dedcea;border-radius:8px;justify-content:center;align-items:center;gap:10px;width:100%;min-height:44px;font-weight:800;display:flex}.admin-social-login-button span{background:#f0eff8;border-radius:50%;place-items:center;width:22px;height:22px;font-size:.76rem;display:inline-grid}.admin-social-login-button.google span{color:#4285f4}.admin-social-login-button.kakao{color:#191600;background:#fee500;border-color:#f0d845}.admin-social-login-button.kakao span{color:#fee500;background:#191600}.admin-social-login-button.naver{color:#fff;background:#03c75a;border-color:#08a948}.admin-social-login-button.naver span{color:#03a84e;background:#fff}.admin-login-divider{color:#7a758d;align-items:center;gap:10px;font-size:.79rem;font-weight:700;display:flex}.admin-login-divider:before,.admin-login-divider:after{content:"";background:#e6e4ef;flex:1;height:1px}.admin-login-divider span{white-space:nowrap}.social-notice{color:#087957;margin:0;font-size:.88rem;line-height:1.5}.muted{color:var(--color-muted)}.admin-shell{max-width:1500px;margin:auto;padding:28px}.topbar,.account,.tabs,.toolbar form,.split-header,.builder-card-header,.section-toolbar{align-items:center;gap:10px;display:flex}.topbar{justify-content:space-between}.topbar p{color:var(--color-primary);font-weight:800}.topbar h1{margin-top:4px;margin-bottom:24px}.account,.tabs,.toolbar form,.section-toolbar{gap:10px}.tabs{border-bottom:1px solid var(--color-line);margin-bottom:22px}.tabs button{color:var(--color-muted);background:0 0;border-radius:8px 8px 0 0}.tabs button.active{background:var(--color-primary);color:#fff}.management-layout,.user-layout{grid-template-columns:280px 1fr;gap:22px;display:grid}.course-layout{align-items:start}.panel{border-radius:var(--radius-md);box-shadow:var(--shadow-card);background:#fff;padding:20px}.panel h2{margin-top:10px}.split-header,.builder-card-header,.section-toolbar{justify-content:space-between}.editor-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.inline-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:end;gap:12px;display:grid}.builder-column{align-content:start;gap:14px;display:grid}.option-builder{margin:18px 0}.builder-card{border:1px solid var(--color-line);background:#f8fafc;border-radius:14px;padding:16px}.builder-card.active-card{border-color:var(--color-primary)}.lesson-chip-list{flex-wrap:wrap;gap:8px;display:flex}.lesson-chip{color:var(--color-ink);background:#e2e8f0}.lesson-chip.active{background:var(--color-primary);color:#fff}.list-item{text-align:left;width:100%;color:var(--color-ink);background:#eef2ff;margin:8px 0;display:grid}.list-item small,td small{color:var(--color-muted);display:block}label{gap:7px;margin-bottom:16px;font-weight:700;display:grid}input,select,textarea{border:1px solid var(--color-line);background:#fff;border-radius:7px;width:100%;padding:10px}textarea{resize:vertical;min-height:80px}.role-checks{border:0;gap:8px;margin:0 0 16px;padding:0;display:grid}.role-checks legend{margin-bottom:4px;font-weight:800}.role-checks label{align-items:center;gap:8px;margin:0;font-weight:700;display:flex}.role-checks input{width:auto}.role-checks.compact{margin:0}.mdx{min-height:320px;font-family:ui-monospace,monospace}.check{align-items:center;gap:8px;display:flex}.check input{width:auto}.message{color:#047857}.toolbar{margin-bottom:14px}.toolbar input{min-width:280px}.inline-filter{align-items:center;gap:8px;display:flex}.inline-filter select{min-width:140px}.progress-badge{color:#047857;background:#dcfce7;border-radius:999px;padding:5px 9px;font-weight:800;display:inline-flex}.notice-neutral{color:#1d4ed8;background:#eff6ff;border-radius:8px;padding:12px;line-height:1.5}.course-picker{border:1px solid var(--color-line);border-radius:8px;gap:8px;margin:0 0 16px;padding:12px;display:grid}.course-picker legend{color:var(--color-muted);padding:0 6px;font-weight:800}.result-card,.report-card{border:1px solid var(--color-line);background:#f8fafc;border-radius:8px;margin:10px 0;padding:12px}.result-card p,.report-card p{color:var(--color-muted);white-space:pre-wrap}.report-layout{gap:22px;display:grid}.download-link{background:var(--color-primary);color:#fff;border-radius:7px;padding:9px 12px;font-weight:700;text-decoration:none}.audit-panel{min-height:420px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{border-bottom:1px solid var(--color-line);text-align:left;padding:12px}td select{min-width:105px}.preview-lesson{background:#f8fafc;min-height:420px}.preview-lesson h1,.preview-lesson h2,.preview-lesson h3{margin-top:0}.preview-lesson pre{color:#e2e8f0;background:#0f172a;border-radius:12px;padding:14px;overflow-x:auto}.preview-lesson code{background:#e2e8f0;border-radius:6px;padding:1px 5px}.preview-lesson pre code{background:0 0;padding:0}.callout{background:#eff6ff;border-left:4px solid #2563eb;margin:20px 0;padding:16px}@media (width<=1100px){.editor-grid{grid-template-columns:1fr}}@media (width<=780px){.admin-shell{padding:18px}.topbar{align-items:flex-start}.account{display:grid}.management-layout,.user-layout{grid-template-columns:1fr}.toolbar input{min-width:0}}:root{background:#f5f6fc}body{background:linear-gradient(135deg,#f8f8fd,#f0f2fa)}button,input,select,textarea{transition:border-color .16s,box-shadow .16s,transform .16s}button:hover:not(:disabled){transform:translateY(-1px)}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #aba3ff}.admin-shell{grid-template-rows:auto 1fr;grid-template-columns:244px minmax(0,1fr);column-gap:34px;max-width:1600px;min-height:100vh;padding:22px 32px 42px;display:grid}.topbar{border-bottom:1px solid #e5e7f2;grid-column:2;padding:13px 2px 25px}.topbar>div:first-child:before{content:"L";color:#fff;vertical-align:middle;background:linear-gradient(135deg,#6557eb,#a85de3);border-radius:10px;place-items:center;width:30px;height:30px;margin-right:9px;font-size:.85rem;display:inline-grid}.topbar p{color:#6255e9;letter-spacing:.12em;font-size:.72rem;display:inline}.topbar h1{color:#1c1b33;letter-spacing:-.05em;margin:9px 0 0;font-size:1.55rem}.account{background:#fff;border:1px solid #e6e5f0;border-radius:999px;padding:5px 6px 5px 13px;box-shadow:0 8px 22px #302b6308}.account span{font-size:.88rem;font-weight:700}.tabs{background:#24205a;border:0;border-radius:20px;grid-area:1/1/span 2;align-content:start;gap:6px;height:max-content;margin:0;padding:83px 12px 18px;display:grid;position:sticky;top:18px;box-shadow:0 20px 45px #24205a30}.tabs:before{content:"운영 메뉴";color:#c5c0ff;letter-spacing:.12em;padding:0 10px 11px;font-size:.7rem;font-weight:800}.tabs button{color:#c6c4df;text-align:left;background:0 0;border-radius:10px;align-items:center;width:100%;min-height:40px;padding:10px 12px;font-size:.9rem;font-weight:700;display:flex}.tabs button:before{content:"•";color:#a9a2f7;margin-right:9px;font-size:1.2rem}.tabs button.active{color:#292264;background:#fff;box-shadow:0 8px 18px #14103c35}.tabs button.active:before{color:#f17654}.admin-shell>section,.admin-shell>div:not(.topbar):not(.tabs){grid-column:2}.management-layout,.user-layout{gap:25px}.panel{border:1px solid #e8e8f1;border-radius:16px;box-shadow:0 12px 28px #302b630b}.panel h2{color:#242142;letter-spacing:-.035em}.list-item{background:#f4f3ff;border:1px solid #0000;border-radius:11px}.list-item:hover{border-color:#cfc9ff}.builder-card,.result-card,.report-card{background:#fafaff;border-color:#e6e4f1}.builder-card.active-card{border-color:#7b70ee;box-shadow:0 0 0 3px #7b70ee16}.progress-badge{color:#087957;background:#ddf7ec}.notice-neutral{color:#4037aa;background:#f1f0ff;border:1px solid #d9d5ff}th{color:#625e78;letter-spacing:.03em;text-transform:uppercase;background:#f8f8fc;font-size:.78rem}tr:hover td{background:#fbfaff}input,select,textarea{border-color:#dfddea}input:focus,select:focus,textarea:focus{border-color:#7063eb;outline:0;box-shadow:0 0 0 3px #7063eb18}@media (width<=900px){.admin-shell{grid-template-columns:1fr;padding:18px}.topbar,.admin-shell>section,.admin-shell>div:not(.topbar):not(.tabs){grid-column:1}.tabs{border-radius:15px;grid-area:auto/1;gap:7px;padding:8px;display:flex;position:static;overflow-x:auto}.tabs:before{display:none}.tabs button{white-space:nowrap;flex:none;width:auto}.topbar{padding-bottom:17px}.topbar h1{margin-bottom:0}}.console-dashboard{gap:32px;padding-top:28px;display:grid}.console-welcome{color:#fff;background:linear-gradient(125deg,#26215f,#5547be 62%,#7f6ceb);border-radius:24px;justify-content:space-between;align-items:center;gap:24px;min-height:276px;padding:42px;display:flex;overflow:hidden;box-shadow:0 22px 48px #302b6330}.console-welcome p,.dashboard-heading p{color:#ffbc9c;letter-spacing:.13em;margin:0;font-size:.72rem;font-weight:800}.console-welcome h2{letter-spacing:-.07em;margin:12px 0;font-size:clamp(2rem,4vw,3.25rem);line-height:1.03}.console-welcome span{color:#e3e0ff;max-width:570px;line-height:1.65;display:block}.console-orbit{color:#fff;letter-spacing:.14em;border:30px solid #ffffff17;border-radius:50%;flex:0 0 166px;place-items:center;width:166px;height:166px;font-size:.76rem;display:grid;position:relative}.console-orbit i{color:#ffb584;font-size:2.3rem;position:absolute;bottom:8px;right:-14px}.dashboard-heading{justify-content:space-between;align-items:end;display:flex}.dashboard-heading h3{color:#211e3b;letter-spacing:-.04em;margin:5px 0 0;font-size:1.55rem}.dashboard-heading>span{color:var(--color-muted);font-size:.87rem}.dashboard-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.dashboard-action{color:#282442;text-align:left;background:#fff;border:1px solid #e7e5f0;border-radius:17px;min-height:188px;padding:23px;display:grid;box-shadow:0 10px 24px #302b630b}.dashboard-action:hover{border-color:#b9b0ff;box-shadow:0 17px 32px #302b6318}.dashboard-action small{color:#7568e8;letter-spacing:.1em;font-size:.7rem;font-weight:800}.dashboard-action strong{letter-spacing:-.035em;align-self:end;font-size:1.16rem}.dashboard-action span{color:#706c82;line-height:1.5}.dashboard-action b{color:#4f42bd;margin-top:5px;font-size:.84rem}@media (width<=720px){.console-welcome{min-height:0;padding:28px}.console-orbit{display:none}.dashboard-actions{grid-template-columns:1fr}.dashboard-heading{flex-direction:column;align-items:start;gap:5px}}.tabs a{color:#c6c4df;text-align:left;border-radius:10px;align-items:center;width:100%;min-height:40px;padding:10px 12px;font-size:.9rem;font-weight:700;text-decoration:none;display:flex}.tabs a:before{content:"•";color:#a9a2f7;margin-right:9px;font-size:1.2rem}.tabs a.active{color:#292264;background:#fff;box-shadow:0 8px 18px #14103c35}.tabs a.active:before{color:#f17654}.operations-courses{gap:20px;padding-top:28px;display:grid}.operations-heading{color:#fff;background:linear-gradient(125deg,#26215f,#5547be);border-radius:20px;justify-content:space-between;align-items:end;gap:22px;padding:32px;display:flex}.operations-heading p{color:#ffbc9c;letter-spacing:.12em;margin:0;font-size:.72rem;font-weight:800}.operations-heading h2{letter-spacing:-.06em;margin:10px 0;font-size:clamp(1.8rem,3vw,2.6rem)}.operations-heading span{color:#e5e2ff;max-width:680px;line-height:1.6;display:block}.operations-heading button{flex:none}.status-ok,.status-danger{border-radius:999px;padding:5px 9px;font-size:.78rem;font-weight:800;display:inline-flex}.status-ok{color:#087957;background:#ddf7ec}.status-danger{color:#a63737;background:#ffebe9}.modal-backdrop{z-index:20;background:#17142c8a;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.operation-modal{background:#fff;border-radius:18px;gap:16px;width:min(520px,100%);padding:28px;display:grid;box-shadow:0 25px 60px #17142c66}.operation-modal p{color:#6255e9;letter-spacing:.12em;margin:0;font-size:.72rem;font-weight:800}.operation-modal h3{color:#242142;letter-spacing:-.04em;margin:-5px 0 0;font-size:1.55rem}.operation-modal>span{color:#69657b;line-height:1.6}.operation-modal>div{justify-content:flex-end;gap:9px;display:flex}.danger-button{background:#c13e42}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.issue-count{color:#625e78;background:#f7f6fc;border:1px solid #e2dff0;border-radius:999px;min-width:47px;padding:5px 9px;font-size:.78rem;font-weight:800}.issue-count.has-issues{color:#a94327;background:#fff0e9;border-color:#f2b49c}.issue-count:hover{border-color:#7c70eb}.course-issues{gap:20px;padding-top:28px;display:grid}.issue-filter-bar{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.issue-filter-bar label{margin:0}.issue-status{border-radius:999px;padding:5px 9px;font-size:.76rem;font-weight:800;display:inline-flex}.issue-status-received{color:#a94327;background:#fff0e9}.issue-status-reviewing{color:#5143bd;background:#edeaff}.issue-status-resolved{color:#087957;background:#ddf7ec}.issue-status-dismissed{color:#5f6371;background:#eef0f5}.issue-empty{color:#706c82;text-align:center;margin:0;padding:24px}.issue-detail-grid{grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:20px;display:grid}.issue-detail-card,.issue-resolution-form{align-content:start;gap:15px;display:grid}.issue-detail-card h3,.issue-resolution-form h3{color:#282442;letter-spacing:-.04em;margin:0;font-size:1.4rem}.issue-detail-card h4{color:#514b68;margin:8px 0 -3px;font-size:.9rem}.issue-detail-card dl{grid-template-columns:repeat(3,1fr);gap:10px;margin:0;display:grid}.issue-detail-card dl div{background:#f8f7fd;border-radius:10px;padding:11px}.issue-detail-card dt{color:#777289;font-size:.72rem;font-weight:800}.issue-detail-card dd{color:#332e4b;margin:5px 0 0;font-size:.84rem;line-height:1.4}.issue-description{color:#423d56;white-space:pre-wrap;background:#fcfbff;border:1px solid #e8e5f1;border-radius:12px;margin:0;padding:15px;line-height:1.65}.issue-resolution-form .eyebrow{color:#6759df;letter-spacing:.1em;margin:0;font-size:.72rem;font-weight:800}@media (width<=900px){.tabs a{white-space:nowrap;flex:none;width:auto}.operations-heading{flex-direction:column;align-items:start}}@media (width<=760px){.issue-filter-bar,.issue-detail-grid,.issue-detail-card dl{grid-template-columns:1fr}}.category-manager{background:#fafaff;border:1px solid #e6e4f1;border-radius:14px;margin:18px 0;padding:18px}.category-manager .section-toolbar{align-items:start}.category-manager h3{color:#242142;margin:0 0 4px}.category-manager .muted{margin:0;font-size:.86rem}.category-manager-grid{grid-template-columns:minmax(200px,.7fr) minmax(0,1.3fr);gap:16px;display:grid}.category-list{align-content:start;gap:7px;max-height:280px;padding-right:3px;display:grid;overflow-y:auto}.category-list-item{color:#302c4b;text-align:left;background:#fff;border:1px solid #e6e4f1;border-radius:10px;justify-content:space-between;align-items:center;gap:9px;display:flex}.category-list-item:hover,.category-list-item.active{background:#f3f1ff;border-color:#8f85f4}.category-list-item span{gap:2px;min-width:0;display:grid}.category-list-item strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.category-list-item small{color:#807b93;font-size:.73rem}.category-list-item em{color:#087957;background:#e6f8ee;border-radius:99px;flex:none;padding:3px 6px;font-size:.68rem;font-style:normal;font-weight:800}.category-editor{background:#fff;border:1px solid #dedaf2;border-radius:12px;padding:16px}.category-editor label{margin-bottom:12px}.category-editor-actions{justify-content:flex-end;gap:8px;display:flex}.category-editor-empty{color:#777289;text-align:center;border:1px dashed #d9d5eb;border-radius:12px;place-items:center;min-height:160px;display:grid}.category-editor-empty p{margin:16px}@media (width<=780px){.category-manager-grid{grid-template-columns:1fr}.category-list{max-height:200px}}.category-deletion-modal{max-height:min(760px,100vh - 40px);overflow-y:auto}.deletion-impact-summary{color:#733522;background:#fff5f1;border:1px solid #f2c7b7;border-radius:12px;justify-content:space-between;align-items:baseline;gap:12px;padding:12px 14px;display:flex}.deletion-impact-summary span{color:#8a614f;font-size:.84rem}.deletion-impact-list{border:1px solid #e7e3ee;border-radius:12px;display:grid;overflow:hidden}.deletion-impact-list>div{border-bottom:1px solid #eeeaf4;justify-content:space-between;align-items:center;gap:14px;padding:11px 13px;display:flex}.deletion-impact-list>div:last-child{border-bottom:0}.deletion-impact-list span{gap:3px;min-width:0;display:grid}.deletion-impact-list strong{text-overflow:ellipsis;white-space:nowrap;color:#332e4b;overflow:hidden}.deletion-impact-list small{color:#777289}.deletion-impact-list em{color:#a94327;background:#fff0e9;border-radius:999px;flex:none;padding:4px 7px;font-size:.72rem;font-style:normal;font-weight:800}.deletion-pagination{color:#706c82;justify-content:flex-end;align-items:center;gap:9px;font-size:.84rem;display:flex}.category-deletion-modal label{margin:0}.category-deletion-modal>small{margin-top:-11px}.category-deletion-modal .notice-neutral{margin:0}@media (width<=520px){.deletion-impact-summary,.deletion-impact-list>div{flex-direction:column;align-items:start}.deletion-pagination{justify-content:space-between}.category-editor-actions{flex-wrap:wrap}}
