:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#eef5fb;font-synthesis:none;--bg:#07111c;--surface:#0d1b29;--surface-strong:#122538;--surface-soft:#0a1724;--line:#284159;--line-strong:#3c607e;--text:#eef5fb;--muted:#a8bac9;--accent:#65d8c2;--accent-strong:#9ef1df;--accent-ink:#05231e;--danger:#ffaaa5;--warning:#ffd18a;--reach:#ffb4a9;--target:#ffd792;--safe:#a8ead9;--focus:#8ad8ff;--shadow:0 20px 60px #00000038;--radius:18px;background:#07111c;font-family:Inter,Pretendard,Noto Sans KR,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*,:before,:after{box-sizing:border-box;min-width:0}html{background:var(--bg);min-width:320px}body{background:radial-gradient(circle at 10% -5%, #27667747, transparent 28rem), linear-gradient(180deg, #091624 0%, var(--bg) 42rem);min-width:320px;min-height:100vh;color:var(--text);margin:0;overflow-x:clip}button,input,select,textarea{border:1px solid var(--line-strong);max-width:100%;min-height:44px;font:inherit;border-radius:11px;font-size:16px}button,select{cursor:pointer}button:disabled,select:disabled,textarea:disabled{cursor:not-allowed;opacity:.56}button:focus-visible{outline:3px solid var(--focus);outline-offset:3px}input:focus-visible{outline:3px solid var(--focus);outline-offset:3px}select:focus-visible{outline:3px solid var(--focus);outline-offset:3px}textarea:focus-visible{outline:3px solid var(--focus);outline-offset:3px}a:focus-visible{outline:3px solid var(--focus);outline-offset:3px}a{color:var(--accent-strong);overflow-wrap:anywhere;word-break:break-word}h1,h2,h3,h4,p,dl,dd{margin-top:0}h1,h2,h3,h4,dt,dd,p,span,strong,small,label{overflow-wrap:anywhere}button{white-space:normal}.page-shell{width:min(100%,1480px);margin:0 auto;padding:18px clamp(12px,2.8vw,36px) 32px}.site-header,.role-panel-header,.section-heading,.candidate-card-header,.student-actions{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.site-header{padding:10px 0 20px}.brand{align-items:center;gap:12px;display:flex}.brand-mark{width:48px;height:48px;color:var(--accent-strong);background:#65d8c21f;border:1px solid #65d8c28c;border-radius:15px;flex:none;place-items:center;font-size:1.35rem;font-weight:900;display:grid}.brand-copy h1{margin:2px 0 0;font-size:clamp(1.25rem,3vw,2rem);line-height:1.15}.eyebrow,.card-kicker{color:var(--accent-strong);letter-spacing:.1em;text-transform:uppercase;margin-bottom:5px;font-size:.75rem;font-weight:800}.role-switch,.exam-tabs,.card-actions,.review-actions,.exam-dialog-actions,.replace-control{flex-wrap:wrap;gap:8px;display:flex}.role-switch{border:1px solid var(--line);background:#050f18b3;border-radius:14px;flex:0 auto;padding:4px}.role-switch-button,.exam-tab{min-height:44px;color:var(--muted);background:0 0;border-color:#0000;padding:10px 14px;font-weight:800}.role-switch-button.is-active,.exam-tab.is-active{background:var(--accent);color:var(--accent-ink);border-color:#65d8c273}.notice-banner{border-radius:var(--radius);box-shadow:var(--shadow);background:linear-gradient(135deg,#ffd18a1f,#0d1b29db);border:1px solid #ffd18a7a;margin-bottom:18px;padding:16px 18px}.notice-title{color:var(--warning);margin-bottom:8px;display:block}.notice-copy{color:#d6e0e8;margin-bottom:5px;line-height:1.6}.app-main{width:100%}.role-panel{gap:18px;display:grid}.role-panel-header{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(135deg, var(--surface-strong), var(--surface));box-shadow:var(--shadow);padding:clamp(18px,3vw,28px)}.role-panel-header h2{margin-bottom:8px;font-size:clamp(1.45rem,4vw,2.2rem)}.role-panel-header p:last-child{color:var(--muted);margin-bottom:0;line-height:1.6}.review-status-card{border:1px solid var(--line-strong);background:#040e168c;border-radius:13px;flex:none;gap:4px;min-width:118px;padding:12px 14px;display:grid}.review-status-card span{color:var(--muted);font-size:.76rem}.review-status-card strong{color:var(--accent-strong)}.surface,.basis-card,.filter-panel,.candidate-card,.selected-card,.submitted-card,.comparison-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:0 12px 35px #00000024}.surface{padding:clamp(16px,2.5vw,24px)}.section-heading{margin-bottom:16px}.section-heading h2,.section-heading h3{margin-bottom:0}.section-note{max-width:38rem;color:var(--muted);margin:0;font-size:.9rem;line-height:1.55}.exam-tabs{border:1px solid var(--line);background:var(--surface-soft);border-radius:14px;width:-moz-fit-content;width:fit-content;max-width:100%;padding:4px}.exam-panel,.recommendation-section,.selection-section{gap:16px;display:grid}.grade-grid,.subject-grid,.filter-grid,.summary-grid,.teacher-grade-summary{grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));gap:12px;display:grid}.subject-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));margin-top:14px}.form-field{align-content:start;gap:7px;display:grid}.form-field label,.replace-control label{color:#d8e5ee;font-size:.88rem;font-weight:800}.form-field input,.form-field select,.form-field textarea,.replace-control select{width:100%;color:var(--text);background:#07131f;padding:10px 11px}.form-field textarea{resize:vertical;min-height:112px}.field-help{min-height:1.15em;color:var(--muted);font-size:.75rem}.field-help.is-error{color:var(--danger);font-weight:800}.recommendation-status,.action-feedback{border-left:4px solid var(--accent);background:#65d8c217;border-radius:8px;margin:16px 0 0;padding:12px 14px;line-height:1.55}.basis-card{background:linear-gradient(135deg, #2149606b, var(--surface));padding:16px}.basis-card h3,.basis-card h4{margin-bottom:12px}.basis-card dl{gap:8px;margin-bottom:0;display:grid}.basis-card dl>div{border-top:1px solid #3c607e6b;grid-template-columns:minmax(7rem,.32fr) minmax(0,1fr);gap:10px;padding-top:8px;display:grid}.basis-card dt{color:var(--muted);font-size:.82rem;font-weight:800}.basis-card dd{margin:0;line-height:1.5}.filter-panel{padding:16px}.filter-panel>.app-button{margin-top:12px}.candidate-list{gap:clamp(20px,4vw,30px);display:grid}.candidate-section{min-width:0}.candidate-section-heading{border:1px solid var(--line);background:var(--surface-strong);border-radius:14px;margin-bottom:12px;padding:14px 16px}.candidate-section-heading h4,.candidate-section-heading p{margin:0}.candidate-section-heading p{color:var(--muted);margin-top:4px}.candidate-section-check .candidate-section-heading{border-color:var(--warning)}.candidate-grid,.selected-list,.submitted-list{grid-template-columns:repeat(auto-fit,minmax(min(100%,460px),1fr));align-items:start;gap:14px;display:grid}.candidate-card,.selected-card,.submitted-card,.comparison-card{width:100%;padding:clamp(14px,2.4vw,20px);overflow:hidden}.application-slot{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);min-width:0}.placeholder-slot{background:linear-gradient(145deg,#1a304380,#07131fc7);border-style:dashed}.placeholder-note{color:var(--muted);background:#8fbdff14;border-radius:10px;margin:0 0 16px;padding:12px;line-height:1.55}.application-type-control{border-bottom:1px solid var(--line);margin-bottom:16px;padding-bottom:14px}.candidate-card{border-top-width:4px}.candidate-card.band-상향{border-top-color:var(--reach)}.candidate-card.band-소신{border-top-color:var(--target)}.candidate-card.band-안정{border-top-color:var(--safe)}.candidate-card.band-unclassified{border-top-color:var(--line-strong)}.candidate-card-header{margin-bottom:14px}.candidate-card-header h4{margin-bottom:0;font-size:clamp(1rem,3vw,1.25rem);line-height:1.35}.status-chip{border:1px solid var(--line-strong);min-height:32px;color:var(--accent-strong);text-align:center;border-radius:999px;flex:0 auto;align-items:center;padding:6px 9px;font-size:.75rem;font-weight:800;display:inline-flex}.card-details{gap:0;margin-bottom:14px;display:grid}.card-detail{border-top:1px solid #284159b8;grid-template-columns:minmax(8rem,.32fr) minmax(0,1fr);gap:12px;padding:10px 0;display:grid}.card-detail dt{color:var(--muted);font-size:.8rem;font-weight:800}.card-detail dd{color:#e6eef5;overflow-wrap:anywhere;margin:0;font-size:.9rem;line-height:1.55}.card-warning,.confirmation-note{color:var(--warning);background:#ffd18a1a;border-radius:10px;padding:10px 12px;line-height:1.5}.card-actions{align-items:stretch}.app-button{min-height:44px;color:var(--text);background:#13283b;padding:10px 14px;font-weight:800}.app-button:hover:not(:disabled){border-color:var(--accent)}.app-button-primary{background:var(--accent);color:var(--accent-ink);border-color:#0000}.app-button-danger{color:var(--danger);background:#ffaaa514;border-color:#ffaaa5a6}.app-button-quiet{background:0 0}.comparison-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.comparison-card h4{min-height:3em}.empty-state{border:1px dashed var(--line-strong);text-align:center;background:#07131fa6;border-radius:15px;width:100%;padding:24px 18px}.empty-state h3,.empty-state h4{margin-bottom:8px}.empty-state p{color:var(--muted);margin-bottom:0;line-height:1.55}.summary-item{border:1px solid var(--line);background:var(--surface-soft);border-radius:12px;padding:12px}.summary-item dt{color:var(--muted);margin-bottom:6px;font-size:.76rem;font-weight:800}.summary-item dd{color:var(--accent-strong);margin:0;font-weight:900;line-height:1.45}.analysis-notices{gap:7px;margin-top:14px;display:grid}.analysis-notices p{border-left:3px solid var(--warning);background:#ffd18a12;margin:0;padding:9px 11px;line-height:1.5}.replace-control{border-top:1px solid var(--line);align-items:end;padding-top:12px}.replace-control label{flex:1 0 100%}.replace-control select{flex:240px}.replace-control .app-button{flex:none}.student-actions{align-items:center}.student-actions>div{flex:340px}.notice-save-feedback{color:var(--muted);margin:7px 0 0;font-size:.82rem}.review-guidance{border-color:#ffd18a73}.teacher-layout{grid-template-columns:minmax(220px,280px) minmax(0,1fr);align-items:start;gap:16px;display:grid}.teacher-workspace{gap:16px;display:grid}.teacher-student-list{gap:8px;display:grid}.teacher-student-button{width:100%;color:var(--text);text-align:left;background:#07131f;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;display:flex}.teacher-student-button.is-active{border-color:var(--accent);background:#65d8c21a}.teacher-student-button strong{color:var(--accent-strong);font-size:.75rem}.teacher-grade-summary{margin:16px 0}.teacher-grade-summary p{border:1px solid var(--line);background:var(--surface-soft);border-radius:10px;margin:0;padding:10px;line-height:1.45}.teacher-plan-period{color:var(--accent-strong);margin:14px 0;font-weight:900}.review-actions{margin-top:14px}.exam-dialog-backdrop{z-index:20;background:#02080ed1;place-items:center;padding:16px;display:grid;position:fixed;top:0;bottom:0;left:0;right:0;overflow-y:auto}.exam-dialog{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface-strong);width:min(100%,520px);max-height:calc(100vh - 32px);box-shadow:var(--shadow);padding:clamp(18px,4vw,28px);overflow-y:auto}.exam-dialog p{color:var(--muted);line-height:1.6}.site-footer{color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:8px;padding:24px 2px 0;font-size:.78rem;display:flex}.site-footer p{margin-bottom:0}@media (max-width:980px){.teacher-layout,.comparison-grid{grid-template-columns:1fr}.comparison-card h4{min-height:auto}}@media (max-width:700px){.site-header,.role-panel-header,.section-heading,.candidate-card-header,.student-actions{flex-direction:column;align-items:stretch}.role-switch{width:100%}.role-switch-button{flex:1 1 0}.review-status-card{width:100%}.card-detail,.basis-card dl>div{grid-template-columns:1fr;gap:5px}.card-detail dt{color:var(--accent-strong)}.candidate-card-header>.app-button{align-self:start}.student-actions>.app-button{width:100%}}@media (max-width:480px){.page-shell{padding-inline-start:12px;padding-inline-end:12px}.brand-mark{width:42px;height:42px}.role-switch,.exam-tabs,.exam-dialog-actions,.review-actions,.card-actions{width:100%}.role-switch-button,.exam-tab,.exam-dialog-actions .app-button,.review-actions .app-button,.card-actions .app-button{flex:100%;width:100%}.surface,.basis-card,.filter-panel,.candidate-card,.selected-card,.submitted-card,.comparison-card{border-radius:14px}.replace-control{grid-template-columns:1fr;width:100%;display:grid}.replace-control .app-button,.replace-control select{width:100%}.site-footer{flex-direction:column}}
