*{margin:0;padding:0;box-sizing:border-box}:root{--bg-primary: #1e1e24;--bg-secondary: #18181e;--bg-tertiary: #131318;--bg-elevated: #23232b;--bg-hover: rgba(255, 255, 255, .04);--text-primary: #e6e7ef;--text-secondary: #a3a5b5;--text-muted: #55576a;--accent-primary: #7c6cff;--accent-hover: #6b5de0;--accent-active: #5548c8;--success: #3ba55d;--warning: #faa61a;--danger: #ed4245;--border-subtle: rgba(255, 255, 255, .05);--border-medium: rgba(124, 108, 255, .18);--input-bg: #131318;--shadow-high: 0 8px 24px rgba(0, 0, 0, .6)}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:var(--bg-tertiary);background-image:url(/rousr_cvlt_bg.svg);background-repeat:repeat;background-size:1024px 1024px;background-position:center center;color:var(--text-primary);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh;display:flex;align-items:center;justify-content:center}.container{width:100%;max-width:600px;padding:2rem}.card{background:var(--bg-elevated);border-radius:12px;padding:2rem;border:1px solid var(--border-subtle);box-shadow:var(--shadow-high)}.btn{display:inline-block;padding:11px 24px;font-size:15px;font-weight:600;text-align:center;text-decoration:none;border:none;border-radius:6px;cursor:pointer;transition:background .15s ease,opacity .15s ease;width:100%}.btn-primary{background:var(--accent-primary);color:#fff}.btn-primary:hover{background:var(--accent-hover)}.btn-primary:active{background:var(--accent-active)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.form-group{margin-bottom:1.25rem}.form-label{display:block;margin-bottom:.4rem;font-size:12px;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.6px}.form-input{width:100%;padding:10px 12px;font-size:15px;background:var(--input-bg);color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:6px;outline:none;transition:border-color .15s ease}.form-input:focus{border-color:var(--accent-primary)}.form-input::placeholder{color:var(--text-muted)}.error{background:#ed42451a;border:1px solid rgba(237,66,69,.3);color:var(--danger);font-size:13px;padding:10px 12px;border-radius:6px;margin-bottom:1rem}.success{background:#3ba55d1a;border:1px solid rgba(59,165,93,.3);color:var(--success);font-size:13px;padding:10px 12px;border-radius:6px;margin-bottom:1rem}.link{color:var(--accent-primary);text-decoration:none;cursor:pointer}.link:hover{text-decoration:underline}.text-center{text-align:center}.text-muted{color:var(--text-muted);font-size:13px}h1,h2,h3{color:var(--text-primary);margin-bottom:1rem}.logo{text-align:center;margin-bottom:1.75rem}.logo h1{font-size:1.75rem;font-weight:700;color:var(--text-primary);letter-spacing:-.5px;margin-bottom:.25rem}.logo p{color:var(--text-secondary);font-size:13px}.divider{height:1px;background:var(--border-subtle);margin:1.25rem 0}.reg-flip-scene{perspective:1200px;width:100%;max-width:440px;margin:0 auto}.reg-flipper{position:relative;transform-style:preserve-3d;transition:transform .5s cubic-bezier(.4,0,.2,1)}.reg-flipper--flipped{transform:rotateY(180deg)}.reg-face{backface-visibility:hidden;-webkit-backface-visibility:hidden;background:var(--bg-elevated);border-radius:12px;padding:2rem;border:1px solid var(--border-subtle);box-shadow:var(--shadow-high)}.reg-face--front{position:relative;transform:rotateY(0);visibility:visible;transition:visibility 0s 0s}.reg-face--back{position:absolute;top:0;left:0;width:100%;transform:rotateY(180deg);visibility:hidden;transition:visibility 0s .5s}.reg-flipper--flipped .reg-face--front{visibility:hidden;transition:visibility 0s .5s}.reg-flipper--flipped .reg-face--back{visibility:visible;transition:visibility 0s 0s}.reg-back-btn{position:absolute;top:14px;left:14px;background:none;border:none;color:var(--text-muted);font-size:18px;cursor:pointer;padding:4px 8px;border-radius:4px;line-height:1;transition:color .15s ease,background .15s ease}.reg-back-btn:hover{color:var(--text-primary);background:var(--bg-hover)}.field-hint{font-size:12px;margin-top:4px}.field-hint--valid{color:var(--success)}.field-hint--error{color:var(--danger)}.form-input--valid{border-color:var(--success)}.form-input--error{border-color:var(--danger)}
