:root{--navy:#172554;--blue:#2563eb;--blue-dark:#1d4ed8;--sky:#eff6ff;--cream:#fffdf8;--ink:#172033;--muted:#64748b;--line:#dbe3ee;--white:#fff;--green:#0f766e}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#f7f9fc;color:var(--ink);font-family:Pretendard,"Noto Sans KR",system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.65;word-break:keep-all}
.container{width:min(1120px,calc(100% - 36px));margin:0 auto}
.site-header,.sub-header{background:linear-gradient(135deg,#14204a 0%,#1e3a8a 55%,#2563eb 100%);color:#fff}
.site-header{padding:72px 0 66px;position:relative;overflow:hidden}
.site-header:after{content:"";position:absolute;width:420px;height:420px;border:90px solid rgba(255,255,255,.055);border-radius:50%;right:-120px;top:-210px}
.sub-header{padding:36px 0 42px}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,.75fr);align-items:end;gap:44px;position:relative;z-index:1}
.eyebrow,.section-kicker,.step-label{margin:0 0 9px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.eyebrow{color:#bfdbfe}.section-kicker,.step-label{color:var(--blue);font-size:13px}
h1,h2,h3,p{margin-top:0}h1{font-size:clamp(34px,5vw,58px);line-height:1.18;letter-spacing:-.035em;margin-bottom:22px}h2{font-size:clamp(22px,2.5vw,30px);line-height:1.3;letter-spacing:-.02em;margin-bottom:12px}
.lead{max-width:780px;margin:0;color:#dbeafe;font-size:clamp(17px,2vw,20px)}
.hero-note{padding:24px;border:1px solid rgba(255,255,255,.2);border-radius:20px;background:rgba(255,255,255,.1);backdrop-filter:blur(10px)}
.hero-note strong{display:block;margin-bottom:8px;font-size:18px}.hero-note p{margin:0;color:#dbeafe}
.home-main{padding:52px 0 70px}.choice-guide{text-align:center;margin-bottom:36px}.choice-guide h2{margin-bottom:24px}
.choice-list{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;max-width:1080px;margin:0 auto}.choice-list div{display:grid;grid-template-columns:42px 1fr;grid-template-rows:auto auto;text-align:left;padding:18px;border:1px solid var(--line);border-radius:16px;background:#fff}.choice-list span{grid-row:1/3;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--sky);color:var(--blue);font-weight:900}.choice-list strong{font-size:17px}.choice-list p{margin:1px 0 0;color:var(--muted);font-size:14px}
.assessment-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.assessment-card{display:flex;flex-direction:column;min-height:430px;padding:30px;border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:0 16px 40px rgba(15,23,42,.07)}.assessment-card h2{font-size:30px;margin-top:22px}.assessment-card>p{color:var(--muted)}.assessment-card ul{padding-left:20px;margin:8px 0 28px}.assessment-card li{margin:5px 0}.card-top{display:flex;align-items:center}.number{font-size:36px;line-height:1;font-weight:900;color:#cbd5e1}.tag{padding:6px 11px;border-radius:999px;background:var(--sky);color:var(--blue-dark);font-size:13px;font-weight:800}.assessment-two .tag{background:#ecfdf5;color:var(--green)}
.button{display:inline-flex;align-items:center;gap:16px;min-height:50px;margin-top:auto;padding:0 20px;border:0;border-radius:13px;background:var(--blue);color:#fff;font:inherit;font-weight:800;text-decoration:none;cursor:pointer;transition:.2s}.button:hover{background:var(--blue-dark);transform:translateY(-1px)}.button.full{width:100%;margin-top:6px}
.process{margin-top:24px;padding:30px;border:1px solid #c7d2fe;border-radius:22px;background:#eef2ff}.process-row{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:16px}.process-row div{display:grid;padding:14px;border-radius:14px;background:#fff}.process-row b{color:var(--navy)}.process-row span{color:var(--muted);font-size:14px}.process-row i{color:var(--blue);font-size:22px;font-style:normal}
footer{padding:24px 0;background:#eaf0f8;color:#64748b;text-align:center;font-size:14px}
.back{display:inline-block;margin-bottom:16px;color:#dbeafe;text-decoration:none}.sub-header h1{font-size:clamp(30px,4vw,46px);margin-bottom:12px}
.layout{display:grid;grid-template-columns:350px 1fr;gap:22px;align-items:start;padding:30px 0 56px}.panel{min-width:0;padding:25px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 10px 28px rgba(15,23,42,.05)}.input-panel{position:relative;scroll-margin-top:18px}.input-panel>.step-label{display:inline-flex;align-items:center;min-height:25px;margin-bottom:8px;padding:3px 9px;border-radius:999px;background:var(--sky);line-height:1.25}.input-panel>h2{margin-bottom:10px}.result-panel{min-height:520px}.form-panel{grid-column:1/-1}
.source-layout{display:grid;grid-template-columns:minmax(320px,.85fr) minmax(0,1.15fr);gap:22px;align-items:start;padding:30px 0 56px}.source-layout .case-panel,.source-layout .form-panel{grid-column:1/-1}.optional{color:var(--muted);font-size:13px;font-weight:500}.or-divider{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:13px}.or-divider:before,.or-divider:after{content:"";height:1px;flex:1;background:var(--line)}.check-row{display:grid;grid-template-columns:auto 1fr;align-items:start;gap:9px;padding:12px;border-radius:11px;background:#f8fafc;font-size:14px}.check-row input{margin-top:5px;accent-color:var(--blue)}.summary-output{min-height:300px}.source-warning{margin-top:12px;padding:13px;border:1px solid #fecaca;border-radius:11px;background:#fef2f2;color:#991b1b}.case-panel .output{min-height:360px}
form{display:grid;gap:15px}label{display:grid;gap:7px;font-weight:750}input[type="text"],input[type="url"],textarea{width:100%;padding:12px 13px;border:1px solid #cbd5e1;border-radius:11px;background:#fff;font:inherit}input[type="text"]:focus,input[type="url"]:focus,textarea:focus{outline:3px solid #dbeafe;border-color:var(--blue)}textarea{resize:vertical;line-height:1.5}.required{color:#dc2626}
.form-help{color:var(--muted);margin-bottom:16px}.mode-picker{display:grid;gap:8px;margin:0;padding:0;border:0}.mode-picker legend{margin-bottom:8px;font-weight:800}.mode-picker label{display:grid;grid-template-columns:auto 1fr;align-items:start;gap:10px;padding:11px;border:1px solid var(--line);border-radius:12px;cursor:pointer}.mode-picker label:has(input:checked){border-color:#60a5fa;background:var(--sky)}.mode-picker input{margin-top:5px;accent-color:var(--blue)}.mode-picker span{display:grid}.mode-picker small{color:var(--muted);font-weight:500}.common-notice,.student-duty{padding:13px;border-radius:12px;background:#f0fdfa;color:#115e59}.common-notice{margin:0;font-size:14px}.student-duty{display:flex;flex-wrap:wrap;gap:6px 12px;margin-top:14px}.student-duty span{color:#0f766e}.source-fields{display:grid;gap:12px;padding:14px;border:1px solid #bfdbfe;border-radius:13px;background:#eff6ff}.source-fields p{margin:0;color:#475569;font-size:13px}
.result-header{display:flex;align-items:center;gap:14px}.result-header h2{margin-bottom:0}.ghost{display:inline-flex;align-items:center;min-height:38px;padding:0 12px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);font:inherit;font-size:14px;text-decoration:none;cursor:pointer}.output{min-height:390px;margin:16px 0 0;padding:19px;border:1px solid var(--line);border-radius:14px;background:#f8fafc;white-space:pre-wrap;font-family:inherit;word-break:keep-all}.output.empty{display:flex;align-items:center;justify-content:center;color:var(--muted);text-align:center}.loading{margin-top:14px;padding:12px;border-radius:11px;background:var(--sky);color:var(--blue-dark);font-weight:800}.hidden{display:none!important}.google-form{width:100%;height:1400px;border:1px solid var(--line);border-radius:14px;background:#fff}.toast{position:fixed;z-index:50;left:50%;bottom:26px;transform:translateX(-50%);padding:11px 16px;border-radius:999px;background:#111827;color:#fff;box-shadow:0 8px 24px rgba(0,0,0,.2)}
@media(max-width:980px){.choice-list{grid-template-columns:repeat(2,1fr)}}
@media(max-width:860px){.hero-grid,.assessment-grid,.layout,.source-layout{grid-template-columns:1fr}.hero-note{max-width:620px}.choice-list{grid-template-columns:1fr}.form-panel,.source-layout .case-panel,.source-layout .form-panel{grid-column:auto}.process-row{grid-template-columns:1fr}.process-row i{transform:rotate(90deg);justify-self:center}.google-form{height:1500px}}
@media(max-width:540px){.container{width:min(100% - 24px,1120px)}.site-header{padding:44px 0 38px}.sub-header{padding:24px 0 30px}.layout{padding-top:18px}.assessment-card,.panel{padding:21px}.input-panel{padding-top:19px}.input-panel>.step-label{font-size:12px}.result-header{align-items:flex-start}.student-duty{display:grid}}

/* 수행평가 1 · 사례 선택 첫 화면 */
body[data-page="case-finder"]{--case-navy:#18345e;--case-blue:#2d5e9f;--case-paper:#fffdf8;--case-line:#d9d5cc;--case-gold:#d5a94f;background:var(--case-paper)}
.topbar{height:76px;display:flex;align-items:center;padding:0 max(5vw,24px);background:var(--case-navy);color:#fff;border-bottom:1px solid rgba(255,255,255,.15)}
.brand{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none}.brandMark{width:38px;height:38px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.7);font-family:serif;font-size:21px}.brand b,.brand small{display:block}.brand b{font-size:16px;letter-spacing:.04em}.brand small{margin-top:3px;opacity:.7;font-size:11px}.headerNote{display:flex;align-items:center;gap:8px;color:#dfe9f6;font-size:12px}.headerNote span{width:7px;height:7px;border-radius:50%;background:#75d1a5;box-shadow:0 0 0 4px rgba(117,209,165,.12)}
.case-hero{min-height:490px;padding:76px max(7vw,28px) 88px;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:8vw;align-items:center;position:relative;overflow:hidden;background:var(--case-navy);color:#fff}.case-hero:before{content:"";position:absolute;width:420px;height:420px;right:-90px;top:-120px;border:1px solid rgba(255,255,255,.08);border-radius:50%;box-shadow:0 0 0 70px rgba(255,255,255,.025),0 0 0 140px rgba(255,255,255,.018)}.heroInner{position:relative;z-index:1;max-width:760px}.case-hero .eyebrow{color:#d6bd82;font-size:12px;letter-spacing:.22em;margin:0 0 24px}.case-hero h1{font-family:"Noto Serif KR",Georgia,serif;font-size:clamp(42px,5.3vw,72px);line-height:1.2;letter-spacing:-.04em;font-weight:600;margin:0}.case-hero h1 em{color:#e1c27b;font-style:normal}.heroText{max-width:680px;margin:28px 0 36px;color:#c9d4e5;font-size:16px;line-height:1.85}.stats{display:flex;gap:34px}.stats div{display:flex;align-items:baseline;gap:8px;padding-right:34px;border-right:1px solid rgba(255,255,255,.18)}.stats div:last-child{border:0}.stats strong{font:27px Georgia,serif}.stats span{font-size:11px;color:#91a4c0}.heroPanel{position:relative;z-index:1;min-height:300px;padding:42px;display:flex;flex-direction:column;justify-content:flex-end;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.055);backdrop-filter:blur(10px)}.scale{position:absolute;right:30px;top:25px;color:rgba(225,194,123,.35);font-size:78px}.panelTag{font-size:10px;color:#d6bd82;letter-spacing:.18em}.heroPanel p{font:31px/1.4 "Noto Serif KR",Georgia,serif;margin:13px 0 20px}.line{width:46px;height:2px;background:var(--case-gold);margin-bottom:18px}.heroPanel small{color:#9eb0ca}
.workspace{display:grid;grid-template-columns:250px minmax(0,1fr);gap:54px;padding:72px max(5vw,24px) 100px;max-width:1500px;margin:0 auto}.guide{position:sticky;top:28px;height:fit-content;border-top:3px solid var(--case-navy);padding-top:22px}.guideNo{color:var(--case-blue);font:700 11px/1 Georgia,serif;letter-spacing:.16em}.guide h2,.sectionHead h2{font-family:"Noto Serif KR",Georgia,serif;font-size:25px;margin:8px 0 22px}.guide ol{padding:0;margin:0;list-style:none;counter-reset:steps}.guide li{counter-increment:steps;position:relative;padding:0 0 20px 32px;color:#586274;font-size:13px;line-height:1.65}.guide li:before{content:counter(steps);position:absolute;left:0;top:0;width:20px;height:20px;border-radius:50%;border:1px solid #bac3d0;color:var(--case-blue);display:grid;place-items:center;font:11px Georgia,serif}.caution{margin-top:18px;padding:16px;border-left:3px solid var(--case-gold);background:#f2eee5}.caution b{font-size:12px;color:#8e691d}.caution p{margin:7px 0 0;color:#6b6252;font-size:12px;line-height:1.65}
.sectionHead{display:flex;align-items:flex-end;gap:28px;padding-bottom:22px;border-bottom:1px solid var(--case-line)}.sectionHead h2{margin-bottom:0}.search{width:min(420px,55%);height:48px;display:flex;align-items:center;gap:10px;border-bottom:2px solid var(--ink)}.search span{font-size:22px}.search input{width:100%;border:0;outline:0;background:transparent}.filters{display:flex;align-items:center;gap:20px;padding:22px 0 12px}.tabs{display:flex;gap:7px;flex-wrap:wrap}.tabs button{padding:9px 18px;border:1px solid #ccd2dc;border-radius:999px;background:#fff;color:#596476;cursor:pointer}.tabs button.active{background:var(--case-navy);color:#fff;border-color:var(--case-navy)}.filters label{color:#697384;font-size:12px;white-space:nowrap}.filters select{margin-left:10px;padding:8px 28px 8px 10px;border:1px solid #ccd2dc;background:#fff}.resultCount{margin:20px 0 14px;color:#758092;font-size:12px}.resultCount b{color:var(--case-blue)}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.caseCard{min-height:430px;padding:24px;display:flex;flex-direction:column;border:1px solid #d9dce2;background:#fff;transition:.2s}.caseCard:hover{transform:translateY(-4px);border-color:#9cacc3;box-shadow:0 15px 36px rgba(24,52,94,.1)}.cardTop{display:flex;align-items:center;margin-bottom:18px}.category{padding:5px 10px;border-radius:2px;font-size:11px;font-weight:700}.cat계약{background:#e5edf8;color:#285587}.cat손해배상{background:#e8f1eb;color:#39704d}.cat범죄{background:#f4e7e5;color:#95483f}.caseCard h3{font:20px/1.45 "Noto Serif KR",Georgia,serif;margin:0 0 12px}.summary{margin:0 0 17px;color:#667082;font-size:13px;line-height:1.7;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.question{padding-top:15px;border-top:1px dashed #d5d9df}.question b,.concept span{display:block;margin-bottom:6px;color:var(--case-blue);font-size:10px;letter-spacing:.06em}.question p{margin:0;color:#303b4e;font-size:13px;line-height:1.55}.concept{margin-top:14px;color:#5d6675;font-size:12px}.careerTags{margin:auto 0 17px;padding-top:18px;display:flex;gap:8px;flex-wrap:wrap;color:#8992a1;font-size:11px}.cardActions{display:grid;grid-template-columns:1fr 1.25fr;gap:8px}.cardActions button,.modalActions button,.modalActions a{min-height:40px;border:0;cursor:pointer;display:grid;place-items:center;text-decoration:none;font-size:12px;font-weight:700}.detailBtn{background:#eef0f3;color:#536072}.chooseBtn,.modalActions button{background:var(--case-navy);color:#fff}
[hidden],.hidden{display:none!important}.modalBackdrop{position:fixed;inset:0;z-index:50;padding:20px;display:grid;place-items:center;background:rgba(7,15,28,.72)}.modal{position:relative;width:min(650px,100%);max-height:90vh;overflow-y:auto;padding:42px;background:var(--case-paper);box-shadow:0 30px 80px rgba(0,0,0,.35)}.close{position:absolute;right:18px;top:14px;border:0;background:transparent;color:#77808d;font-size:30px;cursor:pointer}.modal h2{font:28px "Noto Serif KR",Georgia,serif;margin:16px 0 7px}.caseNo{margin:0 0 24px;color:#7b8492;font-size:12px}.modalBlock{padding:16px 0;border-top:1px solid #ddd9d0}.modalBlock b{color:var(--case-blue);font-size:12px}.modalBlock p{margin:7px 0 0;color:#485365;font-size:14px;line-height:1.7}.modalBlock.highlight{margin:0 -14px;padding:16px 14px;border:0;background:#f2eee5}.sourceWarning{color:#8a6a2e;font-size:12px;line-height:1.6}.modalActions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px}.modalActions a{background:#e6e9ee;color:#354358}

/* 선택 뒤 수행평가 1 */
.selected-case-layout{display:grid;gap:22px;padding:30px 0 56px}.selected-case-panel,.judgment-panel{grid-column:1/-1}.case-detail-view{display:grid;gap:0;margin-top:20px;border:1px solid var(--line);border-radius:16px;overflow:hidden}.selected-case-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:14px 18px;background:#f8fafc;color:var(--muted);font-size:13px}.case-detail-block{padding:20px 22px;border-top:1px solid var(--line)}.case-detail-block strong{display:block;margin-bottom:7px;color:var(--blue);font-size:13px}.case-detail-block p{margin:0;line-height:1.75}.case-detail-block.key-question{background:#eff6ff}.official-source-box{margin-top:18px;padding:20px;border:1px solid #bfdbfe;border-radius:14px;background:#eff6ff}.official-source-box p{color:var(--muted)}.official-source-box .button{width:fit-content;margin-top:2px}

@media(max-width:1100px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.case-hero{gap:4vw}}
@media(max-width:800px){.headerNote{display:none}.case-hero{grid-template-columns:1fr;padding-top:54px}.heroPanel{min-height:230px}.workspace{grid-template-columns:1fr}.guide{position:static}.sectionHead{align-items:stretch;flex-direction:column}.search{width:100%}}
@media(max-width:580px){.topbar{height:68px}.case-hero{min-height:0;padding:48px 22px 58px}.case-hero h1{font-size:39px}.heroText{font-size:14px}.heroPanel{display:none}.stats{gap:15px}.stats div{padding-right:15px;flex-direction:column;gap:2px}.workspace{padding:48px 18px 70px;gap:42px}.filters{align-items:flex-start;flex-direction:column}.cards{grid-template-columns:1fr}.modal{padding:34px 22px 24px}.modalActions{grid-template-columns:1fr}.selected-case-meta{align-items:flex-start;flex-direction:column}}

.answer-form{margin-top:24px}.identity-grid{display:grid;grid-template-columns:1fr 1fr 2fr;gap:14px}.answer-form select,.answer-form input[type="number"],.answer-form input[type="password"],.admin-layout select{width:100%;padding:12px 13px;border:1px solid #cbd5e1;border-radius:11px;background:#fff;font:inherit}.confirm-row{display:flex;align-items:flex-start;gap:10px;padding:14px;background:#f8fafc;border-radius:12px}.confirm-row input{margin-top:6px}.draft-badge{padding:6px 10px;border-radius:999px;background:#fef3c7;color:#92400e;font-size:12px;font-weight:800}.submit-status{padding:18px;border-radius:14px;font-weight:800;border:2px solid transparent}.submit-status.success{display:grid;gap:5px;background:#ecfdf5;color:#047857;border-color:#34d399}.submit-status.success strong{font-size:20px}.submit-status.success span{font-size:14px}.submit-status.error{background:#fef2f2;color:#b91c1c}.button:disabled{opacity:.55;cursor:not-allowed;transform:none}.judgment-panel .button.ready{opacity:1;background:#16a34a;box-shadow:0 8px 22px rgba(22,163,74,.25)}.admin-layout{padding:36px 0 70px}.admin-login{max-width:520px;margin:auto}.dashboard-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:22px}.dashboard-cards div{display:grid;padding:24px;border-radius:18px;background:#fff;border:1px solid var(--line)}.dashboard-cards strong{font-size:34px;color:var(--blue)}.dashboard-cards span{color:var(--muted)}.admin-toolbar{display:flex;align-items:end;gap:18px;margin-bottom:20px}.admin-toolbar>div{display:flex;gap:14px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;white-space:nowrap}th,td{padding:12px;border-bottom:1px solid var(--line);text-align:left}th{background:#f8fafc}dialog{width:min(760px,calc(100% - 28px));max-height:88vh;border:0;padding:38px;border-radius:18px;box-shadow:0 24px 70px rgba(0,0,0,.25)}dialog p{white-space:pre-wrap;padding:12px;background:#f8fafc;border-radius:10px}
.length-rule{display:inline-block;margin-left:7px;padding:3px 8px;border-radius:999px;background:#dbeafe;color:#1d4ed8;font-size:12px;font-weight:800;vertical-align:1px}.char-count{justify-self:end;margin-top:-3px;color:#dc2626;font-size:12px;font-weight:750}.char-count.valid{color:#047857}.answer-form textarea:invalid:not(:placeholder-shown){border-color:#f87171;background:#fffafa}.answer-form textarea:valid{border-color:#86efac}
.admin-actions{display:flex;align-items:end;gap:10px}.danger-button,.row-delete{border:1px solid #fecaca;border-radius:10px;background:#fff;color:#b91c1c;font:inherit;font-weight:800;cursor:pointer}.danger-button{min-height:50px;padding:0 18px}.danger-button:hover,.row-delete:hover{background:#fef2f2;border-color:#f87171}.row-delete{padding:7px 11px}.danger-button:disabled,.row-delete:disabled{opacity:.5;cursor:not-allowed}.admin-status{min-height:24px;margin:-6px 0 12px;color:#047857;font-size:14px;font-weight:800}.empty-row{text-align:center;color:var(--muted);padding:30px}
@media(max-width:580px){.identity-grid,.dashboard-cards{grid-template-columns:1fr}.admin-toolbar,.admin-toolbar>div{align-items:stretch;flex-direction:column}}

/* V20.8 · 법학 테마와 전 화면 타이포그래피 통일 */
:root{--navy:#172b4d;--blue:#294f7c;--blue-dark:#17365d;--sky:#edf2f7;--cream:#f6f2e9;--ink:#202a38;--muted:#647083;--line:#d8d5cd;--gold:#b28a3e;--paper:#fffefa}
body,button,input,select,textarea{font-family:"Noto Sans KR","Apple SD Gothic Neo","Malgun Gothic",system-ui,-apple-system,"Segoe UI",sans-serif}
body{background-color:var(--cream);background-image:linear-gradient(rgba(23,43,77,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(23,43,77,.025) 1px,transparent 1px);background-size:34px 34px}
h1,h2,h3,.case-hero h1,.heroPanel p,.guide h2,.sectionHead h2,.caseCard h3,.modal h2{font-family:inherit;font-weight:800}
.site-header,.sub-header{background:radial-gradient(circle at 85% 20%,rgba(190,153,78,.18),transparent 23%),linear-gradient(135deg,#101e35 0%,#172f52 58%,#244a74 100%)}
.site-header:before,.sub-header:before{content:"⚖";position:absolute;right:max(4vw,24px);top:50%;transform:translateY(-50%);color:rgba(255,255,255,.055);font-family:Georgia,serif;font-size:clamp(92px,15vw,190px);line-height:1;pointer-events:none}
.sub-header{position:relative;overflow:hidden;border-bottom:4px solid rgba(178,138,62,.75)}.sub-header .container{position:relative;z-index:1}.eyebrow{color:#e0c78f}
.panel,.assessment-card,.dashboard-cards div{border-color:#d7d1c5;background:rgba(255,254,250,.98);box-shadow:0 12px 34px rgba(30,42,58,.075)}
.panel{border-top:3px solid rgba(178,138,62,.72)}.step-label,.section-kicker{color:var(--blue-dark)}.input-panel>.step-label,.length-rule{background:#edf1f5;color:#244a74}
input[type="text"],input[type="url"],input[type="number"],input[type="password"],select,textarea,.answer-form select,.answer-form input[type="number"],.answer-form input[type="password"],.admin-layout select{border-color:#c8c4bb;background:#fff;color:var(--ink)}
input:focus,select:focus,textarea:focus,input[type="text"]:focus,input[type="url"]:focus{outline:3px solid rgba(178,138,62,.18);border-color:#9a762f}
.button{background:#244a74}.button:hover{background:#17365d}.ghost{border-color:#c9c3b7;background:#fffefa}
.case-detail-view{border-color:#d6d0c4;background:#fff}.selected-case-meta{background:#f3f0e9}.case-detail-block strong{color:#244a74}
.case-detail-block.key-question,.official-source-box{background:#f4f0e6;border-color:#d8c69f}.confirm-row,.output,th,dialog p{background:#f6f4ef}
footer{background:#e7e1d6;color:#596475;border-top:1px solid #d2cabd}
body[data-page="case-finder"]{--case-navy:#172b4d;--case-blue:#294f7c;--case-paper:#f8f4eb;--case-line:#d4cec2;--case-gold:#b28a3e}
.topbar{background:linear-gradient(90deg,#101e35,#172f52);border-bottom:3px solid rgba(178,138,62,.8)}
.brandMark{border-color:#d9bd7f;color:#ead9af;background:rgba(255,255,255,.035)}
.case-hero{background:linear-gradient(90deg,rgba(16,30,53,.98),rgba(23,47,82,.94)),repeating-linear-gradient(90deg,transparent 0 70px,rgba(255,255,255,.025) 70px 71px)}
.case-hero:after{content:"§";position:absolute;left:51%;bottom:-115px;color:rgba(255,255,255,.035);font:340px/1 Georgia,serif;pointer-events:none}
.case-hero:before{border-color:rgba(217,189,127,.12)}.heroPanel{border-color:rgba(217,189,127,.38);background:rgba(255,255,255,.045)}.scale{color:rgba(225,194,123,.43)}
.workspace{background:rgba(248,244,235,.9)}.guide{border-top-color:var(--gold)}.guideNo{color:#8b672b}.caution,.modalBlock.highlight{background:#efe8d9}
.search{border-bottom-color:#29415f}.tabs button{border-color:#c9c3b8;background:#fffefa}.tabs button.active{background:#172b4d;border-color:#172b4d}
.caseCard{border-color:#d1cbc0;border-top:3px solid rgba(178,138,62,.68);background:#fffefa;box-shadow:0 8px 22px rgba(23,43,77,.05)}
.caseCard:hover{border-color:#aa8d54;box-shadow:0 18px 38px rgba(23,43,77,.12)}.category{border-radius:999px}
.question b,.concept span,.modalBlock b{color:#294f7c}.detailBtn{background:#ece8df}.chooseBtn,.modalActions button{background:#172b4d}.modal{border-top:5px solid var(--gold)}
@media(max-width:580px){.site-header:before,.sub-header:before{right:6px;font-size:96px}.panel{border-top-width:2px}}

/* V21.1 · 루브릭 문항, 도움 자료, 답안 예시 */
.caseCard{min-height:390px}.caseCard .summary{-webkit-line-clamp:6}.cardTop{gap:8px;flex-wrap:wrap}
.case-type{margin-left:auto;padding:4px 8px;border-radius:999px;font-size:10px;font-weight:800}.case-type.real{background:#e7eef8;color:#294f7c}.case-type.created{background:#f2ead8;color:#7b5b20}
.guide-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}.guide-cards article{padding:14px;border:1px solid #d8d0c1;border-radius:10px;background:#fffefa}.guide-cards b{display:block;color:#244a74;font-size:13px}.guide-cards p{margin:5px 0 0;color:#536072;font-size:13px;line-height:1.65}
.decision-guide{background:#f6f2e9}.guide-intro{color:var(--muted);font-size:14px}.modalActions.single{grid-template-columns:1fr}.modalBlock.highlight .guide-cards{grid-template-columns:1fr}
.result-header{justify-content:space-between}.example-button{min-height:42px;padding:0 15px;border:1px solid #b28a3e;border-radius:10px;background:#fffefa;color:#6f521e;font:inherit;font-size:13px;font-weight:800;cursor:pointer}
.question-hint{display:block;margin-top:4px;padding:9px 12px;border-left:3px solid #b28a3e;background:#f8f5ed;color:#5f6876;font-size:13px;font-weight:500}
.unscored-badge,.score-badge{display:inline-block;margin-left:7px;padding:3px 8px;border-radius:999px;font-size:12px;font-weight:800;vertical-align:1px}.unscored-badge{background:#f1f5f9;color:#64748b}.score-badge{background:#ecfdf5;color:#047857}
.rubric-summary{margin:18px 0 22px;padding:17px 18px;border:1px solid #d8c69f;border-radius:12px;background:#fffaf0}.rubric-summary-title{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#172b4d}.rubric-summary-title strong{font-size:16px}.rubric-summary-title span{padding:4px 9px;border-radius:999px;background:#172b4d;color:#fff;font-size:12px;font-weight:800}.rubric-summary-items{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:13px}.rubric-summary-items span{padding:10px 8px;border-radius:8px;background:#fff;text-align:center;color:#4b5563;font-size:13px}.rubric-summary-items b{color:#294f7c}.rubric-summary p{margin:11px 0 0;color:#667082;font-size:12px;line-height:1.6}
.example-dialog{width:min(760px,calc(100% - 28px));padding:36px;border-top:5px solid #b28a3e}.example-dialog::backdrop{background:rgba(7,15,28,.72)}.example-case{margin:18px 0;padding:14px 16px;border-radius:12px;background:#f4f0e6}.example-case p{margin:5px 0 0}.example-answers{display:grid;gap:12px;padding-left:24px}.example-answers li{padding:13px 15px;border:1px solid #ddd6ca;border-radius:10px;background:#fff}.example-answers p{margin:5px 0 0;padding:0;background:transparent;white-space:normal;color:#4b5563}.example-note{margin:20px 0 0;padding:12px!important;border-radius:10px;background:#edf2f7!important;color:#475569;font-size:13px}
@media(max-width:700px){.guide-cards{grid-template-columns:1fr}.result-header{align-items:flex-start;flex-direction:column}.example-button{width:100%}.rubric-summary-items{grid-template-columns:1fr 1fr}}

/* V21.2 · 전체화면 및 화면 이탈 기록 */
.assessment-start{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:18px 0 22px;padding:18px;border:1px solid #b9c9dc;border-radius:12px;background:#f3f7fb}.assessment-start strong{display:block;color:#17365d;font-size:16px}.assessment-start p{max-width:760px;margin:5px 0 0;color:#596779;font-size:13px;line-height:1.65}.assessment-start .button{flex:0 0 auto;min-width:130px}
.focus-monitor{position:sticky;top:10px;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:16px;margin:18px 0;padding:12px 15px;border:1px solid #b8c8da;border-radius:12px;background:rgba(245,248,252,.96);box-shadow:0 7px 22px rgba(23,43,77,.1);backdrop-filter:blur(9px)}.focus-monitor>span{display:flex;gap:12px}.focus-monitor>span:first-child{flex-direction:column;gap:0}.focus-monitor b{color:#17365d;font-style:normal}.focus-monitor small{color:#657286}.focus-counts em{color:#9b3a2f;font-style:normal}.focus-warning{margin:-7px 0 18px;padding:12px 14px;border:1px solid #f3b5ab;border-radius:10px;background:#fff3f1;color:#9b2f25;font-size:13px;font-weight:800}
.monitor-badge{display:inline-block;min-width:70px;padding:5px 8px;border-radius:999px;background:#eef2f7;color:#46566b;text-align:center;font-size:12px;font-weight:800}.monitor-badge.has-exit{background:#fff0ed;color:#a43b2f}
.monitor-detail{margin:0 0 18px;padding:13px 15px;border:1px solid #d7c7a5;border-radius:10px;background:#fffaf0;white-space:pre-wrap;color:#5f5140}
@media(max-width:700px){.assessment-start,.focus-monitor{align-items:stretch;flex-direction:column}.assessment-start .button{width:100%;min-height:48px}.focus-monitor{top:5px}.focus-monitor>span,.focus-counts{justify-content:space-between}.focus-counts{width:100%}}
@media(max-width:420px){.rubric-summary-items{grid-template-columns:1fr}.focus-counts{align-items:flex-start;flex-direction:column;gap:3px}.example-dialog{padding:28px 20px}.answer-form textarea{font-size:16px}}

/* V21.3 · 미니 AI 도우미 */
.mini-ai{margin:20px 0 24px;border:1px solid #b9c9dc;border-radius:15px;background:#f8fbff;overflow:hidden}.mini-ai-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 17px;background:#eaf1f8}.mini-ai-head>div{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.mini-ai-mark{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#244a74;color:#fff;font-size:12px;font-weight:900}.mini-ai-head strong{color:#17365d}.mini-ai-head small{color:#657286}.mini-ai-head>b{padding:5px 9px;border-radius:999px;background:#fff;color:#244a74;font-size:12px;white-space:nowrap}.mini-ai-log{max-height:390px;overflow:auto;display:grid;gap:11px;padding:16px}.mini-ai-empty{margin:0;color:#657286;font-size:13px}.mini-ai-turn{display:grid;gap:6px}.mini-ai-turn p{margin:0;padding:10px 12px;border-radius:11px;white-space:pre-wrap;font-size:13px}.mini-ai-turn .student-q{margin-left:9%;background:#244a74;color:#fff}.mini-ai-turn .ai-a{margin-right:9%;border:1px solid #d9d2c5;background:#fffefa;color:#374557}.mini-ai-turn time{color:#7b8795;font-size:11px}.mini-ai-form{display:grid;grid-template-columns:1fr auto;gap:9px;padding:0 16px 5px}.mini-ai-form textarea{min-height:62px;margin:0;resize:vertical}.mini-ai-form .button{min-width:116px}.mini-ai-count{display:block;padding:0 17px 13px;text-align:right;color:#718096;font-size:11px}.mini-ai-form button:disabled{opacity:.55}
@media(max-width:650px){.mini-ai-head{align-items:flex-start;flex-direction:column}.mini-ai-form{grid-template-columns:1fr}.mini-ai-form .button{min-height:46px}.mini-ai-turn .student-q{margin-left:3%}.mini-ai-turn .ai-a{margin-right:3%}}

/* V21.5 · 평가 시작 전 규칙 확인 팝업 */
.policy-submit-notice{margin:0 0 16px;padding:12px 14px;border:1px solid #f0c36a;border-radius:12px;background:#fff8df;color:#704b00;text-align:center}
.assessment-policy-dialog{width:min(720px,calc(100% - 28px));padding:34px;border-top:5px solid #b28a3e}.assessment-policy-dialog::backdrop{background:rgba(7,15,28,.78);backdrop-filter:blur(3px)}.assessment-policy-dialog h2{margin-bottom:18px;color:#172b4d}.assessment-policy-dialog ul{display:grid;gap:11px;margin:0;padding:0;list-style:none}.assessment-policy-dialog li{position:relative;padding-left:20px;color:#4f5c6d;font-size:14px;line-height:1.7}.assessment-policy-dialog li:before{content:"";position:absolute;left:0;top:.7em;width:8px;height:8px;border-radius:50%;background:#b28a3e}.assessment-policy-dialog li b{color:#253c59}.ai-policy{margin-top:18px;padding:15px;border:1px solid #c7d5e4;border-radius:11px;background:#f2f7fb}.ai-policy strong{display:block;margin-bottom:7px;color:#17365d;font-size:14px}.ai-policy p{margin:0 0 8px;color:#5d6978;font-size:13px;line-height:1.65}.ai-policy p:last-child{margin-bottom:0}.policy-confirm{display:flex;grid-template-columns:none;align-items:flex-start;gap:10px;margin-top:18px;padding:14px;border-radius:11px;background:#f6f4ef;cursor:pointer}.policy-confirm input{flex:0 0 auto;margin-top:5px;accent-color:#244a74}.policy-dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.policy-dialog-actions .button{margin-top:0}.policy-dialog-actions .ghost{min-height:50px}.policy-dialog-actions .button:disabled{background:#94a3b8}
@media(max-width:580px){.assessment-policy-dialog{padding:27px 20px}.assessment-policy-dialog li,.ai-policy p{font-size:12px}.policy-dialog-actions{align-items:stretch;flex-direction:column-reverse}.policy-dialog-actions .button,.policy-dialog-actions .ghost{width:100%;justify-content:center}}

/* V21.4 · 브라우저 재실행 복구 및 30분 제출 제한 */
.submit-timer{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:10px;margin-top:8px;padding:13px 15px;border:1px solid #d8c69f;border-radius:11px;background:#fffaf0;color:#5f5140}.submit-timer strong{color:#6f521e}.submit-timer span{min-width:62px;padding:4px 8px;border-radius:999px;background:#172b4d;color:#fff;text-align:center;font-variant-numeric:tabular-nums;font-weight:900}.submit-timer small{color:#6b7280}.submit-timer.ready{border-color:#86c7a2;background:#effaf3}.submit-timer.ready strong{color:#146c43}.submit-timer.ready span{background:#146c43}
@media(max-width:580px){.submit-timer{grid-template-columns:1fr auto}.submit-timer small{grid-column:1/-1}}
