:root { color-scheme: dark; font: 15px/1.5 system-ui, sans-serif; background: #101520; color: #e8eef6; }
* { box-sizing: border-box; }
body { margin: 0; }
main { max-width: 1120px; margin: auto; padding: 2rem 1rem 5rem; }
header { display: flex; align-items: baseline; gap: 1rem; flex-wrap: wrap; }
h1 { margin: 0; letter-spacing: .04em; color: #83d6da; }
header p, .caution { color: #a8b5c7; }
form, .deal { background: #1b2532; border: 1px solid #334456; border-radius: 8px; padding: 1rem; margin: 1rem 0; }
.grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(205px, 1fr)); gap: 1rem; }
label { display: flex; flex-direction: column; gap: .3rem; color: #b9c9da; }
input, select { width: 100%; background: #111b27; border: 1px solid #486078; border-radius: 5px; color: #f6f8fa; padding: .65rem; font: inherit; }
button { background: #42bbc6; color: #061722; font: inherit; font-weight: 700; border: 0; border-radius: 5px; cursor: pointer; padding: .7rem 1.3rem; }
form > button { margin-top: 1rem; }
button:disabled { opacity: .6; cursor: progress; }
:focus-visible { outline: 3px solid #ffd883; outline-offset: 2px; }
.autocomplete { position: relative; }
#suggestions { position: absolute; top: 100%; left: 0; right: 0; z-index: 5; list-style: none; margin: 0; padding: .3rem; background: #233246; border: 1px solid #5d728a; border-radius: 5px; max-height: 15rem; overflow: auto; }
#suggestions[hidden] { display: none; }
#suggestions button { display: block; width: 100%; text-align: left; background: transparent; color: #e8eef6; font-weight: normal; }
#suggestions button:hover { background: #365b6e; }
#status { padding: 1rem; border-left: 4px solid #42bbc6; background: #1b2532; }
.warning { padding: .7rem 1rem; border-left: 4px solid #f3b86b; background: #372b21; }
summary { cursor: pointer; font-weight: 650; }
dl { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: .4rem 1rem; }
dl div { padding: .35rem; border-bottom: 1px solid #344558; overflow-wrap: anywhere; }
dt { color: #9eaec1; font-size: .85rem; }
dd { margin: 0; font-variant-numeric: tabular-nums; }
@media (max-width: 600px) { main { padding: 1rem .7rem; } header { display: block; } }
