:root{--cream: #FFFCF6;--navy: #1B1F3B;--deep-blue: #1E4D78;--accent: #E7866E;--accent-tint: rgba(231,134,110,.12);--gold: #8B1538;--gold-hover: #75102E;--sand: #E5DDD0;--ink: #212121;--ink-60: rgba(33,33,33,.6)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--cream);color:var(--ink);font-family:Red Hat Display,system-ui,sans-serif;line-height:1.6;min-height:100vh}#root{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:32px 18px}.card{position:relative;width:100%;max-width:580px;background:#fff;border-radius:20px;box-shadow:0 2px 40px #1b1f3b1a,0 1px 4px #1b1f3b0d;overflow:hidden}.top-bar{height:3px;width:100%;background:var(--accent)}.progress-wrap{padding:24px 36px 0}.progress-track{height:2px;background:var(--sand);border-radius:2px}.progress-fill{height:100%;background:var(--accent);border-radius:2px;transition:width .45s cubic-bezier(.4,0,.2,1)}.progress-label{font-family:Albert Sans,sans-serif;font-weight:600;letter-spacing:.16em;text-transform:uppercase;font-size:11px;color:var(--deep-blue);margin-top:12px}@keyframes slideInRight{0%{opacity:0;transform:translate(52px)}to{opacity:1;transform:translate(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-52px)}to{opacity:1;transform:translate(0)}}.slide-forward{animation:slideInRight .34s cubic-bezier(.25,.46,.45,.94) both}.slide-back{animation:slideInLeft .34s cubic-bezier(.25,.46,.45,.94) both}.panel{padding:32px 36px 38px}.eyebrow{font-family:Albert Sans,sans-serif;font-weight:600;letter-spacing:.2em;text-transform:uppercase;font-size:11px;color:var(--accent);margin:0 0 16px}h1{font-family:Ponte,Georgia,serif;font-weight:300;font-size:36px;letter-spacing:-.01em;line-height:1.1;margin:0 0 20px;color:var(--navy)}h1 em{font-style:italic}h2{font-family:Ponte,Georgia,serif;font-weight:300;font-size:28px;letter-spacing:-.005em;line-height:1.2;margin:0 0 28px;color:var(--navy)}h2 em{font-style:italic}.intro-copy{font-size:16px;color:var(--ink-60);margin:0 0 30px}.btn{display:inline-block;font-family:Albert Sans,sans-serif;font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:13.5px;color:#fff;background:var(--gold);border:none;border-radius:10px;padding:17px 28px;cursor:pointer;transition:background .2s ease,transform .1s ease;width:100%}.btn:hover{background:var(--gold-hover)}.btn:active{transform:translateY(1px)}.btn:focus-visible{outline:2px solid var(--navy);outline-offset:3px}.options{display:flex;flex-direction:column;gap:10px}.option{display:flex;align-items:center;gap:14px;text-align:left;font-family:Red Hat Display,sans-serif;font-size:15.5px;color:var(--navy);background:#fff;border:1.5px solid var(--sand);border-radius:12px;padding:15px 18px;cursor:pointer;transition:border-color .15s ease,background .15s ease;width:100%}.option:hover{border-color:var(--accent);background:var(--accent-tint)}.option:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.option.selected{border-color:var(--accent);background:var(--accent-tint)}.option-key{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:1.5px solid var(--sand);border-radius:6px;font-family:Albert Sans,sans-serif;font-weight:700;font-size:11px;letter-spacing:.04em;color:var(--ink-60);background:#fff;transition:border-color .15s,color .15s,background .15s}.option:hover .option-key,.option.selected .option-key{border-color:var(--accent);color:var(--accent);background:#fff}.option-text{flex:1}.kbd-hint{margin-top:20px;font-family:Albert Sans,sans-serif;font-size:11px;color:var(--ink-60);letter-spacing:.06em}.kbd-hint kbd{display:inline-block;background:#f5f0e8;border:1px solid var(--sand);border-radius:4px;padding:1px 5px;font-family:inherit;font-size:11px}.back{margin-top:22px;background:none;border:none;color:var(--ink-60);font-family:Albert Sans,sans-serif;font-weight:600;letter-spacing:.1em;text-transform:uppercase;font-size:11px;cursor:pointer;padding:6px 0;display:block;transition:color .15s}.back:hover{color:var(--navy)}.back:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.field{margin:0 0 16px}.field label{display:block;font-family:Albert Sans,sans-serif;font-weight:600;letter-spacing:.1em;text-transform:uppercase;font-size:11px;color:var(--deep-blue);margin-bottom:8px}.field input{width:100%;font-family:Red Hat Display,sans-serif;font-size:16px;color:var(--navy);background:#fafaf8;border:1.5px solid var(--sand);border-radius:10px;padding:14px 16px;transition:border-color .15s,background .15s}.field input:focus{outline:none;border-color:var(--accent);background:#fff}.fine{font-size:12.5px;color:var(--ink-60);margin:16px 0 0}.error{color:#c0392b;font-size:13.5px;font-weight:600;margin:0 0 14px}.loader{text-align:center;padding:24px 0 8px}.loader .dot-row{display:inline-flex;gap:9px;margin-bottom:20px}.loader .dot{width:8px;height:8px;border-radius:50%;background:var(--accent);animation:pulse 1.1s infinite ease-in-out}.loader .dot:nth-child(2){animation-delay:.15s}.loader .dot:nth-child(3){animation-delay:.3s}@keyframes pulse{0%,to{transform:scale(.65);opacity:.4}50%{transform:scale(1);opacity:1}}.preview-box{background:var(--cream);border:1.5px solid var(--accent);border-radius:14px;padding:20px 22px;margin:0 0 24px}.preview-box .r-label{font-family:Albert Sans,sans-serif;font-weight:600;letter-spacing:.16em;text-transform:uppercase;font-size:11px;color:var(--accent);margin:0 0 8px}.preview-box .r-name{font-family:Ponte,serif;font-weight:300;font-size:26px;color:var(--navy);margin:0}@media(max-width:480px){.panel{padding:26px 22px 30px}.progress-wrap{padding:20px 22px 0}h1{font-size:30px}h2{font-size:24px}.option{font-size:15px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}
