:root{--bg: #0f1c1a;--bg-elevated: #162824;--ink: #e8f0ee;--muted: #9bb0aa;--accent: #3dba8c;--accent-ink: #06261a;--line: rgba(232, 240, 238, .12);--danger: #f07178;--font-sans: "DM Sans", system-ui, sans-serif;--font-display: "Instrument Serif", Georgia, serif}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;font-family:var(--font-sans);color:var(--ink);background:radial-gradient(ellipse 80% 50% at 10% -10%,#1a4a3c 0%,transparent 55%),radial-gradient(ellipse 60% 40% at 100% 0%,#243d55 0%,transparent 50%),var(--bg)}.page{max-width:960px;margin:0 auto;padding:3rem 1.25rem 4rem}.brand-name{margin:0 0 .35rem;font-size:.85rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}.brand h1{margin:0;font-family:var(--font-display);font-size:clamp(2.4rem,5vw,3.4rem);font-weight:400;line-height:1.1}.lede{margin:.75rem 0 0;max-width:36rem;color:var(--muted);font-size:1.05rem;line-height:1.5}.layout{display:grid;gap:1.5rem;margin-top:2.5rem}@media(min-width:800px){.layout{grid-template-columns:1fr 1fr;align-items:start}}.form,.result{background:color-mix(in srgb,var(--bg-elevated) 88%,transparent);border:1px solid var(--line);border-radius:12px;padding:1.35rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.form{display:grid;gap:1rem}label{display:grid;gap:.4rem;font-size:.85rem;font-weight:500;color:var(--muted)}input,select,button{font:inherit}input,select{width:100%;padding:.7rem .8rem;border:1px solid var(--line);border-radius:8px;background:#00000040;color:var(--ink)}input:focus,select:focus{outline:2px solid color-mix(in srgb,var(--accent) 55%,transparent);outline-offset:1px}button{margin-top:.35rem;padding:.85rem 1rem;border:none;border-radius:8px;background:var(--accent);color:var(--accent-ink);font-weight:600;cursor:pointer}button:disabled{opacity:.65;cursor:wait}button:hover:not(:disabled){filter:brightness(1.06)}.result h2{margin:0;font-family:var(--font-display);font-size:1.75rem;font-weight:400}.meta{margin:.35rem 0 1.25rem;color:var(--muted);font-size:.9rem}.range{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.range div{display:grid;gap:.25rem;padding:.75rem;border-radius:8px;background:#00000038}.range span{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.range strong{font-size:1rem}.range .mid{border:1px solid color-mix(in srgb,var(--accent) 45%,transparent)}.note,.placeholder{margin:1.1rem 0 0;color:var(--muted);font-size:.9rem;line-height:1.45}.error{margin:0;color:var(--danger)}
