html[data-theme=light]{--font-sans: "Pretendard", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: ui-monospace, "SF Mono", Menlo, Monaco, Consolas, monospace;--surface-page: #f1f5f9;--surface-0: #ffffff;--surface-subtle: #f8fafc;--surface-muted: #f1f5f9;--text-primary: #0f172a;--text-secondary: #475569;--text-tertiary: #64748b;--text-inverse: #ffffff;--accent: #4338ca;--accent-hover: #3730a3;--accent-muted: #6366f1;--accent-soft: #eef2ff;--accent-ring: rgba(67, 56, 202, .22);--success: #059669;--success-hover: #047857;--success-soft: #ecfdf5;--success-border: rgba(5, 150, 105, .25);--danger: #dc2626;--danger-soft: #fef2f2;--danger-border: rgba(220, 38, 38, .28);--warn: #d97706;--warn-soft: #fffbeb;--border: #e2e8f0;--border-strong: #cbd5e1;--border-focus: var(--accent);--shadow-xs: 0 1px 2px rgba(15, 23, 42, .04);--shadow-sm: 0 1px 3px rgba(15, 23, 42, .06), 0 1px 2px -1px rgba(15, 23, 42, .04);--shadow-md: 0 4px 6px -1px rgba(15, 23, 42, .07), 0 2px 4px -2px rgba(15, 23, 42, .05);--shadow-lg: 0 10px 15px -3px rgba(15, 23, 42, .08), 0 4px 6px -4px rgba(15, 23, 42, .04);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-full: 9999px;--space-section: 1.5rem;--content-max: 42rem}html[data-theme=light]{font-family:var(--font-sans);line-height:1.55;font-weight:400;font-size:15px;color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color-scheme:light}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--surface-page);background-image:radial-gradient(ellipse 120% 80% at 50% -30%,rgba(99,102,241,.09),transparent),radial-gradient(ellipse 80% 50% at 100% 0%,rgba(14,165,233,.05),transparent);color:var(--text-primary)}#root{min-height:100vh}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.risk-gauge{flex:1;min-width:140px;max-width:100%;padding:.35rem 0 .15rem}.risk-gauge__label{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;margin-bottom:.45rem;color:var(--text-tertiary)}.risk-gauge__bar-wrap{height:8px;border-radius:var(--radius-full);background:var(--surface-muted);border:1px solid var(--border);overflow:hidden}.risk-gauge__bar{height:100%;border-radius:var(--radius-full);transition:width .4s cubic-bezier(.33,1,.68,1),background .2s}.risk-gauge--safe .risk-gauge__bar{background:linear-gradient(90deg,var(--success),#34d399)}.risk-gauge--warn .risk-gauge__bar{background:linear-gradient(90deg,var(--warn),#fbbf24)}.risk-gauge--danger .risk-gauge__bar{background:linear-gradient(90deg,var(--danger),#f87171)}.risk-gauge__segments{display:flex;justify-content:space-between;font-size:.625rem;font-weight:500;color:var(--text-tertiary);margin-top:.3rem;padding:0 .05rem}.risk-gauge__meta{display:flex;align-items:baseline;gap:.2rem;margin-top:.4rem;font-size:.8125rem}.risk-gauge__value{font-weight:700;font-size:1.25rem;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.risk-gauge--danger .risk-gauge__value{color:var(--danger)}.risk-gauge--warn .risk-gauge__value{color:var(--warn)}.risk-gauge--safe .risk-gauge__value{color:var(--success)}.risk-gauge__max{color:var(--text-tertiary);font-weight:500;font-size:.8125rem}.risk-gauge__tier{margin-left:auto;font-weight:600;font-size:.75rem;color:var(--text-secondary)}.risk-gauge-card{flex:1;min-width:96px;max-width:140px;padding:.75rem .65rem;border-radius:var(--radius-md);text-align:center;border:1px solid var(--border);background:var(--surface-0);box-shadow:var(--shadow-xs)}.risk-gauge-card__label{font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary);margin-bottom:.35rem}.risk-gauge-card__num{font-size:1.5rem;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.1;letter-spacing:-.03em}.risk-gauge-card__suffix{font-size:.6875rem;color:var(--text-tertiary);margin-top:.15rem}.risk-gauge-card--danger{border-color:var(--danger-border);background:var(--danger-soft)}.risk-gauge-card--danger .risk-gauge-card__num{color:var(--danger)}.risk-gauge-card--warn{border-color:#d9770659;background:var(--warn-soft)}.risk-gauge-card--warn .risk-gauge-card__num{color:#b45309}.risk-gauge-card--safe{border-color:var(--success-border);background:var(--success-soft)}.risk-gauge-card--safe .risk-gauge-card__num{color:var(--success)}.app-shell{min-height:100vh;display:flex;flex-direction:column}.top-nav{position:sticky;top:0;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.25rem 1.1rem;background:#ffffffd9;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--border);box-shadow:var(--shadow-xs)}.top-nav__brand{display:flex;flex-direction:column;gap:.35rem;min-width:0;flex:1}.top-nav__logo{margin:0;font-size:clamp(1.5rem,4.2vw,2rem);font-weight:800;letter-spacing:-.035em;color:var(--text-primary);line-height:1.15}.top-nav__tagline{margin:0;font-size:clamp(.8125rem,2.1vw,.875rem);color:var(--text-secondary);font-weight:500;line-height:1.55;max-width:100%;word-break:keep-all;line-break:strict;-webkit-hyphens:none;hyphens:none}@media(max-width:520px){.top-nav__tagline{font-size:.78rem;line-height:1.5}}.app-body{flex:1;width:100%;max-width:var(--content-max);margin:0 auto;padding:1.25rem 1rem 2.5rem}.step-pills{margin-bottom:1.35rem}.step-pills__list{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.35rem .25rem;margin:0;padding:0;list-style:none}.step-pills__item{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .65rem;font-size:.75rem;font-weight:600;color:var(--text-tertiary);background:var(--surface-0);border:1px solid var(--border);border-radius:var(--radius-full);transition:background .15s,border-color .15s,color .15s}.step-pills__num{display:inline-flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;font-size:.65rem;font-weight:700;border-radius:var(--radius-full);background:var(--surface-muted);color:var(--text-tertiary)}.step-pills__item.is-done{border-color:#4338ca59;color:var(--text-secondary)}.step-pills__item.is-done .step-pills__num{background:var(--accent-soft);color:var(--accent)}.step-pills__item.is-active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);box-shadow:0 0 0 1px #4338ca1f}.step-pills__item.is-active .step-pills__num{background:var(--accent);color:#fff}.main{display:flex;flex-direction:column;gap:var(--space-section)}.card{background:var(--surface-0);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.35rem 1.4rem;box-shadow:var(--shadow-sm)}.card__title{display:flex;align-items:flex-start;gap:.65rem;margin:0 0 1.15rem;padding-bottom:.85rem;border-bottom:1px solid var(--border)}.card__title-text{margin:0;font-size:1.05rem;font-weight:600;letter-spacing:-.02em;color:var(--text-primary);line-height:1.35}.card__title-badge{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;min-width:1.65rem;height:1.65rem;padding:0 .4rem;font-size:.75rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--accent);background:var(--accent-soft);border:1px solid rgba(99,102,241,.2);border-radius:var(--radius-sm)}.card__hint{margin:0 0 1rem;font-size:.875rem;line-height:1.55;color:var(--text-secondary)}.how-it-works{margin:0 0 1.1rem;padding:0;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-subtle);overflow:hidden}.how-it-works__summary{padding:.65rem .85rem;font-size:.8125rem;font-weight:600;color:var(--accent);cursor:pointer;list-style:none}.how-it-works__summary::-webkit-details-marker{display:none}.how-it-works__summary:after{content:"▼";float:right;font-size:.65rem;opacity:.6;transition:transform .15s}.how-it-works[open] .how-it-works__summary:after{transform:rotate(-180deg)}.how-it-works__list{margin:0;padding:.35rem .85rem .85rem 1.65rem;font-size:.8125rem;line-height:1.65;color:var(--text-secondary)}.how-it-works__list li{margin-bottom:.35rem}.example-chips{margin:0 0 1rem}.example-chips__label{display:block;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary);margin-bottom:.45rem}.example-chips__row{display:flex;flex-wrap:wrap;gap:.45rem}.example-chip{cursor:pointer;border:1px solid var(--border-strong);border-radius:var(--radius-full);padding:.4rem .75rem;font:inherit;font-size:.8125rem;font-weight:600;color:var(--text-secondary);background:var(--surface-0);transition:background .15s,border-color .15s,color .15s}.example-chip:hover:not(:disabled){border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.example-chip:disabled{opacity:.5;cursor:not-allowed}.kbd-hint{margin:.5rem 0 0;font-size:.75rem;line-height:1.5;color:var(--text-tertiary)}.kbd{display:inline-block;padding:.1rem .35rem;font-size:.68rem;font-family:inherit;font-weight:600;color:var(--text-secondary);background:var(--surface-muted);border:1px solid var(--border);border-radius:4px;box-shadow:0 1px 0 var(--border)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.banner{padding:.75rem 1rem;border-radius:var(--radius-md);font-size:.875rem;margin-bottom:1rem;line-height:1.45}.banner--err{background:var(--danger-soft);color:#991b1b;border:1px solid var(--danger-border)}.meta{margin:0 0 .85rem;font-size:.8125rem;color:var(--text-secondary)}.meta strong{color:var(--text-primary);font-weight:600}.textarea{width:100%;box-sizing:border-box;padding:.875rem 1rem;border-radius:var(--radius-md);border:1px solid var(--border-strong);background:var(--surface-subtle);color:var(--text-primary);font:inherit;font-size:.9375rem;resize:vertical;min-height:132px;transition:border-color .15s,box-shadow .15s,background .15s}.textarea::placeholder{color:var(--text-tertiary)}.textarea:hover:not(:disabled){border-color:var(--border-strong)}.textarea:focus{outline:none;border-color:var(--accent);background:var(--surface-0);box-shadow:0 0 0 3px var(--accent-ring)}.textarea:disabled{opacity:.6;cursor:not-allowed;background:var(--surface-muted)}.textarea--prompt{font-family:var(--font-mono);font-size:.8125rem;line-height:1.6;border-color:var(--border)}.textarea--prompt:focus{border-color:var(--success);box-shadow:0 0 0 3px #05966926}.info-table{width:100%;border-collapse:collapse;font-size:.875rem;margin:0 0 1rem;border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.info-table th,.info-table td{padding:.7rem .95rem;text-align:left;border-bottom:1px solid var(--border)}.info-table tr:last-child th,.info-table tr:last-child td{border-bottom:none}.info-table th{width:32%;background:var(--surface-muted);color:var(--text-secondary);font-weight:600;font-size:.8125rem}.info-table td{background:var(--surface-0);color:var(--text-primary)}.info-table td.risk-cell--danger{color:var(--danger);font-weight:600}.info-table td.risk-cell--neutral{color:var(--text-primary);font-weight:600}.h3{margin:1.1rem 0 .6rem;font-size:.8125rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-tertiary)}.field{display:flex;flex-direction:column;gap:.45rem;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}.field:last-of-type{border-bottom:none;margin-bottom:0;padding-bottom:0}.field__q{font-size:.875rem;line-height:1.5;color:var(--text-primary)}.field input{padding:.65rem .8rem;border-radius:var(--radius-md);border:1px solid var(--border-strong);background:var(--surface-0);color:var(--text-primary);font:inherit;font-size:.875rem;transition:border-color .15s,box-shadow .15s}.field input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}.stack{margin-top:.15rem}.actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.25rem;padding-top:.25rem;align-items:center}.btn{cursor:pointer;border-radius:var(--radius-md);padding:.6rem 1.15rem;font:inherit;font-weight:600;font-size:.875rem;letter-spacing:-.01em;transition:background .15s,border-color .15s,color .15s,box-shadow .15s,opacity .15s}.btn:disabled{opacity:.45;cursor:not-allowed}.btn--primary{border:1px solid transparent;background:var(--accent);color:var(--text-inverse);box-shadow:var(--shadow-xs)}.btn--primary:hover:not(:disabled){background:var(--accent-hover)}.btn--secondary{border:1px solid var(--border-strong);background:var(--surface-0);color:var(--text-secondary)}.btn--secondary:hover:not(:disabled){background:var(--surface-muted);border-color:var(--border-strong)}.btn--success{border:1px solid transparent;background:var(--success);color:var(--text-inverse);box-shadow:var(--shadow-xs)}.btn--success:hover:not(:disabled){background:var(--success-hover)}.btn--ghost{border:1px solid transparent;background:transparent;color:var(--text-secondary)}.btn--ghost:hover:not(:disabled){background:var(--surface-muted);color:var(--text-primary)}.btn--danger-outline{border:1px solid var(--danger-border);background:var(--surface-0);color:#b91c1c}.btn--danger-outline:hover:not(:disabled){background:var(--danger-soft)}.compare{display:grid;gap:1rem}.compare--3{grid-template-columns:1fr}.compare__arrow-col{display:none}@media(min-width:720px){.compare--3{grid-template-columns:1fr auto 1fr;align-items:start;gap:.75rem .5rem}.compare__arrow-col{display:flex;align-items:center;justify-content:center;padding-top:2.35rem;font-size:1.25rem;font-weight:500;color:var(--text-tertiary)}}.compare__label{margin:0 0 .5rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary)}.pre{margin:0;padding:1rem;border-radius:var(--radius-md);font-size:.8125rem;line-height:1.6;white-space:pre-wrap;word-break:break-word;max-height:280px;overflow:auto}.pre--orig{font-family:inherit;background:var(--surface-subtle);border:1px solid var(--danger-border);color:var(--text-primary)}.gauges-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.75rem;margin:1.15rem 0}.gauges-row--compact{align-items:center}.gauge-compare__arrow{display:flex;align-items:center;color:var(--text-tertiary);font-size:1.15rem;padding:0 .1rem}.gauge-delta{display:flex;align-items:center;justify-content:center;padding:.45rem .9rem;border-radius:var(--radius-md);background:var(--success-soft);border:1px solid var(--success-border);color:var(--success);font-size:.8125rem;font-weight:600;white-space:nowrap}.gauge-delta--muted{background:var(--surface-subtle);border-color:var(--border);color:var(--text-secondary);font-weight:500}.gauge-same-hint{margin:.5rem 0 0;padding:.65rem .85rem;border-radius:var(--radius-md);background:var(--surface-subtle);border:1px solid var(--border);font-size:.8125rem;color:var(--text-secondary);line-height:1.5}.gauge-same-hint strong{color:var(--text-primary);font-weight:600}.answer-box{margin-top:.5rem;padding:1.15rem 1.2rem;border-radius:var(--radius-md);background:var(--surface-subtle);border:1px solid var(--border);line-height:1.7;white-space:pre-wrap;word-break:break-word;font-size:.9375rem;color:var(--text-primary)}.answer-box--md{white-space:normal}.answer-box--md :first-child{margin-top:0}.answer-box--md p{margin:0 0 .75em}.answer-box--md ul,.answer-box--md ol{margin:0 0 .85em;padding-left:1.35rem}.answer-box--md li{margin:.25em 0}.answer-box--md strong{font-weight:600;color:var(--text-primary)}.answer-box--md h1,.answer-box--md h2,.answer-box--md h3,.answer-box--md h4{font-size:1.02em;font-weight:600;margin:1.1em 0 .45em;line-height:1.35}.answer-box--md h1:first-child,.answer-box--md h2:first-child,.answer-box--md h3:first-child{margin-top:0}.answer-box--md hr{border:none;border-top:1px solid var(--border);margin:1rem 0}.answer-box--md pre{margin:.75em 0;padding:.75rem .85rem;border-radius:var(--radius-sm);background:var(--surface-elevated, var(--surface-subtle));border:1px solid var(--border);overflow-x:auto;white-space:pre-wrap;font-size:.88em}.answer-box--md code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.9em}.answer-box--md p code,.answer-box--md li code{padding:.1em .35em;border-radius:4px;background:var(--surface-elevated, rgba(0, 0, 0, .06))}.answer-box--md pre code{padding:0;background:none}.answer-box--md blockquote{margin:.75em 0;padding-left:.9rem;border-left:3px solid var(--border);color:var(--text-secondary)}.footer{margin-top:2rem;padding:.75rem 1rem;text-align:center;font-size:.75rem;color:var(--text-tertiary);border-top:1px solid var(--border)}
