:root { color-scheme: light; font-family: Inter, system-ui, sans-serif; color: #12243c; background: #f3f6fa; line-height: 1.5; }
* { box-sizing: border-box; }
body { margin: 0; }
.shell { width: min(100% - 32px, 980px); margin-inline: auto; }
.hero { color: white; background: linear-gradient(125deg, #052b51, #075ba7 55%, #0b8aa8); padding: 48px 0 65px; }
.eyebrow { font-size: .76rem; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; color: #b8eaf4; }
h1 { font-size: clamp(2.25rem, 6vw, 4rem); margin: 0; letter-spacing: -.04em; }
h2 { margin-top: 0; }
.panel { background: white; border: 1px solid #dce3ec; border-radius: 18px; padding: clamp(22px, 4vw, 38px); margin: -24px 0 24px; box-shadow: 0 12px 36px #193b5a12; }
.grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
label { display: flex; flex-direction: column; gap: 7px; font-weight: 700; min-width: 0; }
input, select, button { font: inherit; line-height: 1.5; height: 3rem; border: 1px solid #b9c5d3; border-radius: 8px; padding: 0 12px; background: white; color: inherit; min-width: 0; }
input, select { width: 100%; }
input:focus, select:focus, button:focus-visible { outline: 3px solid #0875c844; }
.actions { display: flex; align-items: end; gap: 10px; }
button { cursor: pointer; }
.primary { background: #075ba7; color: white; border-color: #075ba7; flex: 1; }
button:disabled { cursor: not-allowed; opacity: .55; }
footer { color: #627086; font-size: .88rem; }
#message:empty { display: none; }
.error { color: #b42318; }
#result { border-top: 1px solid #dce3ec; margin-top: 24px; padding-top: 12px; }
.metrics { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.metrics div { display: flex; flex-direction: column; padding: 15px; background: #eef6fb; border-radius: 10px; }
.metrics strong { color: #075ba7; font-size: 1.3rem; }
.metrics span { font-size: .8rem; }
code { overflow-wrap: anywhere; }
footer { padding: 10px 0 32px; text-align: center; }
[hidden] { display: none !important; }
@media (max-width: 650px) { .grid, .metrics { grid-template-columns: 1fr; } .actions { align-items: stretch; } }
