:root{--ink:#16211d;--muted:#66736d;--paper:#f5f2ea;--surface:#fffdf8;--line:#dcd7cb;--forest:#1f5948;--forest-dark:#143f33;--gold:#c89443;--gold-soft:#f3e4c7;--success:#2f745b;--shadow:0 18px 50px #16211d14}*{box-sizing:border-box}html{background:var(--paper);scroll-behavior:smooth}body{color:var(--ink);background:radial-gradient(circle at 10% 0%, #c894431c, transparent 30rem), var(--paper);margin:0;font-family:Arial,Apple SD Gothic Neo,Noto Sans KR,sans-serif;line-height:1.55}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}.site-header{justify-content:space-between;align-items:center;max-width:1180px;height:76px;margin:0 auto;padding:0 28px;display:flex}.brand{letter-spacing:-.02em;align-items:center;gap:12px;font-weight:800;display:flex}.brand-mark{color:#fff;background:var(--forest);border-radius:12px;place-items:center;width:38px;height:38px;font-family:Georgia,serif;font-size:22px;display:grid}.nav{color:var(--muted);align-items:center;gap:24px;font-size:14px;display:flex}.button{background:var(--forest);color:#fff;cursor:pointer;border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;min-height:44px;padding:0 20px;font-weight:700;display:inline-flex}.button:hover{background:var(--forest-dark)}.button:disabled{opacity:.55;cursor:not-allowed}.button.secondary{color:var(--forest);border-color:var(--forest);background:0 0}.button.small{min-height:38px;padding:0 16px;font-size:14px}.hero{grid-template-columns:1.15fr .85fr;align-items:center;gap:56px;max-width:1180px;min-height:630px;margin:0 auto;padding:64px 28px 92px;display:grid}.eyebrow{color:var(--forest);letter-spacing:.14em;text-transform:uppercase;font-size:13px;font-weight:800}.hero h1{letter-spacing:-.045em;max-width:720px;margin:18px 0 24px;font-family:Georgia,Nanum Myeongjo,serif;font-size:clamp(44px,6vw,72px);line-height:1.08}.hero-copy{max-width:610px;color:var(--muted);font-size:19px}.hero-actions{gap:12px;margin-top:34px;display:flex}.hero-note{color:var(--muted);margin-top:18px;font-size:13px}.hero-card{min-height:470px;box-shadow:var(--shadow);color:#fff;background:linear-gradient(145deg,#173e34,#2e715d);border-radius:32px;position:relative;overflow:hidden}.hero-card:before{content:"";background:radial-gradient(circle at 75% 20%,#ffffff38,#0000 14rem);position:absolute;inset:0}.verse{font-family:Georgia,Nanum Myeongjo,serif;font-size:29px;line-height:1.45;position:absolute;top:52px;left:42px;right:42px}.verse-ref{color:#d9c18d;letter-spacing:.12em;margin-top:18px;font-family:Arial,sans-serif;font-size:13px;font-weight:700;display:block}.course-peek{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff1a;border:1px solid #ffffff29;border-radius:20px;padding:22px;position:absolute;bottom:24px;left:24px;right:24px}.course-peek small{color:#ffffffb8}.course-peek strong{margin:4px 0 15px;font-size:18px;display:block}.progress-track{background:#ffffff2e;border-radius:99px;height:7px;overflow:hidden}.progress-track span{border-radius:inherit;background:#e4bf73;width:68%;height:100%;display:block}.feature-section{max-width:1180px;margin:0 auto;padding:40px 28px 110px}.section-heading{max-width:680px;margin-bottom:38px}.section-heading h2{letter-spacing:-.03em;margin:10px 0 12px;font-family:Georgia,Nanum Myeongjo,serif;font-size:38px}.section-heading p{color:var(--muted)}.feature-grid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.feature-card{border:1px solid var(--line);background:#fffdf8b8;border-radius:20px;padding:26px}.feature-number{color:var(--gold);font-family:Georgia,serif;font-size:26px}.feature-card h3{margin:22px 0 8px;font-size:18px}.feature-card p{color:var(--muted);margin:0;font-size:14px}.site-footer{border-top:1px solid var(--line);max-width:1180px;color:var(--muted);justify-content:space-between;align-items:center;gap:20px;margin:0 auto;padding:26px 28px 38px;font-size:13px;display:flex}.site-footer nav{flex-wrap:wrap;gap:18px;display:flex}.site-footer a:hover,.legal-page a{color:var(--forest);text-decoration:underline}.legal-page{border:1px solid var(--line);background:var(--surface);max-width:820px;box-shadow:var(--shadow);border-radius:22px;margin:42px auto 90px;padding:42px}.legal-page h1{letter-spacing:-.035em;margin:10px 0 4px;font-family:Georgia,Nanum Myeongjo,serif;font-size:clamp(34px,5vw,48px)}.legal-page h2{margin:32px 0 8px;font-size:19px}.legal-page p{color:var(--muted)}.legal-page .legal-updated{margin-top:0;font-size:13px}.portal-shell{background:#f3f1eb;grid-template-columns:244px 1fr;min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--line);background:var(--surface);padding:26px 20px}.sidebar .brand{margin:0 8px 38px}.side-label{color:#8d9691;letter-spacing:.12em;margin:25px 12px 8px;font-size:11px;font-weight:800}.side-link{color:var(--muted);border-radius:10px;align-items:center;gap:10px;padding:11px 12px;font-size:14px;font-weight:650;display:flex}.side-link:hover,.side-link.active{color:var(--forest);background:#e8efe9}.portal-main{padding:34px clamp(24px,4vw,58px) 70px}.topbar{justify-content:space-between;align-items:center;margin-bottom:42px;display:flex}.profile{align-items:center;gap:11px;font-size:13px;display:flex}.text-button{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:4px;font-size:12px}.avatar{color:#fff;background:var(--forest);border-radius:50%;place-items:center;width:39px;height:39px;font-weight:800;display:grid}.page-title h1{letter-spacing:-.03em;margin:4px 0 7px;font-family:Georgia,Nanum Myeongjo,serif;font-size:36px}.page-title p{color:var(--muted);margin:0}.stats{grid-template-columns:repeat(3,1fr);gap:16px;margin:28px 0;display:grid}.stat-card,.panel{border:1px solid var(--line);background:var(--surface);border-radius:18px;box-shadow:0 7px 25px #16211d09}.stat-card{padding:21px}.stat-card span{color:var(--muted);font-size:13px}.stat-card strong{margin-top:8px;font-family:Georgia,serif;font-size:30px;display:block}.dashboard-grid{grid-template-columns:minmax(0,1.5fr) minmax(270px,.7fr);gap:18px;display:grid}.panel{padding:24px}.panel-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.inline-actions{flex-wrap:wrap;gap:9px;display:flex}.panel h2{margin:0;font-size:18px}.course-list{gap:12px;display:grid}.course-row{border:1px solid #e5e1d7;border-radius:14px;grid-template-columns:58px 1fr auto;align-items:center;gap:15px;padding:14px;display:grid}.course-icon{width:58px;height:58px;color:var(--forest);background:var(--gold-soft);border-radius:14px;place-items:center;font-family:Georgia,serif;font-size:22px;display:grid}.course-row h3{margin:0 0 3px;font-size:15px}.course-row p{color:var(--muted);margin:0;font-size:12px}.course-progress{width:92px}.course-progress strong{color:var(--forest);text-align:right;margin-bottom:6px;font-size:12px;display:block}.course-progress .progress-track{background:#e4e1d9}.course-progress .progress-track span{background:var(--forest)}.schedule-list{gap:17px;display:grid}.schedule-item{grid-template-columns:44px 1fr;gap:12px;display:grid}.date-box{color:var(--forest);text-align:center;background:#e8efe9;border-radius:10px;padding:6px 3px;font-size:10px;font-weight:800}.date-box strong{font-size:18px;line-height:1.1;display:block}.schedule-item h3{margin:1px 0 3px;font-size:14px}.schedule-item p{color:var(--muted);margin:0;font-size:12px}.role-switch{flex-wrap:wrap;gap:8px;margin-top:28px;display:flex}.role-switch a{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:8px;padding:7px 11px;font-size:12px}.document-grid{grid-template-columns:minmax(0,1.5fr) minmax(260px,.65fr);gap:18px;margin-top:30px;display:grid}.document-feature{grid-template-columns:68px 1fr auto;align-items:center;gap:20px;display:grid}.document-feature h2{margin:3px 0 5px;font-family:Georgia,Nanum Myeongjo,serif;font-size:24px}.document-feature p,.certificate-row p{color:var(--muted);margin:0;font-size:12px}.document-icon{width:64px;height:64px;color:var(--forest);background:var(--gold-soft);border-radius:16px;place-items:center;font-family:Georgia,serif;font-size:25px;font-weight:800;display:grid}.document-summary{grid-template-columns:1fr auto;align-items:center;gap:10px 18px;display:grid}.document-summary span{color:var(--muted);font-size:12px}.document-summary strong{text-align:right;font-size:13px}.certificate-panel{margin-top:18px}.certificate-panel .panel-header h2{margin-top:3px}.certificate-list{display:grid}.certificate-row{border-top:1px solid var(--line);grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:16px;padding:15px 0;display:grid}.certificate-row strong{margin-bottom:3px;font-size:14px;display:block}.payment-notice{max-width:none}.tuition-list{gap:16px;margin-top:28px;display:grid}.tuition-card{grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:18px;display:grid}.tuition-card h2{margin:4px 0;font-size:18px}.tuition-card p{color:var(--muted);margin:0;font-size:12px}.tuition-amount{text-align:right;min-width:190px}.tuition-amount>span,.tuition-amount>strong{display:block}.tuition-amount>span{color:var(--muted);font-size:11px}.tuition-amount>strong{margin:2px 0 10px;font-family:Georgia,serif;font-size:24px}.checkout-action{justify-items:end;gap:5px;display:grid}.checkout-action small{color:#923c34;max-width:260px;font-size:10px}.payment-history-panel{margin-top:18px;padding:0;overflow:hidden}.payment-history-panel .panel-header{padding:20px 22px}.payment-history-panel .panel-header h2{margin-top:3px}.payment-status{color:#76551e;background:var(--gold-soft);border-radius:999px;padding:4px 8px;font-size:10px;font-weight:900;display:inline-flex}.payment-status.paid,.payment-status.waived{color:var(--forest);background:#e2f0e9}.payment-status.failed,.payment-status.refunded{color:#923c34;background:#f6e5e2}.payment-failure{color:#923c34;margin-top:4px;display:block}.admin-actions{justify-content:flex-end;margin-top:-38px;margin-bottom:28px;display:flex}.organization-form{max-width:940px}.organization-form .form-grid.two{grid-template-columns:1fr 1fr}.course-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:30px;display:grid}.large-course-card{border:1px solid var(--line);background:var(--surface);border-radius:20px;transition:transform .2s,box-shadow .2s;overflow:hidden;box-shadow:0 8px 25px #16211d09}.large-course-card:hover{box-shadow:var(--shadow);transform:translateY(-3px)}.course-cover{color:#fff;background:linear-gradient(145deg,#1b5141,#387965);align-items:flex-end;min-height:150px;padding:20px;display:flex}.course-cover span{font-family:Georgia,serif;font-size:28px}.cover-2{background:linear-gradient(145deg,#6a4d2b,#b38246)}.cover-3{background:linear-gradient(145deg,#343e61,#68759f)}.course-card-body{padding:20px}.course-card-body small{color:var(--muted)}.course-card-body h2{margin:5px 0;font-family:Georgia,serif;font-size:23px}.course-card-body p{min-height:42px;color:var(--muted);margin:0;font-size:13px}.course-card-progress{color:var(--forest);grid-template-columns:1fr auto;align-items:center;gap:12px;margin-top:20px;font-size:12px;display:grid}.course-heading{color:#fff;background:linear-gradient(135deg, var(--forest-dark), #34705c);border-radius:22px;justify-content:space-between;align-items:center;gap:24px;padding:28px 30px;display:flex}.course-heading h1{margin:8px 0;font-family:Georgia,serif;font-size:38px}.course-heading p{color:#ffffffbf;margin:0}.course-heading .eyebrow{color:#e4bf73}.course-circle{border:7px solid #e4bf73e6;border-radius:50%;flex:0 0 92px;place-items:center;width:92px;height:92px;display:grid}.course-circle strong{font-size:20px;line-height:1}.course-circle span{color:#ffffffb3;font-size:10px}.module-list{gap:16px;margin-top:22px;display:grid}.module-card{border:1px solid var(--line);background:var(--surface);border-radius:17px;overflow:hidden}.module-card>header{border-bottom:1px solid #ebe7de;justify-content:space-between;align-items:center;padding:18px 22px;display:flex}.module-card h2{margin:0;font-size:16px}.module-card header span{color:var(--muted);font-size:12px}.lesson-row{border-bottom:1px solid #efebe3;grid-template-columns:27px 1fr auto;align-items:center;gap:13px;padding:15px 22px;display:grid}.lesson-row:last-child{border-bottom:0}.lesson-row:hover{background:#faf8f2}.lesson-row strong,.lesson-row small{display:block}.lesson-row strong{font-size:14px}.lesson-row small{color:var(--muted);font-size:11px}.completion{color:#fff;border:1px solid #cfcac0;border-radius:50%;place-items:center;width:21px;height:21px;font-size:11px;display:grid}.completion.done{border-color:var(--success);background:var(--success)}.back-link{color:var(--forest);margin-bottom:20px;font-size:13px;font-weight:700;display:inline-block}.lesson-title{margin-bottom:24px}.lesson-panel{max-width:940px}.video-frame{aspect-ratio:16/9;background:#10241f;border-radius:14px;overflow:hidden}.video-frame iframe{border:0;width:100%;height:100%;display:block}.video-placeholder{color:#fff;text-align:center;background:radial-gradient(circle at 50% 35%,#326a58,#112820 65%);flex-direction:column;justify-content:center;align-items:center;gap:7px;height:100%;padding:25px;display:flex}.video-placeholder small{color:#ffffff9e}.play-button{background:#ffffff21;border:1px solid #ffffff59;border-radius:50%;place-items:center;width:64px;height:64px;margin-bottom:12px;padding-left:4px;display:grid}.lesson-controls{justify-content:space-between;align-items:center;gap:18px;margin:18px 0 12px;display:flex}.lesson-controls small{color:var(--muted)}.lesson-notes{border-top:1px solid var(--line);margin-top:30px;padding-top:24px}.lesson-notes h2{font-size:18px}.lesson-notes p{color:var(--muted)}.editor-form{max-width:780px;margin-top:28px}.form-grid.two{grid-template-columns:.45fr 1fr;gap:15px;display:grid}.field textarea{border:1px solid var(--line);resize:vertical;border-radius:10px;width:100%;padding:13px 14px}.form-actions{justify-content:flex-end;gap:10px;margin-top:24px;display:flex}.notice{border-radius:10px;max-width:780px;margin-top:22px;padding:13px 16px;font-size:13px}.notice.success{color:#225b47;background:#e2f0e9}.notice.error{color:#8d312b;background:#f6e5e2}.field small{color:var(--muted);font-size:12px}.field input[type=file]{height:auto;padding:12px}.upload-status{color:var(--forest);background:#e8efe9;border-radius:12px;margin-top:22px;padding:16px}.upload-status.error{color:#8d312b;background:#f6e5e2}.upload-status>div:first-child{justify-content:space-between;gap:16px;margin-bottom:10px;font-size:13px;display:flex}.upload-status .progress-track{background:#1f594824}.upload-status .progress-track span{background:var(--forest)}.upload-status p{margin:10px 0 0;font-size:12px}.editor-heading{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.publish-control,.content-actions,.order-controls{align-items:center;gap:8px;display:flex}.content-actions{flex-wrap:wrap;justify-content:flex-end}.icon-button{border:1px solid var(--line);width:30px;height:30px;color:var(--forest);cursor:pointer;background:#fff;border-radius:8px;place-items:center;padding:0;font-weight:800;display:grid}.icon-button:hover:not(:disabled){border-color:var(--forest);background:#e8efe9}.icon-button:disabled,.text-action:disabled{opacity:.35;cursor:not-allowed}.text-action{color:var(--forest);cursor:pointer;background:0 0;border:0;padding:5px 7px;font-size:11px;font-weight:800}.status-pill{color:#76551e;background:var(--gold-soft);white-space:nowrap;border-radius:99px;align-items:center;min-height:28px;padding:0 10px;font-size:11px;font-weight:800;display:inline-flex}.status-pill.ready{color:var(--forest);background:#e2f0e9}.module-editor-list{gap:16px;max-width:940px;margin-top:28px;display:grid}.module-editor{padding:0;overflow:hidden}.module-editor>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;padding:19px 22px;display:flex}.module-editor header small{color:var(--muted);font-size:11px}.module-editor header h2{margin-top:3px}.editor-lessons{display:grid}.editor-lesson-row{border-bottom:1px solid #efebe3;grid-template-columns:54px minmax(160px,1fr) auto;align-items:center;gap:14px;padding:14px 22px;display:grid}.lesson-actions{min-width:210px}.editor-link:hover{color:var(--forest);text-decoration:underline}.editor-lesson-row strong,.editor-lesson-row small{display:block}.editor-lesson-row strong{font-size:14px}.editor-lesson-row small{color:var(--muted);font-size:11px}.editor-lesson-row .error-text{color:#9b3932}.lesson-kind{min-height:32px;color:var(--forest);background:#e8efe9;border-radius:8px;place-items:center;font-size:11px;font-weight:800;display:grid}.inline-editor-form{background:#faf8f2;grid-template-columns:1fr 130px auto;gap:10px;padding:16px 22px;display:grid}.inline-editor-form input,.inline-editor-form select,.add-module-form input{border:1px solid var(--line);background:#fff;border-radius:9px;min-height:42px;padding:0 12px}.add-module-form{grid-template-columns:minmax(220px,.7fr) minmax(300px,1fr) auto;align-items:center;gap:18px;max-width:940px;margin-top:18px;display:grid}.add-module-form h2{margin-bottom:3px}.add-module-form p,.muted-copy{color:var(--muted);margin:0;font-size:12px}.muted-copy{padding:22px}.empty-inline{color:var(--muted);text-align:center;padding:15px}.settings-panel{max-width:940px;margin-top:18px}.settings-panel>summary,.mini-settings>summary{color:var(--forest);cursor:pointer;font-size:13px;font-weight:800}.settings-form{margin-top:20px}.archive-zone{border-top:1px solid #ead1cd;justify-content:space-between;align-items:center;gap:20px;margin-top:24px;padding-top:20px;display:flex}.archive-zone p{color:var(--muted);margin:3px 0 0;font-size:12px}.danger-action{color:#923c34;cursor:pointer;white-space:nowrap;background:#fff7f5;border:1px solid #d9a7a0;border-radius:8px;padding:7px 10px;font-size:11px;font-weight:800}.danger-action:hover{background:#f6e5e2}.mini-settings{position:relative}.mini-settings>summary{padding:5px 7px;font-size:11px;list-style:none}.mini-settings>div{z-index:3;border:1px solid var(--line);width:270px;box-shadow:var(--shadow);background:#fff;border-radius:10px;padding:12px;position:absolute;top:30px;right:0}.mini-settings form{gap:7px;margin-bottom:8px;display:flex}.mini-settings form:last-child{justify-content:flex-end;margin-bottom:0}.mini-settings input{border:1px solid var(--line);border-radius:8px;width:100%;min-width:0;padding:0 9px}.lesson-content-form{max-width:940px}.lesson-body{white-space:pre-wrap;margin-top:24px}.lesson-notes ul{color:var(--muted);padding-left:20px}.archive-list{max-width:940px;margin-top:28px;padding:0;display:grid;overflow:hidden}.archive-row{border-bottom:1px solid var(--line);grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:16px;padding:18px 22px;display:grid}.archive-row:last-child{border-bottom:0}.archive-type{color:#76551e;background:var(--gold-soft);border-radius:9px;place-items:center;min-height:34px;font-size:11px;font-weight:800;display:grid}.archive-row h2{margin:0 0 3px;font-size:15px}.archive-row p{color:var(--muted);margin:0;font-size:12px}.archive-row small{color:#9b3932;font-size:11px}.caption-manager h2,.caption-form h3{margin:0 0 3px}.caption-manager p,.caption-form p{color:var(--muted);margin:0;font-size:12px}.caption-heading{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.caption-list{gap:8px;margin-top:18px;display:grid}.caption-row{border:1px solid var(--line);background:#faf8f2;border-radius:10px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:12px 14px;display:grid}.caption-row strong,.caption-row small{display:block}.caption-row strong{font-size:13px}.caption-row small{color:var(--muted);margin-top:2px;font-size:11px}.caption-status{color:var(--forest);white-space:nowrap;background:#e4f0ea;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:800}.caption-status.inprogress{color:#76551e;background:var(--gold-soft)}.caption-status.error{color:#923c34;background:#f6e5e2}.caption-empty{border:1px dashed var(--line);text-align:center;border-radius:10px;padding:16px}.caption-manager-section{border-top:1px solid var(--line);margin-top:22px;padding-top:20px}.caption-fields{grid-template-columns:150px minmax(240px,1fr) auto;gap:10px;margin:18px 0 10px;display:grid}.caption-fields.compact{grid-template-columns:minmax(180px,260px) auto;justify-content:start}.caption-fields select,.caption-fields input{border:1px solid var(--line);background:#fff;border-radius:9px;min-height:42px;padding:8px 11px}.caption-form>small{color:var(--muted);font-size:11px}.form-message{color:var(--forest)!important;margin:10px 0!important}.quiz-editor{max-width:940px}.quiz-editor-heading{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.quiz-editor-heading h2{margin:0 0 3px}.quiz-editor-heading p{color:var(--muted);margin:0;font-size:12px}.quiz-empty,.quiz-loading{border:1px dashed var(--line);color:var(--muted);text-align:center;border-radius:10px;margin-top:20px;padding:24px}.quiz-question-list{gap:18px;margin-top:22px;display:grid}.quiz-question-card{border:1px solid var(--line);border-radius:12px;min-width:0;padding:20px}.quiz-question-card legend{color:var(--forest);padding:0 8px;font-size:12px;font-weight:900}.quiz-question-controls{grid-template-columns:180px 110px 1fr;align-items:center;gap:12px;display:grid}.quiz-question-controls select,.quiz-question-controls input,.quiz-question-card textarea,.quiz-option-row input:last-of-type,.student-question>input{border:1px solid var(--line);background:#fff;border-radius:9px;width:100%;padding:10px 12px}.quiz-question-controls label{align-items:center;gap:7px;font-size:12px;font-weight:700;display:flex}.quiz-question-controls label input{width:64px}.quiz-order-buttons{justify-content:flex-end;gap:6px;display:flex}.quiz-order-buttons>button:not(.danger-action),.quiz-option-row>button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:8px;min-width:34px;min-height:34px}.quiz-order-buttons button:disabled,.quiz-option-row button:disabled{cursor:not-allowed;opacity:.45}.quiz-prompt,.quiz-short-answer{gap:7px;margin-top:16px;font-size:12px;font-weight:800;display:grid}.quiz-short-answer small{color:var(--muted);font-weight:400}.quiz-options{gap:8px;margin-top:16px;display:grid}.quiz-options>span{font-size:12px;font-weight:800}.quiz-option-row{grid-template-columns:22px 1fr 36px;align-items:center;gap:8px;display:grid}.quiz-option-row input:first-child{width:16px;height:16px}.quiz-add-option{justify-self:start;margin-top:4px}.student-quiz{padding:clamp(18px,4vw,34px)}.quiz-result{color:#fff;background:var(--forest);border-radius:12px;grid-template-columns:1fr auto;align-items:end;gap:3px 20px;margin-bottom:24px;padding:18px 20px;display:grid}.quiz-result span{font-size:12px;font-weight:800}.quiz-result strong{grid-area:1/2/span 2;font-size:32px}.quiz-result small{opacity:.75}.student-question{border:1px solid var(--line);border-radius:12px;min-width:0;margin:0 0 20px;padding:20px}.student-question legend{align-items:center;gap:9px;max-width:90%;padding:0 8px;font-size:14px;font-weight:800;display:flex}.student-question legend>span{color:#fff;background:var(--forest);border-radius:50%;flex:0 0 26px;place-items:center;width:26px;height:26px;font-size:11px;display:grid}.student-question legend small{color:var(--muted);white-space:nowrap;font-size:10px}.student-options{gap:8px;display:grid}.student-options label{border:1px solid var(--line);cursor:pointer;border-radius:9px;align-items:center;gap:11px;padding:12px 14px;display:flex}.student-options label.selected{border-color:var(--forest);background:#edf4f0}.student-options input{flex:none}.quiz-submit{justify-content:space-between;align-items:center;gap:20px;display:flex}.quiz-submit small{color:var(--muted)}.quiz-result-stats{grid-template-columns:repeat(4,1fr)}.quiz-result-stats .stat-card strong{font-size:28px}.quiz-results-panel{max-width:1040px;margin-top:20px;padding:0;overflow:hidden}.quiz-results-panel .panel-header{padding:20px 22px}.quiz-results-panel .panel-header h2{margin:0}.quiz-results-panel .panel-header p{color:var(--muted);margin:3px 0 0;font-size:12px}.result-table-wrap{overflow-x:auto}.result-table{border-collapse:collapse;width:100%;font-size:13px}.result-table th,.result-table td{border-top:1px solid var(--line);text-align:left;white-space:nowrap;padding:13px 22px}.result-table th{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;background:#faf8f2;font-size:10px}.result-table tbody tr:hover{background:#fcfaf5}.result-table .table-empty{color:var(--muted);text-align:center;padding:32px}.gradebook-panel{max-width:none;margin-top:22px;padding:0;overflow:hidden}.gradebook-panel .panel-header{padding:20px 22px}.gradebook-panel .panel-header h2{margin:0}.gradebook-panel .panel-header p{color:var(--muted);margin:3px 0 0;font-size:12px}.gradebook-scroll{max-width:calc(100vw - 340px);overflow:auto}.gradebook-table{border-collapse:separate;border-spacing:0;width:100%;min-width:960px;font-size:12px}.gradebook-table th,.gradebook-table td{border-top:1px solid var(--line);border-right:1px solid var(--line);text-align:left;vertical-align:middle;min-width:150px;padding:13px 16px}.gradebook-table thead th{background:#faf8f2}.gradebook-table thead th>a,.gradebook-table th>strong,.gradebook-table th>small,.grade-cell strong,.grade-cell small,.total-column strong,.total-column small{display:block}.gradebook-table thead span{color:var(--forest);letter-spacing:.08em;text-transform:uppercase;font-size:9px;font-weight:900}.gradebook-table thead strong{text-overflow:ellipsis;white-space:nowrap;max-width:180px;margin:3px 0;font-size:12px;overflow:hidden}.gradebook-table small{color:var(--muted);font-size:10px}.gradebook-table .student-column{z-index:2;background:var(--surface);min-width:170px;position:sticky;left:0}.gradebook-table thead .student-column{z-index:3;background:#faf8f2}.gradebook-table .total-column{background:#edf4f0;min-width:120px}.gradebook-table .final-grade-column{z-index:2;background:#f8f2e5;border-right:0;min-width:230px;position:sticky;right:0}.gradebook-table thead .final-grade-column{z-index:3}.grade-cell.graded strong{color:var(--forest)}.grade-cell.pending strong{color:#8a641e}.grade-cell.missing strong{color:var(--muted)}.gradebook-table tbody tr:hover td,.gradebook-table tbody tr:hover th{background-color:#fcfaf5}.gradebook-table .table-empty{color:var(--muted);text-align:center;padding:34px}.final-grade-form{gap:7px;display:grid}.final-grade-form>div:first-child{align-items:center;gap:5px;display:flex}.final-grade-form input{border:1px solid var(--line);background:#fff;border-radius:7px;width:100%;min-width:0;padding:6px 8px}.final-grade-form>div:first-child input{width:76px}.final-grade-form>small{color:#85601f;font-weight:800}.final-grade-form>small.finalized{color:var(--forest)}.final-grade-actions{gap:5px;display:flex}.final-grade-actions button{border:1px solid var(--forest);color:var(--forest);cursor:pointer;background:#fff;border-radius:7px;padding:5px 7px;font-size:10px;font-weight:800}.final-grade-actions button:last-child{color:#fff;background:var(--forest)}.final-grade-actions button:disabled{cursor:not-allowed;opacity:.45}.grade-reason{font-size:10px}.grade-history-panel{max-width:none}.reason-cell{text-overflow:ellipsis;max-width:320px;overflow:hidden}.student-final-grade{color:var(--forest);background:#e2f0e9;border-radius:999px;margin:8px 6px 0 0;padding:4px 8px;font-size:10px;font-weight:900;display:inline-flex}.student-final-grade.completed{color:#76551e;background:var(--gold-soft)}.completion-rule-panel{max-width:940px}.completion-rule-form{grid-template-columns:1fr 1fr auto;align-items:end;gap:16px;margin-top:18px;display:grid}.completion-rule-form label{gap:6px;font-size:12px;font-weight:800;display:grid}.completion-rule-form label span{align-items:center;gap:7px;display:flex}.completion-rule-form input{border:1px solid var(--line);background:#fff;border-radius:9px;width:100%;min-width:0;padding:9px 11px}.completion-rule-panel>p{color:var(--muted);margin:12px 0 0;font-size:11px}.completion-badge{color:var(--muted);background:#eeece6;border-radius:999px;margin-top:7px;padding:3px 7px;font-size:9px;font-weight:900;display:inline-flex}.completion-badge.completed{color:var(--forest);background:#e2f0e9}.reading-completion{border:1px solid var(--line);background:#faf8f2;border-radius:12px;grid-template-columns:1fr auto;align-items:center;gap:18px;padding:22px;display:grid}.reading-completion.completed{background:#edf4f0;border-color:#bdd5c8}.reading-completion strong{font-size:15px}.reading-completion p{color:var(--muted);margin:3px 0 0;font-size:12px}.reading-completion>small{color:var(--forest);grid-column:1/-1}.assignment-editor{max-width:940px}.assignment-editor h2{margin:0 0 3px}.assignment-editor>div:first-child p{color:var(--muted);margin:0 0 20px;font-size:12px}.assignment-setting-grid{grid-template-columns:1fr 130px 150px;gap:12px;display:grid}.assignment-setting-grid label{color:var(--ink);gap:7px;font-size:12px;font-weight:800;display:grid}.assignment-setting-grid input{border:1px solid var(--line);background:#fff;border-radius:9px;width:100%;min-width:0;min-height:42px;padding:0 11px}.assignment-setting-grid label:last-child{position:relative}.assignment-setting-grid label:last-child input{padding-right:38px}.assignment-setting-grid label:last-child span{color:var(--muted);font-weight:400;position:absolute;bottom:11px;right:12px}.assignment-checkbox{align-items:center;gap:8px;margin:18px 0 6px;font-size:13px;font-weight:700;display:flex}.assignment-editor>small{color:var(--muted);font-size:11px}.assignment-submission{padding:clamp(18px,4vw,34px)}.assignment-brief{border:1px solid var(--line);background:var(--line);border-radius:11px;grid-template-columns:repeat(3,1fr);gap:1px;display:grid;overflow:hidden}.assignment-brief>div{background:#faf8f2;padding:13px 15px}.assignment-brief span,.assignment-brief strong{display:block}.assignment-brief span{color:var(--muted);font-size:10px;font-weight:800}.assignment-brief strong{margin-top:3px;font-size:13px}.assignment-instructions{border-bottom:1px solid var(--line);padding:22px 0}.assignment-instructions h2{font-size:17px}.assignment-instructions p,.submitted-text p,.assignment-feedback p{color:var(--muted);white-space:pre-wrap}.submission-summary{background:#edf4f0;border-radius:12px;gap:12px;margin:22px 0;padding:18px;display:grid}.submission-summary>div:first-child{justify-content:space-between;align-items:center;gap:15px;display:flex}.submission-summary span{font-size:12px}.assignment-feedback{border-top:1px solid #cedfd6;padding-top:12px}.assignment-feedback p{margin-bottom:0}.assignment-submit-form{margin-top:24px}.assignment-grading-list{gap:16px;max-width:940px;margin-top:24px;display:grid}.grading-card>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:20px;padding-bottom:16px;display:flex}.grading-card header h2{margin:0;font-size:18px}.grading-card header p{color:var(--muted);margin:2px 0 0;font-size:11px}.submitted-text{background:#faf8f2;border-radius:10px;margin:18px 0;padding:16px}.submitted-text p{margin-bottom:0}.grading-form{border-top:1px solid var(--line);grid-template-columns:150px 1fr auto;align-items:end;gap:14px;margin-top:20px;padding-top:18px;display:grid}.grading-form label{gap:6px;font-size:12px;font-weight:800;display:grid}.grading-form label>span{align-items:center;gap:7px;display:flex}.grading-form input,.grading-form textarea{border:1px solid var(--line);background:#fff;border-radius:9px;width:100%;padding:9px 11px}.grading-form textarea{resize:vertical}.empty-state{text-align:center;margin-top:28px;padding:55px 25px}.empty-state>span{color:#fff;background:var(--forest);border-radius:50%;place-items:center;width:52px;height:52px;margin:0 auto 15px;display:grid}.empty-state p{color:var(--muted)}.login-page{grid-template-columns:1fr 1fr;min-height:100vh;display:grid}.login-story{color:#fff;background:linear-gradient(145deg,#143c31,#286853);flex-direction:column;justify-content:space-between;padding:48px;display:flex;position:relative;overflow:hidden}.login-story:after{content:"";border:1px solid #ffffff2e;border-radius:50%;width:420px;height:420px;position:absolute;bottom:-160px;right:-160px;box-shadow:0 0 0 70px #ffffff09,0 0 0 140px #ffffff06}.login-quote{z-index:1;max-width:560px;font-family:Georgia,Nanum Myeongjo,serif;font-size:clamp(28px,4vw,48px);line-height:1.35;position:relative}.login-form-wrap{background:var(--surface);place-items:center;padding:32px;display:grid}.login-form{width:min(420px,100%)}.login-form h1{margin:0 0 8px;font-family:Georgia,serif;font-size:35px}.login-form>p{color:var(--muted);margin:0 0 30px}.field{gap:7px;margin-bottom:17px;display:grid}.field label{font-size:13px;font-weight:700}.field input{border:1px solid var(--line);background:#fff;border-radius:10px;outline:none;height:48px;padding:0 14px}.field input:focus{border-color:var(--forest);box-shadow:0 0 0 3px #1f59481a}.login-form .button{width:100%;margin-top:8px}.oauth-form{margin-top:24px}.oauth-button{border:1px solid var(--line);width:100%;min-height:48px;color:var(--ink);cursor:pointer;background:#fff;border-radius:10px;justify-content:center;align-items:center;gap:10px;padding:0 16px;font-weight:750;display:flex}.oauth-button:hover{background:#faf9f5;border-color:#b7b2a8}.oauth-button span{color:#4285f4;border:1px solid #dadce0;border-radius:50%;place-items:center;width:24px;height:24px;font-family:Arial,sans-serif;font-weight:900;display:grid}.auth-divider{color:var(--muted);align-items:center;gap:12px;margin:22px 0;font-size:11px;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--line);flex:1;height:1px}.email-auth-form{display:grid}.auth-message{border-radius:9px;padding:10px 12px;font-size:12px;margin:0 0 10px!important}.auth-message.success{color:#225b47;background:#e2f0e9}.auth-message.error{color:#8d312b;background:#f6e5e2}.auth-links{color:var(--forest);justify-content:space-between;gap:14px;margin-top:16px;font-size:12px;font-weight:700;display:flex}.auth-links.centered{justify-content:center}.demo-link{color:var(--forest);text-align:center;margin-top:18px;font-size:13px;font-weight:700;display:block}@media (max-width:860px){.nav a:not(.button){display:none}.hero,.login-page{grid-template-columns:1fr}.hero{padding-top:30px}.feature-grid,.portal-shell{grid-template-columns:1fr}.sidebar{display:none}.dashboard-grid,.course-card-grid,.document-grid{grid-template-columns:1fr}.login-story{min-height:360px}}@media (max-width:560px){.site-header{padding:0 18px}.brand-text{display:none}.hero{padding:38px 18px 70px}.hero h1{font-size:42px}.hero-actions{flex-direction:column;align-items:stretch}.hero-card{min-height:410px}.verse{font-size:24px;top:35px;left:28px;right:28px}.feature-section{padding:30px 18px 70px}.portal-main{padding:24px 17px 50px}.stats{grid-template-columns:1fr}.course-row{grid-template-columns:48px 1fr}.course-icon{width:48px;height:48px}.course-progress{grid-column:2;width:100%}.document-feature,.certificate-row,.tuition-card{grid-template-columns:1fr}.tuition-card>.course-icon{display:none}.tuition-amount{text-align:left}.checkout-action{justify-items:start}.admin-actions{justify-content:flex-start;margin:18px 0}.organization-form .form-grid.two{grid-template-columns:1fr}.certificate-row .course-icon{display:none}.certificate-row .button{justify-self:start}.course-heading{flex-direction:column;align-items:flex-start}.form-grid.two{grid-template-columns:1fr}.lesson-controls{flex-direction:column;align-items:stretch}.editor-heading{flex-direction:column}.publish-control{justify-content:space-between;width:100%}.editor-lesson-row{grid-template-columns:48px 1fr}.lesson-actions{grid-column:2;justify-content:flex-start;min-width:0}.inline-editor-form,.add-module-form{grid-template-columns:1fr}.archive-zone{flex-direction:column;align-items:flex-start}.archive-row{grid-template-columns:52px 1fr}.archive-row form,.archive-row>button{grid-column:2;justify-self:start}.caption-fields,.caption-fields.compact{grid-template-columns:1fr}.caption-row{grid-template-columns:1fr auto}.caption-row .danger-action{grid-area:1/2/span 2}.quiz-editor-heading,.quiz-submit{flex-direction:column;align-items:stretch}.quiz-question-controls{grid-template-columns:1fr}.quiz-order-buttons{justify-content:flex-start}.student-question{padding:16px}.quiz-result-stats{grid-template-columns:repeat(2,1fr)}.assignment-setting-grid,.grading-form,.assignment-brief{grid-template-columns:1fr}.grading-card>header,.submission-summary>div:first-child{flex-direction:column}.gradebook-scroll{max-width:calc(100vw - 34px)}.completion-rule-form,.reading-completion{grid-template-columns:1fr}.reading-completion>small{grid-column:1}.login-story{min-height:300px;padding:30px}.login-form-wrap{padding:30px 20px}}
