@font-face{font-family:Wanted Sans;font-weight:400;font-display:swap;src:url(/fonts/WantedSans-Regular.woff2) format("woff2")}@font-face{font-family:Wanted Sans;font-weight:500;font-display:swap;src:url(/fonts/WantedSans-Medium.woff2) format("woff2")}@font-face{font-family:Wanted Sans;font-weight:600;font-display:swap;src:url(/fonts/WantedSans-SemiBold.woff2) format("woff2")}@font-face{font-family:Wanted Sans;font-weight:700;font-display:swap;src:url(/fonts/WantedSans-Bold.woff2) format("woff2")}:root{--font-sans: "Wanted Sans", "Pretendard", -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Malgun Gothic", "Segoe UI", sans-serif;--color-bg: #f1f5f9;--color-surface: #ffffff;--color-primary: #2563eb;--color-primary-dark: #1d4ed8;--color-text: #0f172a;--color-text-sub: #64748b;--color-border: #e2e8f0;--color-user-bubble: #2563eb;--color-error: #dc2626;--color-warn-bg: #fef3c7;--color-warn-text: #92400e;--radius: 14px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--radius-sm: 8px;--radius-lg: 18px;--radius-full: 999px;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .05), 0 1px 3px rgba(15, 23, 42, .06);--shadow-md: 0 2px 4px rgba(15, 23, 42, .04), 0 6px 16px rgba(15, 23, 42, .08);--shadow-lg: 0 4px 8px rgba(15, 23, 42, .06), 0 16px 40px rgba(15, 23, 42, .14);--shadow-primary: 0 4px 14px rgba(37, 99, 235, .28);--grad-primary: linear-gradient(135deg, #1d4ed8 0%, #2563eb 55%, #3b82f6 100%);--grad-surface: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);--color-surface-2: #f8fafc;--color-primary-soft: #eff6ff;--color-primary-border: #bfdbfe;--color-track: #e2e8f0;--ease-out: cubic-bezier(.16, 1, .3, 1);--dur-fast: .15s;--dur-med: .25s;--dur-slow: .4s;--ring: 0 0 0 3px rgba(37, 99, 235, .22)}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;height:100%}body{font-family:var(--font-sans);background:var(--color-bg);color:var(--color-text);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased}input,select,textarea{font-size:16px}.app-shell{max-width:720px;margin:0 auto;min-height:100dvh;display:flex;flex-direction:column;background:var(--color-surface);border-left:1px solid var(--color-border);border-right:1px solid var(--color-border);box-shadow:var(--shadow-lg)}.app-header{position:sticky;top:0;z-index:10;background:#ffffffe0;backdrop-filter:blur(12px) saturate(1.4);-webkit-backdrop-filter:blur(12px) saturate(1.4);border-bottom:1px solid var(--color-border);padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px}.brand{display:inline-flex;align-items:center;gap:9px}.brand-logo{display:block;flex-shrink:0}.header-actions{display:flex;gap:8px;flex-shrink:0}.header-actions .btn{padding:7px 12px;font-size:13px;white-space:nowrap}.app-header h1{margin:0;font-size:17px;font-weight:700}.app-header .beta{color:var(--color-primary);font-size:13px;font-weight:600;vertical-align:super}.banner{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 16px 0;padding:10px 14px;border-radius:10px;font-size:13.5px;border-left:3px solid transparent;animation:fade-slide var(--dur-med) var(--ease-out) both}.banner.info{background:var(--color-primary-soft);color:#1e40af;border-left-color:var(--color-primary)}.banner.error{background:#fee2e2;color:#991b1b;border-left-color:var(--color-error)}.banner.warn{background:var(--color-warn-bg);color:var(--color-warn-text);border-left-color:#d97706}@keyframes fade-slide{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.banner.small{font-size:12.5px;margin:0 0 10px;display:block}.banner.small ul{margin:6px 0 0;padding-left:18px}.banner-detail{font-size:12px;opacity:.8;margin-top:2px}.chat-page{flex:1;display:flex;flex-direction:column;min-height:0}.message-list{flex:1;overflow-y:auto;padding:16px 16px 8px;display:flex;flex-direction:column;gap:10px}.row{display:flex;flex-direction:column;max-width:100%;animation:msg-in .18s var(--ease-out) both}@keyframes msg-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.row.user{align-items:flex-end}.row.assistant{align-items:flex-start}.bubble{max-width:86%;padding:10px 14px;border-radius:var(--radius);white-space:pre-wrap;word-break:break-word}.bubble.user{background:var(--grad-primary);color:#fff;border-bottom-right-radius:4px;white-space:normal;box-shadow:0 2px 8px #2563eb33}.bubble.assistant{background:var(--color-surface-2);color:var(--color-text);border:1px solid #eef2f6;border-bottom-left-radius:4px;white-space:normal;box-shadow:var(--shadow-sm)}.bubble.error-bubble{background:#fef2f2;color:var(--color-error);border:1px solid #fecaca}.typing{display:inline-flex;gap:5px;padding:12px 16px;background:var(--color-surface-2);border:1px solid #eef2f6;border-radius:var(--radius);border-bottom-left-radius:4px}.typing span{width:7px;height:7px;border-radius:50%;background:#94a3b8;animation:typing-bounce 1.2s infinite ease-in-out}.typing span:nth-child(2){animation-delay:.15s}.typing span:nth-child(3){animation-delay:.3s}@keyframes typing-bounce{0%,60%,to{transform:translateY(0);opacity:.5}30%{transform:translateY(-4px);opacity:1}}.tool-status{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;background:linear-gradient(100deg,var(--color-primary-soft) 40%,#dbeafe 50%,var(--color-primary-soft) 60%);background-size:200% 100%;color:#1e40af;border-radius:var(--radius);font-size:13.5px;animation:shimmer 1.6s linear infinite}@keyframes shimmer{0%{background-position:120% 0}to{background-position:-80% 0}}.spinner{width:13px;height:13px;border:2px solid #bfdbfe;border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.composer{position:sticky;bottom:0;display:flex;gap:8px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:var(--color-surface);border-top:1px solid var(--color-border)}.composer input{flex:1;padding:11px 14px;border:1px solid var(--color-border);border-radius:22px;font-family:inherit;font-size:16px;outline:none;background:var(--color-surface-2);transition:border-color var(--dur-fast),background var(--dur-fast),box-shadow var(--dur-fast)}.composer input:focus{border-color:var(--color-primary);background:#fff;box-shadow:var(--ring)}.composer input:disabled{background:#f8fafc;color:var(--color-text-sub)}.btn{font-family:inherit;font-size:14px;font-weight:600;padding:9px 16px;border-radius:10px;border:1px solid var(--color-border);background:#fff;color:var(--color-text);cursor:pointer;transition:background var(--dur-fast),box-shadow var(--dur-fast),transform var(--dur-fast),border-color var(--dur-fast)}.btn:disabled{opacity:.45;cursor:default}.btn:not(:disabled):active{transform:scale(.98)}.btn:focus-visible{outline:none;box-shadow:var(--ring)}@media (hover: hover){.btn:not(:disabled):hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}}.btn.primary{background:var(--grad-primary);border-color:var(--color-primary);color:#fff}@media (hover: hover){.btn.primary:not(:disabled):hover{box-shadow:var(--shadow-primary)}}.btn.ghost{border:none;background:transparent;color:var(--color-text-sub)}.quick-reply{display:flex;flex-direction:column;gap:8px;max-width:92%}.qr-options{display:flex;flex-wrap:wrap;gap:8px}.qr-chip{font-family:inherit;font-size:13.5px;font-weight:600;color:var(--color-primary);background:#fff;border:1.5px solid var(--color-primary-border);border-radius:var(--radius-full);padding:7px 14px;cursor:pointer;transition:background var(--dur-fast),border-color var(--dur-fast),box-shadow var(--dur-fast),transform var(--dur-fast)}.qr-chip:not(:disabled):active{transform:scale(.97)}.qr-chip:focus-visible{outline:none;box-shadow:var(--ring)}@media (hover: hover){.qr-chip:not(:disabled):hover{background:var(--color-primary-soft);border-color:var(--color-primary);transform:translateY(-1px);box-shadow:var(--shadow-sm)}}.qr-chip:disabled{opacity:.45;cursor:default}.card-list{display:flex;flex-direction:column;gap:10px;width:min(420px,92%)}.rich-card{border:1px solid var(--color-border);border-radius:var(--radius);padding:14px;background:var(--grad-surface);box-shadow:var(--shadow-sm);transition:box-shadow var(--dur-fast),transform var(--dur-fast)}@media (hover: hover){.rich-card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}}.rich-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.rich-card-title{font-weight:700;font-size:15.5px}.rich-card-subtitle{color:var(--color-text-sub);font-size:13px;margin-top:1px}.step-badge{flex-shrink:0;font-size:12.5px;font-weight:700;border-radius:var(--radius-full);padding:4px 11px;letter-spacing:.01em}.rich-card-fields{margin:10px 0 0;display:flex;flex-direction:column;gap:4px}.rich-card-field{display:flex;justify-content:space-between;gap:12px;font-size:13.5px}.rich-card-field dt{color:var(--color-text-sub)}.rich-card-field dd{margin:0;font-weight:600}.rich-card-actions{margin-top:12px;display:flex;flex-wrap:wrap;gap:8px}.chart-box{width:min(480px,92%);border:1px solid var(--color-border);border-radius:var(--radius);background:#fff;padding:14px}.chart-title{font-weight:700;font-size:14.5px;margin-bottom:8px}.chart-legend{display:flex;flex-wrap:wrap;gap:12px;margin-top:4px;font-size:12px;color:var(--color-text-sub)}.chart-legend-item{display:inline-flex;align-items:center;gap:5px}.chart-legend-item i{display:inline-block;width:10px;height:10px;border-radius:3px}.chart-caption{margin-top:8px;text-align:right;font-size:11.5px;color:var(--color-text-sub)}.chart-unsupported{color:var(--color-text-sub);font-size:13.5px;margin:4px 0}.stepbar-list{display:flex;flex-direction:column}.stepbar-row{padding:10px 0;border-bottom:1px solid var(--color-border);animation:rise-in var(--dur-med) var(--ease-out) both;animation-delay:calc(min(var(--i, 0),8)*45ms)}.stepbar-row:last-child{border-bottom:none}@keyframes rise-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.stepbar-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:7px}.stepbar-target{font-size:13.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stepbar-track{display:flex;gap:4px}.stepbar-track .seg{flex:1;height:10px;border-radius:var(--radius-full);background:var(--color-track)}.stepbar-track .seg.on{background:linear-gradient(180deg,rgba(255,255,255,.25),transparent),var(--step-color, var(--color-track));transform-origin:left center;animation:seg-fill var(--dur-med) var(--ease-out) both;animation-delay:calc(min(var(--i, 0),8)*45ms + 80ms)}@keyframes seg-fill{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.stepbar-meta{margin-top:6px;font-size:12px;color:var(--color-text-sub)}.stepbar-meta b{color:var(--color-text);font-weight:600}.whatif-list{display:flex;flex-direction:column}.whatif-row{padding:11px 0;border-bottom:1px solid var(--color-border);animation:rise-in var(--dur-med) var(--ease-out) both;animation-delay:calc(min(var(--i, 0),8)*45ms)}.whatif-row:last-child{border-bottom:none}.whatif-target{font-size:13.5px;font-weight:600;margin-bottom:7px;display:flex;align-items:center;gap:8px}.whatif-promote{font-size:11px;font-weight:700;color:var(--step-color, var(--color-primary));background:var(--step-bg, var(--color-primary-soft));border-radius:var(--radius-full);padding:2px 8px;animation:promote-pulse .7s var(--ease-out) 1;animation-delay:calc(min(var(--i, 0),8)*45ms + .25s)}@keyframes promote-pulse{0%{transform:scale(.8);opacity:0}55%{transform:scale(1.12);opacity:1}to{transform:scale(1)}}.whatif-flow{display:flex;align-items:stretch;gap:8px}.whatif-chip{flex:1;min-width:0;border-radius:10px;padding:7px 10px;display:flex;flex-direction:column;gap:3px}.whatif-chip.before{background:var(--color-surface-2);border:1px solid var(--color-border)}.whatif-chip.before .step-badge{filter:saturate(.35);opacity:.75}.whatif-chip.after{background:var(--step-bg, var(--color-surface-2));border:1px solid transparent}.whatif-chip.after.promoted{box-shadow:0 0 0 2px var(--step-bg, transparent)}.whatif-chip-label{font-size:10.5px;font-weight:600;color:var(--color-text-sub);letter-spacing:.02em}.whatif-chip-line{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.whatif-chip .step-badge{font-size:11px;padding:2px 8px}.whatif-value{font-size:13.5px;font-variant-numeric:tabular-nums}.whatif-chip.after .whatif-value{font-weight:700;color:var(--step-color, var(--color-text))}.whatif-arrow{flex-shrink:0;align-self:center;display:flex}.whatif-arrow path{stroke-dasharray:40;stroke-dashoffset:40;animation:arrow-draw var(--dur-slow) var(--ease-out) forwards;animation-delay:calc(min(var(--i, 0),8)*45ms + .15s)}@keyframes arrow-draw{to{stroke-dashoffset:0}}.table-box{width:min(480px,92%);border:1px solid var(--color-border);border-radius:var(--radius);background:#fff;padding:12px 14px;box-shadow:var(--shadow-sm)}.table-title{font-weight:700;font-size:14.5px;margin-bottom:8px}.table-scroll{overflow-x:auto}.table-box table{border-collapse:collapse;width:100%;font-size:13.5px}.table-box th,.table-box td{border-bottom:1px solid var(--color-border);padding:7px 10px;text-align:left;white-space:nowrap}.table-box th{color:var(--color-text-sub);font-weight:600;background:var(--color-surface-2);position:sticky;top:0}.table-box tbody tr:nth-child(2n) td{background:var(--color-surface-2)}.form-box{width:min(420px,92%);border:1px solid var(--color-border);border-radius:var(--radius);background:#fff;padding:14px;display:flex;flex-direction:column;gap:10px}.form-title{font-weight:700;font-size:14.5px}.form-field{display:flex;flex-direction:column;gap:5px}.form-label{font-size:13px;font-weight:600;color:var(--color-text-sub)}.required-mark{color:var(--color-error);font-style:normal;margin-left:2px}.form-field input,.form-field select{font-family:inherit;font-size:16px;padding:9px 12px;border:1px solid var(--color-border);border-radius:10px;outline:none;background:#fff;transition:border-color var(--dur-fast),box-shadow var(--dur-fast)}.form-field input:focus,.form-field select:focus{border-color:var(--color-primary);box-shadow:var(--ring)}.slider-row{display:flex;align-items:center;gap:10px}.slider-row input[type=range]{flex:1}.slider-value{min-width:36px;text-align:right;font-weight:700;font-size:14px}.form-error{margin:0;color:var(--color-error);font-size:13px}.upload-box{width:min(420px,92%);border:1.5px dashed #94a3b8;border-radius:var(--radius);background:var(--color-surface-2);padding:14px;display:flex;flex-direction:column;gap:8px;transition:border-color var(--dur-fast),background var(--dur-fast)}.upload-box:focus-within{border-color:var(--color-primary);background:var(--color-primary-soft)}@media (hover: hover){.upload-box:hover{border-color:var(--color-primary);background:var(--color-primary-soft)}}.upload-prompt{margin:0;font-weight:600}.upload-note{margin:0;font-size:12.5px;color:var(--color-text-sub)}.handoff-card{position:relative;overflow:hidden;width:min(420px,92%);border-radius:var(--radius);padding:16px;background:var(--grad-primary);color:#fff;display:flex;flex-direction:column;gap:8px;box-shadow:var(--shadow-primary)}.handoff-card:before{content:"";position:absolute;top:-60%;right:-20%;width:70%;height:160%;background:radial-gradient(closest-side,rgba(255,255,255,.18),transparent);pointer-events:none}.handoff-title{font-weight:700;font-size:15.5px}.handoff-desc{margin:0;font-size:13.5px;opacity:.92}.handoff-btn{margin-top:4px;background:#fff;border-color:#fff;color:var(--color-primary-dark);font-weight:700}.handoff-btn:not(:disabled):hover{background:#eff6ff}.fallback-box{width:min(420px,92%);border:1px solid var(--color-border);border-radius:var(--radius);background:#f8fafc;padding:12px 14px;font-size:13px}.fallback-note{margin:0 0 6px;color:var(--color-text-sub)}.fallback-box pre{margin:6px 0 0;max-height:240px;overflow:auto;background:#0f172a;color:#e2e8f0;border-radius:8px;padding:10px;font-size:11.5px}.fallback-box summary{cursor:pointer;color:var(--color-primary)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#0f172a73;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);display:flex;align-items:flex-end;justify-content:center;animation:overlay-in .18s ease-out both}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}.modal{width:100%;max-width:480px;max-height:88dvh;overflow-y:auto;background:#fff;border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:18px 18px calc(18px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:12px;box-shadow:var(--shadow-lg);animation:modal-up .28s var(--ease-out) both}@keyframes modal-up{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@media (min-width: 540px){.modal-overlay{align-items:center;padding:24px}.modal{border-radius:var(--radius-lg);animation:modal-pop .22s var(--ease-out) both}@keyframes modal-pop{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}}.modal-head{display:flex;align-items:flex-start;justify-content:space-between}.modal-title{font-weight:700;font-size:17px}.modal-step{font-size:13px;color:var(--color-text-sub);margin-top:2px}.wizard-body{display:flex;flex-direction:column;gap:12px}.wizard-hint{margin:0;font-size:12.5px;color:var(--color-text-sub)}.wizard-ocr{display:flex;flex-direction:column;gap:6px;border:1px dashed #94a3b8;border-radius:10px;background:#f8fafc;padding:10px 12px}.wizard-ocr .ocr-btn{align-self:flex-start;color:var(--color-primary);border-color:#bfdbfe;background:#fff}.wizard-ocr .ocr-btn:not(:disabled):hover{background:#eff6ff;border-color:var(--color-primary)}.choice-chips{display:flex;flex-wrap:wrap;gap:8px}.chip{font-family:inherit;font-size:14px;font-weight:600;color:var(--color-text);background:#fff;border:1.5px solid var(--color-border);border-radius:10px;padding:9px 14px;cursor:pointer;transition:background var(--dur-fast),border-color var(--dur-fast),box-shadow var(--dur-fast),color var(--dur-fast),transform var(--dur-fast)}.chip:not(:disabled):active{transform:scale(.97)}.chip:focus-visible{outline:none;box-shadow:var(--ring)}@media (hover: hover){.chip:not(:disabled):hover{border-color:var(--color-primary);background:var(--color-primary-soft)}}.chip.selected{color:#fff;background:var(--color-primary);border-color:var(--color-primary);box-shadow:0 2px 6px #2563eb40}.grade-grid{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:6px}.grade-grid .chip.grade{padding:10px 0;text-align:center;border-radius:8px}.chip.unknown{margin-top:6px;align-self:flex-start;font-size:13px;color:var(--color-text-sub)}.chip.unknown.selected{color:#fff}.form-field input.uncertain,.form-field select.uncertain{border-color:#f59e0b;background:#fffbeb}.uncertain-box{border:1.5px solid #f59e0b;border-radius:10px;background:#fffbeb;padding:6px}.uncertain-hint{margin:0;font-size:12px;color:var(--color-warn-text)}.form-label-hint{margin-left:6px;font-weight:400;color:var(--color-text-sub);font-size:12px}.modal-actions{display:flex;justify-content:space-between;gap:10px}.modal-actions .btn.primary{flex:1}.md-body>:first-child{margin-top:0}.md-body>:last-child{margin-bottom:0}.md-body p{margin:.4em 0}.md-body h1,.md-body h2,.md-body h3{font-size:1.02em;margin:.7em 0 .3em}.md-body ul,.md-body ol{margin:.3em 0;padding-left:1.3em}.md-body li{margin:.15em 0}.md-body hr{border:none;border-top:1px solid #e2e8f0;margin:.6em 0}.md-body blockquote{margin:.4em 0;padding:.3em .8em;border-left:3px solid #93c5fd;background:#f0f7ff;border-radius:4px}.md-body table{border-collapse:collapse;margin:.5em 0;width:100%;font-size:.92em;display:block;overflow-x:auto}.md-body th,.md-body td{border:1px solid #e2e8f0;padding:4px 8px;text-align:left;white-space:nowrap}.md-body th{background:#f1f5f9;font-weight:600}.md-body code{background:#f1f5f9;padding:1px 4px;border-radius:4px;font-size:.92em;font-family:inherit}.md-body pre{margin:.5em 0;padding:10px 12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;overflow-x:auto}.md-body pre code{background:none;padding:0;font-family:inherit;font-size:.92em;white-space:pre-wrap;word-break:break-word}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
