:root{--obsidian:#0a0908;--surface:#161412;--border:#2a2520;--ivory:#f0ede8;--dust:#9a8f80;--gold:#c4a35a;--gold-dim:#8a7040;--success:#6e9e78;--alert:#b07060;--serif:"Playfair Display", Georgia, serif;--sans:"Jost", system-ui, -apple-system, sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body{overscroll-behavior-x:none;overflow-x:hidden}body{background:var(--obsidian);color:var(--ivory);font-family:var(--sans);-webkit-font-smoothing:antialiased;min-height:100vh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);font-weight:300}#root{min-height:100vh}.btn-primary{background:var(--gold);color:var(--obsidian);font-family:var(--sans);letter-spacing:2px;text-transform:uppercase;cursor:pointer;border:none;border-radius:4px;width:100%;padding:14px 32px;font-size:14px;font-weight:500;transition:opacity .2s}.btn-primary:hover{opacity:.9}.btn-primary:disabled{opacity:.4;cursor:not-allowed}.btn-secondary{color:var(--gold);border:1px solid var(--gold-dim);font-family:var(--sans);letter-spacing:2px;text-transform:uppercase;cursor:pointer;background:0 0;border-radius:4px;width:100%;padding:13px 32px;font-size:14px;font-weight:400;transition:border-color .2s}.btn-secondary:hover{border-color:var(--gold)}.card{background:var(--surface);border:.5px solid var(--border);border-radius:8px;padding:18px}.input{background:var(--surface);border:1px solid var(--border);color:var(--ivory);font-family:var(--sans);border-radius:6px;width:100%;padding:14px 16px;font-size:16px;font-weight:300;transition:border-color .2s}.input:focus{border-color:var(--gold-dim);outline:none}.input::placeholder{color:var(--dust)}select.input{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23C4A35A' d='M6 8 0 0h12z'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;padding-right:38px}.label{color:var(--dust);letter-spacing:1px;text-transform:uppercase;margin-bottom:8px;font-size:12px;display:block}.error-msg{color:var(--alert);margin-top:4px;font-size:14px;font-weight:300}@media (width>=820px){#root{zoom:1.12}}@media (width>=1100px){#root{zoom:1.22}}@media (width>=1500px){#root{zoom:1.32}}
