:root { color-scheme: light; --bg: #f6f2ed; --surface: #fff; --text: #292623; --muted: #6c625b; --border: #c9c0b7; --error: #a52a18; }
* { box-sizing: border-box; }
[hidden] { display: none !important; }
body { margin: 0; background: var(--tg-theme-secondary-bg-color, var(--bg)); color: var(--tg-theme-text-color, var(--text)); font: 16px/1.5 system-ui, sans-serif; }
main { max-width: 560px; margin: auto; padding: calc(24px + var(--tg-content-safe-area-inset-top, 0px)) max(20px, env(safe-area-inset-right), var(--tg-content-safe-area-inset-right, 0px)) calc(28px + env(safe-area-inset-bottom) + var(--tg-content-safe-area-inset-bottom, 0px)) max(20px, env(safe-area-inset-left), var(--tg-content-safe-area-inset-left, 0px)); }
.brand { font-size: 12px; font-weight: 800; letter-spacing: .1em; }
.brand span { font-weight: 500; }
h1 { font-size: clamp(30px, 7.5vw, 42px); line-height: 1.12; margin: 24px 0 16px; letter-spacing: -.035em; }
header > p:last-child { max-width: 340px; }
.notice { background: #fff0d9; color: #613a13; border-left: 4px solid #ed882b; border-radius: 8px; padding: 14px 16px; margin: 24px 0; font-size: 14px; }
form, .success { border-radius: 20px; padding: 24px; background: var(--tg-theme-bg-color, var(--surface)); }
fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
legend { font-size: 21px; font-weight: 750; margin-bottom: 4px; padding: 0; }
label { display: block; font-size: 14px; font-weight: 650; margin: 18px 0 7px; }
input { display: block; width: 100%; min-width: 0; min-height: 48px; border: 1px solid var(--border); border-radius: 10px; padding: 10px 11px; font: inherit; color: inherit; background: var(--tg-theme-secondary-bg-color, #faf8f5); }
input[aria-invalid="true"] { border: 2px solid var(--error); }
input:focus-visible, button:focus-visible { outline: 3px solid #d37727; outline-offset: 3px; }
.row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.row > div { min-width: 0; }
.hint { color: var(--tg-theme-hint-color, var(--muted)); font-size: 13px; margin: 7px 0 0; }
.error { color: var(--error); font-size: 14px; margin: 6px 0; }
.error:empty { display: none; }
button { width: 100%; min-height: 50px; margin-top: 16px; border: 0; border-radius: 12px; background: #f09948; color: #25170a; padding: 12px; font: inherit; font-weight: 750; cursor: pointer; }
button:disabled { opacity: .55; cursor: wait; }
button.secondary { background: transparent; color: inherit; border: 1px solid var(--border); }
#receipt { overflow-wrap: anywhere; font-size: 13px; }
.eyebrow { color: #95601d; letter-spacing: .1em; font-size: 12px; font-weight: 800; }
footer { text-align: center; font-size: 12px; color: var(--tg-theme-hint-color, var(--muted)); margin-top: 24px; }
@media (max-width: 359px) { form, .success { padding: 18px; } .row { grid-template-columns: 1fr; gap: 0; } }
@media (prefers-color-scheme: dark) { :root { color-scheme: dark; --bg: #211e1a; --surface: #2c2823; --text: #f5eee5; --muted: #bbb1a7; --border: #7e7368; --error: #ffad9e; } input { background: var(--tg-theme-secondary-bg-color, #211e1a); } }
