:root{font-family:"Malgun Gothic","Segoe UI",system-ui,sans-serif;color:#1d2939;background:#f4f6fa;font-size:15px}*{box-sizing:border-box}body{margin:0}header{position:sticky;top:0;background:#152e4c;color:white;z-index:20;min-height:66px;padding:12px 26px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 3px 12px #14263821}header strong{font-size:21px;letter-spacing:-.5px}#siteTitle{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:37vw;flex:0 1 auto}.student-header-left{display:flex;align-items:center;gap:16px;min-width:0}.identity-label{display:inline-block;padding:7px 12px;background:#ffffff20;border:1px solid #ffffff36;border-radius:8px;color:white;font-size:16px;font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:42vw}.light{opacity:.75;margin-left:12px}.clock{display:flex;gap:18px;align-items:center}.clock b{font-size:26px;font-variant-numeric:tabular-nums;letter-spacing:1px}main{max-width:1520px;padding:28px 26px 70px;margin:auto}.panel{background:white;padding:32px;border:1px solid #e1e7f0;border-radius:16px;box-shadow:0 10px 36px #1b38600a}.narrow{max-width:510px;margin:35px auto}.centered{text-align:center}h1{font-size:25px;letter-spacing:-.7px;margin:0 0 14px}h2{font-size:22px}.muted{color:#697788;line-height:1.7}.small{font-size:12px}.hidden{display:none!important}.notice{padding:14px;background:#ecf3fc;color:#1e4773;border-radius:9px;margin:20px 0;line-height:1.6}.upcoming-exam{display:flex;flex-direction:column;gap:8px}.upcoming-label{font-size:12px;color:#4d6f92;font-weight:650}.upcoming-title{display:block;font-size:18px;color:#173f69;line-height:1.4}.upcoming-schedule{display:grid;gap:5px;border-top:1px solid #cadbeb;padding-top:10px}.upcoming-time-row{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:start;gap:10px;font-size:14px}.upcoming-time-label{font-weight:750;color:#375a7b}label{display:block;font-weight:650;margin:17px 0 12px}input,textarea,select{font:inherit;border:1px solid #b9c6d4;padding:12px;border-radius:9px;width:100%;background:white;color:#142638}label input{margin-top:8px}textarea{line-height:1.75;min-height:145px;resize:vertical}button{font:inherit;border:1px solid #afc1d4;background:white;color:#173352;padding:10px 16px;cursor:pointer;border-radius:8px;font-weight:600}button:disabled{cursor:not-allowed;opacity:.55}button:hover:not(:disabled){filter:brightness(.96)}.primary{background:#1a5fb4;color:white;border-color:#1a5fb4}.danger{background:#a82631;color:white;border-color:#a82631}.secondary{background:#eef3f9}.tabs{display:flex;gap:8px}.tabs button{flex:1}.tabs button.active{background:#1b395a;color:white}.error{color:#bd2030;min-height:23px}.pulse{color:#266dca;font-weight:700;margin:15px}.examtop{display:flex;justify-content:space-between;align-items:center;gap:15px}.examtop h1{margin-bottom:3px}.right{display:flex;align-items:center;gap:15px}.save{font-size:12px;color:#56718c}.qnav{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 18px}.qnav button.active{background:#184e88;color:#fff}.examgrid{display:grid;grid-template-columns:minmax(310px,45fr) minmax(360px,55fr);gap:12px;height:calc(100vh - 225px);min-height:520px}.questionbox,.answerbox{border:1px solid #dfe5ee;border-radius:11px;background:white;padding:24px;overflow-y:auto}.questionbox{background:#fdfefe}.eyebrow{color:#50719a;font-weight:700}.prompt{white-space:pre-wrap;line-height:1.95;font-size:16px}.answercard{border:1px solid #e2e8f2;border-radius:10px;padding:17px;margin-bottom:16px}.answerhead{display:flex;justify-content:space-between;align-items:center;gap:10px;font-weight:700;margin-bottom:10px}.tag{background:#eef3f9;color:#44617f;font-size:12px;border-radius:20px;padding:4px 9px}.answercard p{white-space:pre-wrap;line-height:1.7}.status{color:#687b91;font-size:12px;text-align:right;margin-top:8px}footer{text-align:center;color:#8594a5;font-size:12px;margin-bottom:20px}footer a{color:#657f9a}.toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:13px 0}.adminlayout{display:grid;grid-template-columns:1fr 1.25fr;gap:15px}.panel h2{margin:4px 0 17px}.examslist{display:grid;gap:7px}.examslist button{text-align:left}.examslist button.active{background:#e9f2ff;border-color:#1b5fa2}.flex{display:flex;gap:9px;align-items:center}.flex>*{flex:1}.thin{padding:18px}.tablewrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:13px}td,th{border-bottom:1px solid #e4e9f0;padding:10px;text-align:left}th{background:#f0f5fb}.subtle{font-size:12px;color:#687889}.admin-section{margin-top:20px;border-top:1px solid #e3e8ef;padding-top:15px}a{color:#2168ad}@media(max-width:850px){.student-header-left{gap:7px}.identity-label{font-size:12px;max-width:35vw;padding:5px 7px}.examgrid,.adminlayout{grid-template-columns:1fr;height:auto}.questionbox,.answerbox{max-height:65vh}.examtop{align-items:flex-start}.right{flex-direction:column}header{padding:9px 13px}.clock{gap:8px}.clock b{font-size:18px}main{padding:15px}}

/* Modern Minimal visual styling: warm neutral, white cards, muted indigo. */
:root{font-family:Inter,"Pretendard","Noto Sans KR","Malgun Gothic",system-ui,sans-serif;--mm-accent:#485f9c}
body{background:radial-gradient(circle at 8% -15%,#e8ecf8,transparent 35%),#fafaf9;color:#242a35}
header{background:#fffffff2;color:#26344a;border-bottom:1px solid #e6e9ee;box-shadow:none;backdrop-filter:blur(18px);min-height:76px}
header strong{color:#293756}header .clock{color:#5c6a80}header .clock b{color:#354d82}
.identity-label{background:#eef2fa;color:#435980;border-color:#e4e8f1}
.panel{border-color:#e7e9ef;border-radius:20px;box-shadow:0 12px 50px #15243b0a;padding:36px}
.notice{background:#f4f6fb;color:#3c537b;border:1px solid #e4e9f4;border-radius:12px}
.upcoming-title{color:#293e6b;font-size:20px}.upcoming-schedule{border-color:#e0e5ef}
input,textarea{border-radius:10px;border-color:#dde3eb;outline:none}
input:focus,textarea:focus{border-color:#8b9dc6;box-shadow:0 0 0 3px #485f9c19}
button{border-radius:10px}button.primary,.primary{background:var(--mm-accent);border-color:var(--mm-accent);color:white}
button.primary:hover:not(:disabled){background:#354b88;color:white}
.tabs{background:#f4f5f8;border-radius:11px;padding:5px}.tabs button.active{background:white;color:#384f84;box-shadow:0 2px 10px #15233e13}
.questionbox,.answerbox{border-radius:15px;border-color:#e6e9ef;box-shadow:0 5px 24px #182b4707}
.answercard{border-radius:13px;border-color:#e5e9f0}.tag{background:#eef2fa;color:#546a9d}
.qnav button.active{background:var(--mm-accent);border-color:var(--mm-accent)}
.completion-mark{display:grid;place-items:center;margin:5px auto 19px;border-radius:50%;width:68px;height:68px;background:#eef2fb;color:#485f9c;font-size:30px}
.completion-title{font-size:36px;letter-spacing:-1px;color:#24365d}
