:root { color-scheme: dark; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Microsoft YaHei", sans-serif; background: #101018; color: #eeedf7; }
* { box-sizing: border-box; }
body { margin: 0; }
main { max-width: 760px; margin: auto; padding: max(26px, env(safe-area-inset-top)) 20px max(30px, env(safe-area-inset-bottom)); }
header, .model-row, .sub-row, .actions { display: flex; align-items: center; gap: 12px; }
header, .sub-row { justify-content: space-between; }
.eyebrow { color: #b3a1ec; font-size: 11px; letter-spacing: .18em; }
h1 { font-size: 26px; margin: 8px 0; } h2 { font-size: 18px; margin: 0 0 14px; }
section { background: #181822; border: 1px solid #30303f; border-radius: 18px; padding: 22px; margin: 16px 0; }
p, footer, .hint { color: #b7b4c9; line-height: 1.65; font-size: 14px; }
label { display: block; font-size: 14px; margin: 18px 0 9px; }
select, textarea { width: 100%; border: 1px solid #474458; border-radius: 10px; background: #111119; color: #eeedf7; font: inherit; padding: 12px; }
textarea { font-size: 16px; line-height: 1.65; resize: vertical; }
select { flex: 1; min-width: 0; }
button { cursor: pointer; white-space: nowrap; border: 1px solid #514766; border-radius: 10px; background: #2c253e; color: #eee9ff; font: inherit; font-size: 14px; padding: 11px 16px; min-height: 42px; }
button.primary { background: #c9b7f7; color: #211a31; border-color: transparent; font-weight: 600; }
button.quiet { background: transparent; border: none; padding-right: 0; color: #ccbcd9; }
button:disabled, textarea:disabled, select:disabled { opacity: .5; cursor: default; }
button:hover:not(:disabled) { filter: brightness(1.12); }
:focus-visible { outline: 2px solid #d3baff; outline-offset: 3px; }
.sub-row { font-size: 12px; color: #a6a0b9; margin-bottom: 20px; }
#message { min-height: 24px; color: #d4c0ff; overflow-wrap: anywhere; }
#message[data-error="true"] { color: #ffa8b7; }
footer { text-align: center; font-size: 12px; }
@media(max-width: 430px) { main { padding-inline: 12px; } section { padding: 17px; } h1 { font-size: 23px; } .model-row { flex-wrap: wrap; } select { flex-basis: 100%; } }
