:root { color-scheme: dark; --bg:#07130f; --panel:#0d1f18; --line:#254235; --text:#f2f0e8; --muted:#a9b8af; --gold:#d8b56c; --green:#8fc6a5; }
* { box-sizing:border-box; }
body { margin:0; min-height:100vh; background:radial-gradient(circle at 20% 0,#173126 0,transparent 42%),var(--bg); color:var(--text); font-family:Manrope,sans-serif; }
button,input,textarea { font:inherit; }
.shell { width:min(760px,calc(100% - 28px)); margin:auto; padding:28px 0 40px; }
.brand { display:flex; align-items:center; gap:12px; margin:0 0 22px; font-weight:700; letter-spacing:.04em; }
.brand-mark { display:grid; place-items:center; width:42px; height:42px; border:1px solid var(--gold); border-radius:50%; color:var(--gold); font-family:"Playfair Display",serif; }
.card { min-height:560px; padding:clamp(24px,6vw,54px); border:1px solid var(--line); border-radius:28px; background:rgba(13,31,24,.94); box-shadow:0 30px 80px rgba(0,0,0,.3); }
h1,h2 { margin:0 0 18px; font-family:"Playfair Display",serif; line-height:1.1; }
h1 { font-size:clamp(2.2rem,7vw,4.2rem); } h2 { font-size:clamp(1.65rem,5vw,2.5rem); }
p { color:var(--muted); line-height:1.65; }
.eyebrow { color:var(--gold); font-size:.78rem; font-weight:700; letter-spacing:.15em; text-transform:uppercase; }
.progress { height:5px; margin:0 0 34px; overflow:hidden; border-radius:10px; background:#1a3027; }
.progress span { display:block; height:100%; background:linear-gradient(90deg,var(--gold),var(--green)); transition:width .25s ease; }
.options { display:grid; gap:12px; margin:28px 0; }
.option { width:100%; padding:16px 18px; border:1px solid var(--line); border-radius:14px; background:#10271e; color:var(--text); text-align:left; cursor:pointer; transition:.15s ease; }
.option:hover,.option.selected { border-color:var(--gold); background:#193225; transform:translateY(-1px); }
.actions { display:flex; justify-content:space-between; gap:12px; margin-top:28px; }
.primary,.secondary,.link-button { padding:14px 20px; border-radius:999px; cursor:pointer; text-decoration:none; text-align:center; }
.primary,.link-button { border:0; background:var(--gold); color:#172016; font-weight:700; }
.secondary { border:1px solid var(--line); background:transparent; color:var(--text); }
.primary:disabled { opacity:.35; cursor:not-allowed; }
label { display:block; margin:18px 0 8px; color:var(--muted); }
input,textarea { width:100%; padding:14px; border:1px solid var(--line); border-radius:12px; outline:none; background:#091711; color:var(--text); }
input:focus,textarea:focus { border-color:var(--gold); }
textarea { min-height:115px; resize:vertical; }
.consent { display:flex; gap:10px; align-items:flex-start; margin-top:20px; font-size:.9rem; color:var(--muted); }
.consent input { width:auto; margin-top:4px; }
.notice,.result-block { margin:22px 0; padding:18px; border:1px solid var(--line); border-radius:16px; background:#0a1913; }
.notice strong,.result-block strong { color:var(--gold); }
.status { min-height:22px; color:var(--green); font-size:.85rem; }
footer { margin-top:18px; color:#718078; text-align:center; font-size:.75rem; }
@media(max-width:520px){ .card{min-height:calc(100vh - 140px);border-radius:20px}.actions{flex-direction:column-reverse}.actions>*{width:100%} }
