*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--primary: #7C70F5;--primary-dark: #6356DC;--success: #32D74B;--danger: #FF453A;--background: #090909;--surface: #111111;--surface-hover: #1A1A1A;--border: rgba(255,255,255,.06);--border-strong: rgba(255,255,255,.1);--text-primary: #F0F0F0;--text-secondary: #888888;--text-muted: #4A4A4A}html,body{height:100%;overflow:hidden;font-family:DM Sans,sans-serif;background:var(--background);color:var(--text-primary);-webkit-font-smoothing:antialiased;font-size:14px}.page{height:100vh;display:grid;grid-template-columns:1fr 400px}.panel-left{display:flex;flex-direction:column;justify-content:space-between;padding:40px 52px;background:#0d0d0d;border-right:1px solid rgba(255,255,255,.06)}.wordmark{display:flex;align-items:center;gap:9px;text-decoration:none;color:var(--text-primary)}.wordmark-icon{width:28px;height:28px;background:var(--primary);border-radius:5px;display:grid;place-items:center;flex-shrink:0}.wordmark-icon svg{color:#fff}.wordmark-name{font-size:13.5px;font-weight:600;letter-spacing:-.2px}.hero-block{padding:0}.hero-title{font-family:Syne,sans-serif;font-size:clamp(36px,3.8vw,54px);font-weight:800;line-height:.97;letter-spacing:-.04em;margin-bottom:16px;color:var(--text-primary)}.hero-title span{color:var(--text-secondary)}.hero-body{font-size:13.5px;line-height:1.7;color:var(--text-secondary);max-width:360px}.feature-list{display:flex;flex-direction:column;gap:2px}.feature-row{display:flex;align-items:center;gap:11px;font-size:12.5px;color:var(--text-secondary);padding:9px 10px;border-radius:4px;border:1px solid transparent;transition:background .15s,border-color .15s,color .15s;cursor:default}.feature-row:hover{background:#ffffff08;border-color:var(--border);color:var(--text-primary)}.feature-icon{width:28px;height:28px;border:1px solid var(--border-strong);border-radius:4px;display:grid;place-items:center;color:var(--text-secondary);flex-shrink:0}.panel-right{display:flex;align-items:center;justify-content:center;padding:40px}.auth-card{width:100%}.auth-header{margin-bottom:24px}.auth-title{font-size:18px;font-weight:700;letter-spacing:-.03em;margin-bottom:3px}.auth-sub{font-size:13px;color:var(--text-secondary)}.auth-tabs{display:flex;border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:22px}.auth-tab{flex:1;padding:8px 4px 10px;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;background:transparent;color:var(--text-muted);font-size:12.5px;font-weight:600;font-family:inherit;cursor:pointer;letter-spacing:.01em;transition:color .15s,border-color .15s}.auth-tab:hover:not(.active){color:var(--text-secondary)}.auth-tab.active{color:var(--text-primary);border-bottom-color:var(--primary)}.auth-msg{display:none;align-items:flex-start;gap:7px;padding:9px 11px;border-radius:4px;font-size:12.5px;margin-bottom:14px;line-height:1.45}.auth-msg svg{flex-shrink:0;margin-top:1px}.auth-msg.show{display:flex}.auth-msg.error{background:#ff453a12;border:1px solid rgba(255,69,58,.15);color:#ff6b61}.auth-msg.success{background:#32d74b12;border:1px solid rgba(50,215,75,.15);color:#3dd65a}.auth-form{display:none;flex-direction:column;gap:13px}.auth-form.active{display:flex}.field{display:flex;flex-direction:column;gap:5px}.field-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.input-wrap{position:relative;display:flex;align-items:center}.input-icon{position:absolute;left:11px;color:var(--text-muted);pointer-events:none}.input-wrap input{width:100%;background:var(--surface);border:1px solid rgba(255,255,255,.1);border-radius:4px;padding:9px 36px 9px 34px;font-size:13.5px;font-family:inherit;color:var(--text-primary);outline:none;transition:border-color .15s;appearance:none;-webkit-appearance:none}.input-wrap input::placeholder{color:var(--text-muted)}.input-wrap input:focus{border-color:var(--primary)}.pw-toggle{position:absolute;right:10px;background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;display:flex;align-items:center;transition:color .15s}.pw-toggle:hover{color:var(--text-secondary)}.strength-row{display:flex;align-items:center;gap:8px;margin-top:5px}.strength-track{flex:1;height:2px;background:var(--border-strong);border-radius:2px;overflow:hidden}.strength-fill{height:100%;width:0%;border-radius:2px;transition:width .3s,background .3s}.strength-label{font-size:10.5px;font-weight:500;min-width:56px;text-align:right}.auth-btn{position:relative;width:100%;padding:10px;background:var(--primary);color:#fff;border:none;border-radius:4px;font-size:13.5px;font-weight:600;font-family:inherit;cursor:pointer;margin-top:4px;letter-spacing:.01em;transition:opacity .15s;display:flex;align-items:center;justify-content:center;gap:8px}.auth-btn:hover:not(:disabled){opacity:.88}.auth-btn:disabled{opacity:.35;cursor:not-allowed}.btn-spinner{display:none;width:14px;height:14px;border:2px solid rgba(255,255,255,.25);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.text-btn{background:none;border:none;font-size:12px;color:var(--text-muted);cursor:pointer;font-family:inherit;transition:color .15s;padding:0}.text-btn:hover{color:var(--text-secondary)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 16px;border-radius:4px;font-size:13px;font-weight:600;font-family:inherit;cursor:pointer;border:none;transition:opacity .15s}.btn-secondary{background:var(--surface-hover);color:var(--text-secondary);border:1px solid var(--border-strong)}.btn-secondary:hover{color:var(--text-primary)}.btn-secondary:disabled{opacity:.45;cursor:not-allowed}.lockout-bar{display:none;height:2px;background:var(--border-strong);border-radius:2px;overflow:hidden;margin-top:-4px}.lockout-bar.show{display:block}.lockout-fill{height:100%;background:var(--danger);border-radius:2px;transition:width 1s linear}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-5px)}40%{transform:translate(5px)}60%{transform:translate(-3px)}80%{transform:translate(3px)}}.shake{animation:shake .38s ease}@media(max-width:800px){.page{grid-template-columns:1fr}.panel-left{display:none}.panel-right{padding:40px 28px}}
