:root{
  --ink-900:#0b0d12;--ink-800:#16181d;--ink-700:#2b2f36;--ink-600:#3d434c;--ink-500:#4b5563;--ink-400:#6b7280;--ink-300:#9aa1ad;
  --line:#e7e9ee;--panel:#f7f8fa;--soft:#eef2f7;--blue:#1b3a5b;--blue-dark:#142b47;--blue-light:#f5f8fc;
  --ok:#15814f;--ok-soft:#e7f7ef;--warn:#9a6212;--warn-soft:#fcf3e3;--danger:#b42318;--danger-soft:#fdeaea;
  --shadow:0 12px 30px rgba(20,30,60,.08);--radius:18px;
  --font:"Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic",system-ui,sans-serif;
}
*{box-sizing:border-box}
html{font-size:18px}
body{margin:0;background:linear-gradient(180deg,#f8fbff 0,#fff 260px);color:var(--ink-800);font-family:var(--font);line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button,input,select{font:inherit}
button{cursor:pointer}
:where(button,input,select,a):focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.case-topbar{height:64px;padding:0 22px;border-bottom:1px solid rgba(231,233,238,.9);background:rgba(255,255,255,.9);backdrop-filter:blur(16px);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;position:sticky;top:0;z-index:20}
.case-brand{display:flex;align-items:center;gap:8px;font-weight:850;letter-spacing:-.03em}.case-brand-dot{color:var(--blue);font-size:.72rem}.case-topbar-center{font-size:.84rem;font-weight:800;color:var(--ink-500)}.case-home-link{justify-self:end;font-size:.82rem;font-weight:700;color:var(--ink-500)}
.case-shell{width:min(100% - 32px,920px);margin:0 auto;padding:54px 0 80px}.case-hero{max-width:700px;margin-bottom:30px}.case-kicker{font-size:.72rem;font-weight:850;color:var(--blue);letter-spacing:.02em;margin-bottom:9px}.case-hero h1{font-size:clamp(2rem,5vw,3.2rem);line-height:1.08;letter-spacing:-.055em;margin:0;color:var(--ink-900)}.case-hero p{font-size:.95rem;color:var(--ink-500);max-width:680px;margin:16px 0 0}
.case-app{background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow);overflow:hidden}.case-loading{min-height:340px;display:grid;place-items:center;align-content:center;gap:14px;color:var(--ink-400)}.case-spinner{width:30px;height:30px;border:3px solid var(--line);border-top-color:var(--blue);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.case-panel{padding:30px}.case-panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:24px}.case-panel-head h2{font-size:1.35rem;line-height:1.3;margin:4px 0 0;color:var(--ink-900);letter-spacing:-.025em}.case-panel-head p{margin:6px 0 0;color:var(--ink-400);font-size:.86rem}.case-step{font-size:.7rem;font-weight:850;color:var(--blue);text-transform:uppercase;letter-spacing:.05em}.case-progress{display:flex;gap:6px;margin:0 30px}.case-progress span{height:5px;flex:1;border-radius:999px;background:#edf0f4}.case-progress span.on{background:var(--blue)}
.case-form{display:grid;gap:18px}.question-card{border:1px solid var(--line);border-radius:16px;padding:18px;background:#fff}.question-label{display:block;font-size:.92rem;font-weight:800;color:var(--ink-800);margin-bottom:12px}.question-help{font-size:.75rem;color:var(--ink-400);margin:-5px 0 10px}.choice-grid{display:flex;gap:9px;flex-wrap:wrap}.choice{position:relative}.choice input{position:absolute;opacity:0;pointer-events:none}.choice span{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:9px 13px;border:1px solid var(--line);border-radius:11px;background:#fff;font-size:.82rem;font-weight:700;color:var(--ink-600);transition:.14s}.choice input:checked+span{border-color:var(--blue);background:var(--soft);color:var(--blue)}
.case-input,.case-select{width:100%;height:46px;border:1px solid var(--line);border-radius:11px;background:#fff;padding:0 13px;color:var(--ink-800)}.case-input:focus,.case-select:focus{border-color:var(--blue);outline:none;box-shadow:0 0 0 3px rgba(27,58,91,.08)}.input-row{display:grid;grid-template-columns:160px 1fr;gap:10px}
.case-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:22px}.btn{border:1px solid var(--line);border-radius:11px;background:#fff;padding:11px 16px;font-size:.84rem;font-weight:800;color:var(--ink-600)}.btn:hover{background:var(--panel)}.btn.primary{background:var(--blue);border-color:var(--blue);color:#fff}.btn.primary:hover{background:var(--blue-dark)}.btn.danger{border-color:#f2c8c8;color:var(--danger)}.btn.full{width:100%}.btn:disabled{opacity:.55;cursor:not-allowed}
.case-start{padding:30px}.case-start-grid{display:grid;gap:18px}.case-start h2{font-size:1.45rem;letter-spacing:-.03em;margin:0 0 5px;color:var(--ink-900)}.case-start p{margin:0 0 22px;color:var(--ink-400);font-size:.86rem}.case-start-note{background:var(--blue-light);border-radius:12px;padding:12px 14px;font-size:.76rem;color:var(--ink-500)}
.case-alert{margin:20px 30px 0;border-radius:12px;padding:12px 14px;font-size:.78rem}.case-alert.error{background:var(--danger-soft);color:var(--danger)}.case-alert.info{background:var(--soft);color:var(--blue)}
.workspace{padding:30px}.workspace-top{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:24px}.workspace-title{font-size:1.45rem;font-weight:850;color:var(--ink-900);letter-spacing:-.035em}.workspace-sub{font-size:.8rem;color:var(--ink-400);margin-top:4px}.status-pill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:7px 10px;background:var(--ok-soft);color:var(--ok);font-size:.7rem;font-weight:850}.status-pill::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.workspace-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:16px}.workspace-card{border:1px solid var(--line);border-radius:16px;padding:18px;background:#fff}.workspace-card h3{font-size:.88rem;margin:0 0 14px;color:var(--ink-800)}.workspace-card.wide{grid-column:1/-1}.fact-list{display:grid;gap:10px}.fact-row{display:flex;justify-content:space-between;gap:20px;border-bottom:1px dashed var(--line);padding-bottom:9px;font-size:.78rem}.fact-row:last-child{border-bottom:0;padding-bottom:0}.fact-key{color:var(--ink-400)}.fact-value{color:var(--ink-700);font-weight:700;text-align:right}.issue-list{display:flex;gap:7px;flex-wrap:wrap}.issue-chip{border-radius:999px;background:var(--soft);color:var(--blue);padding:6px 9px;font-size:.7rem;font-weight:800}
.next-action{background:linear-gradient(135deg,#142b47,#1b3a5b);color:#fff;border:0}.next-action .eyebrow{font-size:.68rem;font-weight:850;opacity:.72}.next-action h3{color:#fff;font-size:1.05rem;margin:5px 0 7px}.next-action p{margin:0;color:rgba(255,255,255,.76);font-size:.78rem}.next-action .btn{margin-top:15px;background:#fff;color:var(--blue);border-color:#fff}
.evidence-list{display:grid;gap:10px}.evidence-row{display:grid;grid-template-columns:1fr 150px;gap:12px;align-items:center}.evidence-name{font-size:.78rem;font-weight:750;color:var(--ink-700)}.evidence-select{height:38px;border:1px solid var(--line);border-radius:9px;padding:0 9px;background:#fff;font-size:.74rem}.evidence-summary{font-size:.72rem;color:var(--ink-400);margin-bottom:12px}.extra-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.extra-item{border:1px solid var(--line);border-radius:12px;padding:12px}.extra-item b{font-size:.76rem;display:block;margin-bottom:8px}.extra-item .choice span{min-height:34px;padding:6px 10px;font-size:.7rem}
.workspace-foot{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}.workspace-foot small{color:var(--ink-400);font-size:.7rem}
.case-safety{margin-top:18px;padding:15px 17px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.75)}.case-safety b{font-size:.76rem;color:var(--ink-700)}.case-safety p{font-size:.72rem;color:var(--ink-400);margin:5px 0 0}
.case-empty{text-align:center;padding:46px 24px}.case-empty h2{font-size:1.2rem;margin:0 0 8px}.case-empty p{font-size:.82rem;color:var(--ink-400);margin:0 0 18px}
@media(max-width:720px){html{font-size:17px}.case-topbar{padding:0 16px}.case-shell{width:min(100% - 22px,920px);padding:34px 0 60px}.case-hero{padding:0 4px}.case-panel,.case-start,.workspace{padding:20px}.case-progress{margin:0 20px}.case-panel-head,.workspace-top{flex-direction:column}.workspace-grid{grid-template-columns:1fr}.workspace-card.wide{grid-column:auto}.input-row{grid-template-columns:1fr}.evidence-row{grid-template-columns:1fr}.extra-grid{grid-template-columns:1fr}.case-actions{flex-direction:column}.case-actions .btn{width:100%}.workspace-foot{align-items:stretch;flex-direction:column}.case-home-link{font-size:.76rem}}
