:root{--color-primary:#0d3b5c;--color-primary-hover:#092943;--color-primary-soft:#e7edf2;--color-ink:#14181c;--color-body:#2b3138;--color-muted:#6b7480;--color-utility:#4a525c;--color-border:#d6dbe1;--color-border-strong:#b0b8c1;--color-bg:#fff;--color-bg-subtle:#f4f6f8;--color-bg-sunken:#ecf0f3;--color-success:#1f6f52;--color-success-bg:#e6f0ec;--color-warning:#8a5a12;--color-warning-bg:#f7eede;--color-danger:#9c3b34;--color-danger-bg:#f5e6e4;--radius:0px;--radius-pill:6px;--sans:"Segoe UI", "Noto Sans KR", system-ui, -apple-system, Roboto, sans-serif;--mono:ui-monospace, "Cascadia Code", "Consolas", "SFMono-Regular", monospace;font:15px/1.5 var(--sans);color:var(--color-body);background:var(--color-bg);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}body{margin:0}#root{max-width:880px;margin:0 auto;padding:28px 24px 56px}.page-with-run-footer{padding-bottom:80px}.run-footer{z-index:10;background:var(--color-bg);border-top:1px solid var(--color-border);padding:14px 24px;position:fixed;bottom:0;left:0;right:0}.run-footer-inner{flex-wrap:wrap;justify-content:center;align-items:center;gap:16px;max-width:880px;margin:0 auto;display:flex}.run-footer .error-text{margin:0}h2{letter-spacing:-.1px;color:var(--color-primary);margin:0 0 20px;font-size:22px;font-weight:500}h3{letter-spacing:-.1px;color:var(--color-ink);margin:28px 0 10px;font-size:17px;font-weight:500}h4{letter-spacing:-.05px;color:var(--color-utility);text-transform:uppercase;margin:20px 0 8px;font-size:14px;font-weight:600}section,.card,fieldset{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);margin-bottom:20px;padding:18px 20px}legend{letter-spacing:-.1px;color:var(--color-ink);padding:0 4px;font-size:16px;font-weight:700}legend:before{content:"";vertical-align:-2px;background:var(--color-primary);border-radius:1px;width:4px;height:13px;margin-right:8px;display:inline-block}.field-label{color:var(--color-utility);font-size:13px;font-weight:500}label{align-items:center;gap:8px;padding:4px 0;font-size:14px;display:flex}input[type=text],input[type=number],input:not([type]){border:1px solid var(--color-border);border-radius:var(--radius);font-size:14px;font-family:var(--sans);background:var(--color-bg);color:var(--color-ink);margin:0 8px 8px 0;padding:7px 10px}.job-input-row{flex-wrap:wrap;align-items:flex-start;gap:12px;margin-bottom:4px;display:flex}.job-input-row label{flex-direction:column;align-items:flex-start;gap:4px;padding:0}.job-input-row .field-name{flex:2 200px}.job-input-row .field-num{flex:0 110px}.job-input-row input{width:100%;margin:0}input:focus{outline:2px solid var(--color-primary);outline-offset:1px}select{border:1px solid var(--color-border);border-radius:var(--radius);font-size:14px;font-family:var(--sans);background:var(--color-bg);color:var(--color-ink);padding:6px 8px}button{background:var(--color-primary);color:#fff;border-radius:var(--radius);cursor:pointer;border:none;padding:9px 18px;font-size:14px;font-weight:500}button:hover:not(:disabled){background:var(--color-primary-hover)}button:disabled{background:var(--color-border-strong);cursor:not-allowed}button.btn-secondary{color:var(--color-utility);border:1px solid var(--color-border-strong);background:0 0;padding:4px 10px;font-size:12px}button.btn-secondary:hover:not(:disabled){background:var(--color-bg-subtle)}button.btn-secondary--active,button.btn-secondary--active:hover:not(:disabled){background:var(--color-primary);color:#fff;border-color:var(--color-primary)}table{border-collapse:collapse;width:100%;font-size:13px}th,td{text-align:left;border-bottom:1px solid var(--color-border);padding:6px 10px}th{color:var(--color-utility);letter-spacing:.3px;text-transform:uppercase;background:var(--color-bg-subtle);font-size:11px;font-weight:600}tbody tr:nth-child(2n){background:var(--color-bg-sunken)}.num{font-family:var(--mono);font-variant-numeric:tabular-nums}.error-text{color:var(--color-danger);margin:8px 0;font-size:13px}.badge{border-radius:var(--radius-pill);letter-spacing:.2px;padding:3px 11px;font-size:12px;font-weight:600;display:inline-block}.badge--guaranteed{background:var(--color-success-bg);color:var(--color-success)}.badge--algorithm{background:var(--color-primary-soft);color:var(--color-primary)}.badge--approx{background:var(--color-warning-bg);color:var(--color-warning)}.objective-cards{flex-wrap:wrap;gap:12px;margin-top:4px;display:flex}.objective-card{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);cursor:pointer;flex-direction:column;flex:200px;align-items:flex-start;gap:4px;padding:14px 16px;display:flex;position:relative}.objective-card:hover{border-color:var(--color-border-strong)}.objective-card:focus-within{outline:2px solid var(--color-primary);outline-offset:2px}.objective-card--selected{border-color:var(--color-primary);background:var(--color-primary-soft)}.objective-card input{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.objective-card-title{color:var(--color-ink);font-size:14px;font-weight:600}.objective-card--selected .objective-card-title{color:var(--color-primary)}.objective-card-desc{color:var(--color-muted);font-size:12px}.empty-state{border:1px dashed var(--color-border-strong);border-radius:var(--radius);text-align:center;background:var(--color-bg-subtle);margin-bottom:20px;padding:28px 20px}.empty-state-icon{color:var(--color-border-strong);margin-bottom:8px;font-size:22px;line-height:1}.empty-state-text{color:var(--color-muted);margin:0;font-size:13px}.algorithm-info-toggle{margin-left:6px}.algorithm-info-desc{margin-top:6px;margin-bottom:0}.summary-line{color:var(--color-muted);margin:4px 0 10px;font-size:13px}
