@import"https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap";:root{--bg: #f4f6fb;--bg-accent: rgba(99, 102, 241, .16);--surface: #ffffff;--surface-alt: #f8fafc;--border: #e6e8f0;--text: #1a1d29;--text-muted: #6b7280;--brand: #4f46e5;--brand-strong: #4338ca;--success-bg: #ecfdf5;--success-border: #6ee7b7;--success-text: #047857;--danger: #dc2626;--danger-bg: #fef2f2;--radius: 16px;--shadow: 0 1px 2px rgba(16, 24, 40, .04), 0 12px 32px -12px rgba(16, 24, 40, .18)}@media (prefers-color-scheme: dark){:root{--bg: #0d1017;--bg-accent: rgba(129, 140, 248, .14);--surface: #161a23;--surface-alt: #1c212c;--border: #272d3a;--text: #e8eaf0;--text-muted: #9aa2b1;--brand: #818cf8;--brand-strong: #6366f1;--success-bg: rgba(16, 185, 129, .12);--success-border: #10b981;--success-text: #34d399;--danger: #f87171;--danger-bg: rgba(248, 113, 113, .1);--shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 16px 40px -16px rgba(0, 0, 0, .7)}}*{margin:0;padding:0;box-sizing:border-box;font-family:Inter,system-ui,sans-serif}body{min-height:100vh;color:var(--text);background-color:var(--bg);background-image:radial-gradient(60rem 30rem at 15% -10%,var(--bg-accent),transparent),radial-gradient(50rem 26rem at 95% 0%,var(--bg-accent),transparent);-webkit-font-smoothing:antialiased}.App{max-width:720px;margin:48px auto;padding:32px;background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);text-align:center}h1{font-size:clamp(1.5rem,4vw,2rem);font-weight:700;letter-spacing:-.02em;color:var(--text)}.subtitle{margin-top:6px;font-size:.9rem;color:var(--text-muted)}.segmented{display:inline-flex;gap:4px;margin:24px 0 20px;padding:4px;background-color:var(--surface-alt);border:1px solid var(--border);border-radius:999px}.segmented label{display:flex;align-items:center;gap:8px;padding:8px 18px;border-radius:999px;font-size:.95rem;color:var(--text-muted);cursor:pointer;transition:background-color .15s,color .15s}.segmented label:has(input:checked){background-color:var(--surface);color:var(--text);font-weight:600;box-shadow:0 1px 3px #1018281f}.segmented input{width:auto;margin:0;accent-color:var(--brand)}.input-row{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}input[type=text]{flex:1 1 260px;padding:12px 16px;border:1px solid var(--border);border-radius:10px;font-size:1rem;color:var(--text);background-color:var(--surface-alt);outline:none;transition:border-color .15s,box-shadow .15s}input[type=text]::placeholder{color:var(--text-muted)}input[type=text]:focus{border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 22%,transparent)}button{padding:12px 24px;background-color:var(--brand);color:#fff;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .15s,transform .1s}button:hover{background-color:var(--brand-strong)}button:active{transform:translateY(1px)}button:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.error{margin-top:16px;padding:10px 14px;border-radius:10px;background-color:var(--danger-bg);color:var(--danger);font-weight:500;font-size:.9rem}.table-wrap{margin-top:28px;overflow-x:auto;border:1px solid var(--border);border-radius:12px}table{width:100%;border-collapse:collapse;text-align:left;font-size:.95rem}th,td{padding:12px 16px;border-bottom:1px solid var(--border);color:var(--text)}tbody tr:last-child td{border-bottom:none}th{background-color:var(--surface-alt);font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}td:last-child,th:last-child{text-align:right;font-variant-numeric:tabular-nums}tbody tr:hover,.summary-row td{background-color:var(--surface-alt)}.total-row td{font-size:1.05rem;color:var(--brand);background-color:color-mix(in srgb,var(--brand) 8%,transparent)}.success-row td{text-align:center;background-color:var(--success-bg);color:var(--success-text);border-bottom:1px solid var(--success-border)}.disclaimer{margin-top:28px;padding-top:20px;border-top:1px solid var(--border);font-size:.8rem;line-height:1.7;text-align:left;color:var(--text-muted)}.disclaimer ul{margin-top:6px;padding-left:18px}@media (max-width: 640px){.App{margin:16px;padding:24px 18px}th,td{padding:10px 12px}}
