:root{--accent-50:#e9f6fb;--accent-100:#d3ecf5;--accent-200:#a7d9eb;--accent-300:#7bc6e1;--accent-400:#4fb3d7;--accent-500:#2596be;--accent-600:#1e7898;--accent-700:#175a72;--accent-800:#103c4c;--accent-900:#081e26;--accent-purple:#667eea;--accent-purple-dark:#764ba2;--gold-50:#fef9e7;--gold-100:#fdf3cd;--gold-300:#f4c542;--gold-500:#e6a800;--gold-700:#cc9000;--gold-text:#7d5a00;--gold-text-dark:#5a4200;--gold-contrast:#3d2e00;--gold-300-45:color-mix(in srgb, var(--gold-300) 45%, transparent);--gold-300-55:color-mix(in srgb, var(--gold-300) 55%, transparent);--accent-500-08:color-mix(in srgb, var(--accent-500) 8%, transparent);--accent-500-10:color-mix(in srgb, var(--accent-500) 10%, transparent);--accent-500-12:color-mix(in srgb, var(--accent-500) 12%, transparent);--accent-500-15:color-mix(in srgb, var(--accent-500) 15%, transparent);--accent-500-20:color-mix(in srgb, var(--accent-500) 20%, transparent);--accent-500-25:color-mix(in srgb, var(--accent-500) 25%, transparent);--accent-500-30:color-mix(in srgb, var(--accent-500) 30%, transparent);--accent-500-35:color-mix(in srgb, var(--accent-500) 35%, transparent);--accent-500-40:color-mix(in srgb, var(--accent-500) 40%, transparent);--accent-500-55:color-mix(in srgb, var(--accent-500) 55%, transparent);--accent-400-08:color-mix(in srgb, var(--accent-400) 8%, transparent);--black-05:#0000000d;--black-08:#00000014;--black-10:#0000001a;--black-15:#00000026;--black-20:#0003;--black-35:#00000059;--white-04:#ffffff0a;--white-06:#ffffff0f;--white-12:#ffffff1f;--white-15:#ffffff26;--white-20:#fff3;--white-25:#ffffff40;--white-35:#ffffff59;--white-85:#ffffffd9;--white-90:#ffffffe6;--error-30:color-mix(in srgb, var(--error) 30%, transparent);--error-40:color-mix(in srgb, var(--error) 40%, transparent);--success-06:color-mix(in srgb, var(--success) 6%, transparent);--success-25:color-mix(in srgb, var(--success) 25%, transparent);--bg:#f7fafc;--surface:#fff;--surface-alt:#eef4f7;--border:#d7e3ea;--text-primary:#0f172a;--text-secondary:#5b6b78;--text-tertiary:#6b7a87;--text-muted:#8a99a6;--success:#22a06b;--warning:#d97706;--error:#d92d20;--error-dark:#b42318;--danger:var(--error);--info:var(--accent-500);--radius-3xs:3px;--radius-2xs:4px;--radius-xs:6px;--radius-sm:8px;--radius-md:10px;--radius-lg:12px;--radius-xl:16px;--radius-2xl:20px;--radius-3xl:24px;--radius-pill:50px;--radius-full:50%;--shadow-xs:0 2px 8px var(--accent-500-30);--shadow-sm:0 4px 12px var(--accent-500-15);--shadow-md:0 4px 12px var(--accent-500-30);--shadow-md-strong:0 4px 14px var(--accent-500-40);--shadow-lg:0 6px 20px var(--accent-500-55);--shadow-dark:0 4px 20px var(--black-15);--shadow-none:none;--gradient-primary:linear-gradient(135deg, var(--accent-500) 0%, var(--accent-600) 100%);--gradient-primary-dark:linear-gradient(135deg, var(--accent-600) 0%, var(--accent-700) 100%);--gradient-accent:linear-gradient(135deg, var(--accent-600), var(--accent-500));--gradient-deep:linear-gradient(135deg, var(--accent-900) 0%, var(--accent-600) 50%, var(--accent-500) 100%);--gradient-hero:linear-gradient(135deg, var(--accent-900) 0%, var(--accent-600) 40%, var(--accent-500) 70%, var(--accent-400) 100%);--gradient-hero-angled:linear-gradient(160deg, var(--accent-900) 0%, var(--accent-600) 50%, var(--accent-500) 100%);--gradient-purple:linear-gradient(135deg, var(--accent-purple) 0%, var(--accent-purple-dark) 100%);--gradient-gold:linear-gradient(135deg, var(--gold-300) 0%, var(--gold-500) 100%);--gradient-gold-dark:linear-gradient(135deg, var(--gold-500) 0%, var(--gold-700) 100%);--gradient-accent-horizontal:linear-gradient(90deg, var(--accent-500), var(--accent-400));--gradient-shimmer:linear-gradient(90deg, var(--accent-50) 25%, var(--accent-100) 50%, var(--accent-50) 75%);--gradient-branding-overlay:radial-gradient(circle at 20% 80%, var(--white-04) 0%, transparent 50%), radial-gradient(circle at 80% 20%, var(--white-06) 0%, transparent 50%), radial-gradient(circle at 50% 50%, var(--accent-400-08) 0%, transparent 70%);--gradient-branding-overlay-alt:radial-gradient(circle at 15% 85%, var(--white-06) 0%, transparent 50%), radial-gradient(circle at 85% 20%, var(--white-06) 0%, transparent 50%), radial-gradient(circle at 50% 50%, var(--accent-400-08) 0%, transparent 65%);--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--font-mono:"Courier New", monospace;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--tracking-tight:.3px;--tracking-normal:.4px;--tracking-wide:.5px;--ease:ease;--transition-instant:.15s var(--ease);--transition-fast:.2s var(--ease);--transition-base:all .3s var(--ease);--z-base:1;--z-sticky:100;--z-overlay:500;--z-modal:1000;--z-toast:1100;--z-tooltip:1200;--primary-color:var(--accent-500);--primary-dark:var(--accent-600);--primary-darker:var(--accent-700);--primary-light:var(--accent-300);--primary-lighter:var(--accent-200);--primary-bg:var(--accent-50);--primary-bg-light:var(--accent-100);--error-color:var(--error);--text-light:var(--text-muted);--bg-white:var(--surface);--bg-gray:var(--surface-alt);--bg-gray-light:var(--bg);--border-light:var(--border);--border-gray:var(--border)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg);color:var(--text-primary);-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;margin:0;overflow:hidden}code{font-family:var(--font-mono)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--surface-alt,var(--surface-alt))}::-webkit-scrollbar-thumb{background:var(--accent-200,#a7d9eb);border-radius:var(--radius-2xs)}::-webkit-scrollbar-thumb:hover{background:var(--accent-400,#4fb3d7)}.account-pending-page{background:linear-gradient(135deg, var(--accent-900) 0%, var(--accent-600) 45%, var(--accent-500) 75%, var(--accent-400) 100%);justify-content:center;align-items:center;min-height:100dvh;padding:20px;display:flex}.account-pending-card{background:var(--surface);border-radius:var(--radius-3xl);width:100%;max-width:520px;box-shadow:0 30px 80px var(--black-35), 0 8px 30px #081e262e;z-index:1;justify-content:center;animation:.5s cubic-bezier(.16,1,.3,1) both pendingCardAppear;display:flex;position:relative;overflow:hidden}@keyframes pendingCardAppear{0%{opacity:0;transform:translateY(24px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.account-pending-success-content{text-align:center;flex-direction:column;align-items:center;padding:56px 48px;display:flex}.account-pending-success-icon{background:var(--gradient-primary);width:72px;height:72px;color:var(--surface);border-radius:50%;justify-content:center;align-items:center;margin-bottom:24px;animation:.4s cubic-bezier(.34,1.56,.64,1) pendingPopIn;display:flex}@keyframes pendingPopIn{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.account-pending-success-title{font-size:22px;font-weight:var(--font-weight-bold);color:var(--text-primary);margin:0 0 12px}.account-pending-success-text{color:var(--text-secondary);max-width:360px;margin:0 0 28px;font-size:14px;line-height:1.6}.account-pending-success-link{background:var(--gradient-primary);color:var(--surface);border-radius:var(--radius-md);font-size:14px;font-weight:var(--font-weight-semibold);box-shadow:var(--shadow-md-strong);align-items:center;gap:8px;padding:12px 28px;text-decoration:none;transition:transform .15s,box-shadow .15s;display:inline-flex}.account-pending-success-link:hover{box-shadow:var(--shadow-lg);transform:translateY(-1px)}.account-pending-page:before{content:"";pointer-events:none;background-image:var(--gradient-branding-overlay-alt);position:fixed;inset:0}.account-pending-card{background:var(--surface);border-radius:var(--radius-3xl);width:100%;max-width:920px;min-height:520px;box-shadow:0 30px 80px var(--black-35), 0 8px 30px #081e262e;z-index:1;display:flex;position:relative;overflow:hidden}@media (width<=760px){.account-pending-card{flex-direction:column;max-width:460px;min-height:auto}}.login-page{background:var(--gradient-hero);min-height:100dvh;font-family:var(--font-sans);justify-content:center;align-items:center;padding:20px;display:flex}.login-page:before{content:"";background-image:var(--gradient-branding-overlay);pointer-events:none;position:fixed;inset:0}.login-card{background:var(--surface);border-radius:var(--radius-3xl);width:100%;max-width:900px;min-height:540px;box-shadow:0 32px 80px var(--black-35), 0 8px 32px #081e2633;z-index:1;animation:.5s cubic-bezier(.16,1,.3,1) both cardAppear;display:flex;position:relative;overflow:hidden}@keyframes cardAppear{0%{opacity:0;transform:translateY(24px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.login-branding{background:var(--gradient-hero-angled);flex-direction:column;flex:1;justify-content:center;align-items:center;padding:48px 40px;display:flex;position:relative;overflow:hidden}.login-branding:before{content:"";background:var(--white-04);border-radius:50%;width:320px;height:320px;position:absolute;top:-80px;right:-80px}.login-branding:after{content:"";background:#ffffff0d;border-radius:50%;width:200px;height:200px;position:absolute;bottom:-60px;left:-60px}.login-logo-wrap{background:var(--surface);border-radius:var(--radius-xl);z-index:1;box-shadow:var(--shadow-dark);margin-bottom:32px;padding:18px 28px}.login-logo{width:180px;height:auto;display:block}.login-branding-title{color:var(--surface);font-size:22px;font-weight:var(--font-weight-bold);letter-spacing:.5px;text-align:center;z-index:1;margin:0 0 10px}.login-branding-sub{color:#ffffffbf;text-align:center;z-index:1;max-width:220px;font-size:14px;line-height:1.6}.login-branding-badge{border:1px solid var(--white-15);z-index:1;background:#ffffff1a;border-radius:32px;align-items:center;gap:8px;margin-top:32px;padding:8px 16px;display:flex}.login-branding-badge svg{opacity:.8;flex-shrink:0}.login-branding-badge span{color:var(--white-85);font-size:12px;font-weight:var(--font-weight-medium)}.login-form-panel{flex-direction:column;flex:1;justify-content:center;padding:56px 48px;display:flex}.login-form-header{margin-bottom:36px}.login-form-title{font-size:26px;font-weight:var(--font-weight-bold);color:var(--text-primary);margin:0 0 8px}.login-form-subtitle{color:var(--text-muted);margin:0;font-size:14px}.login-field{margin-bottom:20px}.login-field label{font-size:13px;font-weight:var(--font-weight-semibold);color:var(--text-secondary);letter-spacing:.2px;margin-bottom:7px;display:block}.login-input-wrap{align-items:center;display:flex;position:relative}.login-input-icon{color:var(--text-muted);pointer-events:none;align-items:center;transition:color .2s;display:flex;position:absolute;left:14px}.login-input-wrap input{border:1.5px solid var(--border);border-radius:var(--radius-md);width:100%;color:var(--text-primary);background:var(--bg);box-sizing:border-box;outline:none;padding:13px 14px 13px 42px;font-size:14px;transition:border-color .2s,box-shadow .2s,background .2s}.login-input-wrap input::placeholder{color:var(--text-muted)}.login-input-wrap input:focus{border-color:var(--accent-500);background:var(--surface);box-shadow:0 0 0 3px var(--accent-500-12)}.login-input-wrap input:focus+.login-input-icon,.login-input-wrap:focus-within .login-input-icon{color:var(--accent-500)}.login-input-wrap.has-error input{border-color:var(--error);background:#fff5f5;box-shadow:0 0 0 3px #d92d201a}.login-input-wrap.is-valid input{border-color:var(--success);background:#f0fff4}.login-toggle-pass{cursor:pointer;color:var(--text-muted);border-radius:var(--radius-xs);background:0 0;border:none;align-items:center;padding:4px;transition:color .2s;display:flex;position:absolute;right:12px}.login-toggle-pass:hover{color:var(--accent-500)}.login-valid-icon{color:var(--success);align-items:center;animation:.2s cubic-bezier(.34,1.56,.64,1) popIn;display:flex;position:absolute;right:12px}@keyframes popIn{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}.login-error-msg{color:var(--error);align-items:center;gap:5px;margin-top:5px;font-size:12px;animation:.18s slideDown;display:flex}@keyframes slideDown{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.login-general-error{border-radius:var(--radius-md);color:var(--error-dark);background:#fff5f5;border:1px solid #fca5a5;align-items:center;gap:10px;margin-bottom:20px;padding:12px 14px;font-size:13px;animation:.2s slideDown;display:flex}.login-submit-btn{background:var(--gradient-primary);width:100%;color:var(--surface);border-radius:var(--radius-md);font-size:15px;font-weight:var(--font-weight-semibold);cursor:pointer;letter-spacing:.3px;box-shadow:var(--shadow-md-strong);border:none;justify-content:center;align-items:center;gap:8px;margin-top:8px;padding:14px;transition:transform .15s,box-shadow .15s,opacity .15s;display:flex}.login-submit-btn:hover:not(:disabled){box-shadow:var(--shadow-lg);transform:translateY(-1px)}.login-submit-btn:active:not(:disabled){box-shadow:var(--shadow-xs);transform:translateY(0)}.login-submit-btn:disabled{opacity:.65;cursor:not-allowed}.login-spinner{border:2px solid #fff6;border-top-color:var(--surface);border-radius:50%;width:18px;height:18px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=680px){.login-card{max-width:420px;min-height:unset;border-radius:var(--radius-2xl);flex-direction:column}.login-branding{border-radius:0;padding:36px 24px 28px}.login-logo{width:140px}.login-branding-title,.login-branding-sub,.login-branding-badge{display:none}.login-form-panel{padding:36px 28px 40px}}.login-register-link{text-align:center;color:var(--text-muted);margin-top:20px;font-size:13px}.login-register-link a{color:var(--accent-500);font-weight:var(--font-weight-semibold);text-decoration:none;transition:color .2s}.login-register-link a:hover{color:var(--accent-600);text-decoration:underline}.register-page{background:var(--gradient-hero);min-height:100dvh;font-family:var(--font-sans);justify-content:center;align-items:center;padding:20px;display:flex}.register-page:before{content:"";background-image:var(--gradient-branding-overlay);pointer-events:none;position:fixed;inset:0}.register-card{background:var(--surface);border-radius:var(--radius-3xl);width:100%;max-width:940px;min-height:600px;box-shadow:0 32px 80px var(--black-35), 0 8px 32px #081e2633;z-index:1;animation:.5s cubic-bezier(.16,1,.3,1) both registerCardAppear;display:flex;position:relative;overflow:hidden}.register-card--success{max-width:520px;min-height:unset;justify-content:center}@keyframes registerCardAppear{0%{opacity:0;transform:translateY(24px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.register-branding{background:var(--gradient-hero-angled);flex-direction:column;flex:0 0 340px;justify-content:center;align-items:center;padding:48px 36px;display:flex;position:relative;overflow:hidden}.register-branding:before{content:"";background:var(--white-04);border-radius:50%;width:320px;height:320px;position:absolute;top:-80px;right:-80px}.register-branding:after{content:"";background:#ffffff0d;border-radius:50%;width:200px;height:200px;position:absolute;bottom:-60px;left:-60px}.register-logo-wrap{background:var(--surface);border-radius:var(--radius-xl);z-index:1;box-shadow:var(--shadow-dark);margin-bottom:32px;padding:18px 28px}.register-logo{width:180px;height:auto;display:block}.register-branding-title{color:var(--surface);font-size:22px;font-weight:var(--font-weight-bold);letter-spacing:.5px;text-align:center;z-index:1;margin:0 0 10px}.register-branding-sub{color:#ffffffbf;text-align:center;z-index:1;max-width:240px;font-size:14px;line-height:1.6}.register-branding-badge{border:1px solid var(--white-15);z-index:1;background:#ffffff1a;border-radius:32px;align-items:center;gap:8px;margin-top:32px;padding:8px 16px;display:flex}.register-branding-badge svg{opacity:.8;flex-shrink:0}.register-branding-badge span{color:var(--white-85);font-size:12px;font-weight:var(--font-weight-medium)}.register-form-panel{flex-direction:column;flex:1;justify-content:center;padding:44px 48px;display:flex;overflow-y:auto}.register-form-header{margin-bottom:28px}.register-form-title{font-size:26px;font-weight:var(--font-weight-bold);color:var(--text-primary);margin:0 0 8px}.register-form-subtitle{color:var(--text-muted);margin:0;font-size:14px}.register-field{margin-bottom:18px}.register-field label{font-size:13px;font-weight:var(--font-weight-semibold);color:var(--text-secondary);letter-spacing:.2px;margin-bottom:7px;display:block}.register-input-wrap{align-items:center;display:flex;position:relative}.register-input-icon{color:var(--text-muted);pointer-events:none;align-items:center;transition:color .2s;display:flex;position:absolute;left:14px}.register-input-wrap input{border:1.5px solid var(--border);border-radius:var(--radius-md);width:100%;color:var(--text-primary);background:var(--bg);box-sizing:border-box;outline:none;padding:13px 14px 13px 42px;font-size:14px;transition:border-color .2s,box-shadow .2s,background .2s}.register-input-wrap input::placeholder{color:var(--text-muted)}.register-input-wrap input:focus{border-color:var(--accent-500);background:var(--surface);box-shadow:0 0 0 3px var(--accent-500-12)}.register-input-wrap:focus-within .register-input-icon{color:var(--accent-500)}.register-input-wrap.has-error input{border-color:var(--error);background:#fff5f5;box-shadow:0 0 0 3px #d92d201a}.register-input-wrap.is-valid input{border-color:var(--success);background:#f0fff4}.register-toggle-pass{cursor:pointer;color:var(--text-muted);border-radius:var(--radius-xs);background:0 0;border:none;align-items:center;padding:4px;transition:color .2s;display:flex;position:absolute;right:12px}.register-toggle-pass:hover{color:var(--accent-500)}.register-valid-icon{color:var(--success);align-items:center;animation:.2s cubic-bezier(.34,1.56,.64,1) registerPopIn;display:flex;position:absolute;right:12px}@keyframes registerPopIn{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}.register-error-msg{color:var(--error);align-items:center;gap:5px;margin-top:5px;font-size:12px;animation:.18s registerSlideDown;display:flex}@keyframes registerSlideDown{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.register-general-error{border-radius:var(--radius-md);color:var(--error-dark);background:#fff5f5;border:1px solid #fca5a5;align-items:center;gap:10px;margin-bottom:18px;padding:12px 14px;font-size:13px;animation:.2s registerSlideDown;display:flex}.register-password-rules{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);flex-direction:column;gap:5px;margin:8px 0 0;padding:10px 12px;list-style:none;animation:.18s registerSlideDown;display:flex}.register-rule-item{align-items:center;gap:7px;font-size:12px;transition:color .2s;display:flex}.register-rule-item.rule-ok{color:var(--success)}.register-rule-item.rule-fail{color:var(--text-muted)}.register-rule-item svg{flex-shrink:0}.register-submit-btn{background:var(--gradient-primary);width:100%;color:var(--surface);border-radius:var(--radius-md);font-size:15px;font-weight:var(--font-weight-semibold);cursor:pointer;letter-spacing:.3px;box-shadow:var(--shadow-md-strong);border:none;justify-content:center;align-items:center;gap:8px;margin-top:8px;padding:14px;transition:transform .15s,box-shadow .15s,opacity .15s;display:flex}.register-submit-btn:hover:not(:disabled){box-shadow:var(--shadow-lg);transform:translateY(-1px)}.register-submit-btn:active:not(:disabled){box-shadow:var(--shadow-xs);transform:translateY(0)}.register-submit-btn:disabled{opacity:.65;cursor:not-allowed}.register-spinner{border:2px solid #fff6;border-top-color:var(--surface);border-radius:50%;width:18px;height:18px;animation:.7s linear infinite registerSpin}@keyframes registerSpin{to{transform:rotate(360deg)}}.register-login-link{text-align:center;color:var(--text-muted);margin-top:20px;font-size:13px}.register-login-link a{color:var(--accent-500);font-weight:var(--font-weight-semibold);text-decoration:none;transition:color .2s}.register-login-link a:hover{color:var(--accent-600);text-decoration:underline}.register-success-content{text-align:center;flex-direction:column;align-items:center;padding:56px 48px;display:flex}.register-success-icon{background:var(--gradient-primary);width:72px;height:72px;color:var(--surface);border-radius:50%;justify-content:center;align-items:center;margin-bottom:24px;animation:.4s cubic-bezier(.34,1.56,.64,1) registerPopIn;display:flex}.register-success-title{font-size:22px;font-weight:var(--font-weight-bold);color:var(--text-primary);margin:0 0 12px}.register-success-text{color:var(--text-secondary);max-width:360px;margin:0 0 28px;font-size:14px;line-height:1.6}.register-success-link{background:var(--gradient-primary);color:var(--surface);border-radius:var(--radius-md);font-size:14px;font-weight:var(--font-weight-semibold);box-shadow:var(--shadow-md-strong);align-items:center;gap:8px;padding:12px 28px;text-decoration:none;transition:transform .15s,box-shadow .15s;display:inline-flex}.register-success-link:hover{box-shadow:var(--shadow-lg);transform:translateY(-1px)}@media (width<=720px){.register-card{max-width:440px;min-height:unset;border-radius:var(--radius-2xl);flex-direction:column}.register-branding{flex:unset;border-radius:0;padding:36px 24px 28px}.register-logo{width:140px}.register-branding-title,.register-branding-sub,.register-branding-badge{display:none}.register-form-panel{padding:32px 24px 36px}}.reset-password-card{min-height:570px}.reset-password-panel{min-width:0}.reset-password-header{margin-bottom:26px}.reset-password-rules{color:var(--text-muted);flex-wrap:wrap;gap:6px 12px;margin:9px 0 0;padding:0;font-size:11px;list-style:none;display:flex}.reset-password-rules li:before{content:"○";margin-right:4px}.reset-password-rules li.valid{color:var(--success)}.reset-password-rules li.valid:before{content:"✓";font-weight:var(--font-weight-bold)}.reset-password-result{text-align:center;color:var(--success);flex-direction:column;align-items:center;display:flex}.reset-password-result h2{margin-top:18px}.reset-password-result p{color:var(--text-muted);margin:2px 0 20px;font-size:14px;line-height:1.5}.reset-password-invalid{color:var(--error)}.reset-password-login-link{box-sizing:border-box;text-decoration:none}.reset-password-secondary-link{color:var(--accent-600);font-size:14px;font-weight:var(--font-weight-semibold);text-decoration:none}.reset-password-secondary-link:hover{text-decoration:underline}@media (width<=680px){.reset-password-card{min-height:auto}}.ai-modal-backdrop{z-index:1000;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background-color:#000000bf;justify-content:center;align-items:center;animation:.3s ease-in-out ai-modal-fade-in;display:flex;position:fixed;inset:0}@keyframes ai-modal-fade-in{0%{opacity:0}to{opacity:1}}.ai-modal-content{background:var(--surface);border-radius:var(--radius-sm);flex-direction:column;width:85vw;height:85vh;animation:.3s ease-in-out ai-modal-slide-in;display:flex;overflow:hidden;box-shadow:0 20px 60px #0000004d}@keyframes ai-modal-slide-in{0%{opacity:0;transform:scale(.92)translateY(-20px)}to{opacity:1;transform:scale(1)translateY(0)}}.ai-modal-body{flex-direction:column;flex:1;gap:20px;min-height:0;padding:35px;display:flex;overflow:auto}.ai-modal-heading h2,.ai-modal-heading p{margin:0}.ai-modal-heading h2{color:var(--text-primary);font-size:1.25rem}.ai-modal-heading p{color:var(--text-muted);margin-top:4px;font-size:.9rem}.ai-dictation-area{background:var(--surface);min-height:110px;color:var(--text-secondary);font-size:18px;line-height:1.8;font-family:var(--font-sans);border:none;border-radius:0;flex-direction:column;flex:1;padding:0;display:flex;position:relative;overflow:hidden}.ai-instruction-textarea{resize:none;width:100%;color:var(--text-secondary);font-size:18px;line-height:1.8;font-family:var(--font-sans);background:var(--surface);border:none;outline:none;flex:1;padding:35px}.ai-instruction-textarea::placeholder{color:var(--text-primary);font-style:italic;font-weight:var(--font-weight-semibold);opacity:1}.ai-dictation-area .recognized-text{color:var(--text-primary);font-weight:var(--font-weight-medium)}.ai-dictation-area .partial-text-chunk{transition:var(--transition-base)}.ai-dictation-area .partial-text-chunk.partial{color:var(--accent-500);font-weight:var(--font-weight-normal);font-style:italic}.ai-dictation-area .partial-text-chunk.confirmed{color:var(--text-primary);font-weight:var(--font-weight-normal)}.ai-dictation-area .speak-now-message{color:var(--text-muted);opacity:.6;text-align:center;margin-top:20px;font-style:italic;display:block}.ai-examples{padding:15px 0 20px}.ai-examples-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px;max-width:100%;display:grid}.ai-example-item{background:var(--surface);border:2.5px solid var(--accent-50);border-radius:var(--radius-lg);font-size:15px;font-weight:var(--font-weight-medium);color:var(--accent-500);transition:var(--transition-base);cursor:pointer;box-shadow:0 2px 8px var(--accent-500-12);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:124px;padding:16px 12px;display:flex}.ai-example-item svg{color:var(--accent-500);stroke-width:2px;flex-shrink:0;width:28px;height:28px}.ai-example-item span{word-wrap:break-word;max-width:100%;line-height:1.3}.ai-example-item small{color:var(--text-muted);font-size:.72rem;font-weight:var(--font-weight-normal);line-height:1.35}.ai-example-item.active small{color:inherit}.ai-example-item:hover{background:linear-gradient(135deg, var(--accent-50) 0%, var(--accent-100) 100%);border-color:var(--accent-500);box-shadow:0 6px 12px var(--accent-500-20);transform:translateY(-3px)}.ai-example-item:active{box-shadow:0 3px 8px var(--accent-500-15);transform:translateY(-1px)}.ai-example-item.active{background:var(--gradient-primary);border-color:var(--accent-600);color:var(--surface);box-shadow:0 4px 12px var(--accent-500-40)}.ai-example-item.active svg{color:var(--surface)}.ai-example-item.disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.ai-example-item.disabled:hover{box-shadow:0 2px 6px var(--accent-500-08);background:var(--surface);border-color:var(--accent-50);transform:none}.ai-examples-grid>div{flex-direction:column;display:flex;position:relative}.ai-examples-grid>div>.ai-example-item{width:100%;height:100%}.language-menu{background:var(--surface);border:2px solid var(--accent-500);border-radius:var(--radius-lg);z-index:2000;width:90%;max-width:400px;max-height:500px;animation:.2s ease-out language-menu-scale-in;position:fixed;top:50%;left:50%;overflow:hidden auto;transform:translate(-50%,-50%);box-shadow:0 8px 32px #00000040}@keyframes language-menu-scale-in{0%{opacity:0;transform:translate(-50%,-50%)scale(.9)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.language-option{background:var(--surface);width:100%;color:var(--accent-500);font-size:15px;font-weight:var(--font-weight-medium);cursor:pointer;text-align:left;border:none;align-items:center;gap:10px;padding:12px 16px;transition:all .2s;display:flex}.language-option:hover{background:var(--accent-50)}.language-option:active{background:var(--accent-100)}.language-option.featured{font-weight:var(--font-weight-bold);font-style:italic}.ai-modal-actions{border-top:2px solid var(--border);justify-content:flex-end;gap:15px;padding-top:15px;display:flex}.ai-action-btn{border-radius:var(--radius-xs);font-size:16px;font-weight:var(--font-weight-semibold);cursor:pointer;transition:var(--transition-base);font-family:var(--font-sans);border:none;align-items:center;gap:8px;padding:14px 28px;display:flex}.cancel-btn{background:var(--surface-alt);color:var(--text-secondary);border:2px solid var(--border)}.cancel-btn:hover{background:var(--bg);box-shadow:0 4px 12px var(--black-10);transform:translateY(-2px)}.cancel-btn:active{transform:translateY(0)}.apply-btn{background:var(--gradient-purple);color:var(--surface);box-shadow:0 4px 12px #667eea4d}.apply-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #667eea66}.apply-btn:active:not(:disabled){transform:translateY(0)}.apply-btn:disabled{opacity:.5;cursor:not-allowed;background:var(--border);box-shadow:none}@media (width<=48em){.ai-modal-content{border-radius:var(--radius-xs);width:95vw;height:90vh}.ai-modal-body{gap:15px;padding:20px}.ai-dictation-area{min-height:100px;padding:0;font-size:16px}.ai-instruction-textarea{min-height:100px;padding:16px;font-size:16px}.ai-examples{padding:10px 0}.ai-examples-grid{grid-template-columns:repeat(2,1fr);gap:10px}.ai-example-item{min-height:118px;padding:14px 10px;font-size:12px}.ai-example-item svg{width:24px;height:24px}.ai-modal-actions{flex-direction:column;gap:10px}.ai-action-btn{justify-content:center;width:100%;padding:12px 20px;font-size:15px}.apply-btn{order:1}.cancel-btn{order:2}}.info-modal-backdrop{z-index:2000;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background-color:#0009;justify-content:center;align-items:center;padding:20px;animation:.3s ease-in-out fadeIn;display:flex;position:fixed;inset:0}.info-modal-content{background:var(--surface);border-radius:var(--radius-xl);width:90%;max-width:700px;max-height:90vh;animation:.3s ease-in-out slideInModal;position:relative;overflow-y:auto;box-shadow:0 20px 60px #0000004d}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInModal{0%{opacity:0;transform:scale(.9)translateY(-20px)}to{opacity:1;transform:scale(1)translateY(0)}}.info-modal-close{color:var(--text-muted);cursor:pointer;width:40px;height:40px;transition:var(--transition-base);z-index:10;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:20px;right:20px}.info-modal-close:hover{background:var(--surface-alt);color:var(--text-primary);transform:rotate(90deg)}.info-modal-body{flex-direction:column;gap:20px;padding:40px;display:flex}.info-modal-title{font-size:1.8rem;font-weight:var(--font-weight-bold);color:var(--accent-500);text-align:center;margin:0 0 10px}.info-modal-subtitle{font-size:1.2rem;font-weight:var(--font-weight-semibold);color:var(--text-secondary);text-align:center;margin:0 0 15px}.info-section{background:var(--accent-50);border-radius:var(--radius-lg);border:2px solid var(--accent-100);transition:var(--transition-base);flex-direction:column;gap:12px;padding:20px;display:flex}.info-section:hover{border-color:var(--accent-500);box-shadow:var(--shadow-sm)}.info-section-image{background:var(--surface);border-radius:var(--radius-sm);justify-content:center;align-items:center;width:100%;margin-bottom:3px;padding:12px;display:flex}.info-product-image{object-fit:contain;border-radius:var(--radius-xs);max-width:100%;height:auto;max-height:200px}.info-section-title{font-size:1.3rem;font-weight:var(--font-weight-bold);color:var(--accent-600);margin:0 0 10px}.info-section-description{color:var(--text-secondary);margin:0 0 10px;font-size:1rem;line-height:1.6}.info-features-list{flex-direction:column;gap:8px;margin:0 0 12px;padding:0;list-style:none;display:flex}.info-features-list li{color:var(--text-secondary);padding-left:25px;font-size:.95rem;line-height:1.5;position:relative}.info-features-list li:before{content:"";border-left:2px solid var(--accent-500);border-bottom:2px solid var(--accent-500);width:7px;height:4px;position:absolute;top:.55em;left:4px;transform:rotate(-45deg)}.info-link{background:var(--surface);color:var(--accent-500);border-radius:var(--radius-sm);font-weight:var(--font-weight-semibold);transition:var(--transition-base);border:2px solid var(--accent-500);align-self:flex-start;align-items:center;gap:8px;padding:12px 20px;font-size:.95rem;text-decoration:none;display:inline-flex}.info-link:hover{background:var(--accent-500);color:var(--surface);box-shadow:var(--shadow-md);transform:translateY(-2px)}.info-contact-section{background:var(--gradient-primary);border-radius:var(--radius-lg);text-align:center;box-shadow:var(--shadow-md);padding:25px}.info-contact-title{font-size:1.4rem;font-weight:var(--font-weight-bold);color:var(--surface);margin:0 0 15px}.info-contact-button{background:var(--surface);color:var(--accent-500);border-radius:var(--radius-sm);font-weight:var(--font-weight-semibold);transition:var(--transition-base);border:2px solid #fff;align-items:center;gap:10px;padding:14px 30px;font-size:1.05rem;text-decoration:none;display:inline-flex}.info-contact-button:hover{color:var(--surface);border-color:var(--surface);box-shadow:0 4px 12px var(--black-20);background:0 0;transform:translateY(-2px)}@media (width<=768px){.info-modal-content{width:95%;max-height:85vh}.info-modal-body{gap:18px;padding:30px 25px}.info-modal-title{font-size:1.5rem}.info-section{padding:18px}.info-section-image{padding:10px}.info-product-image{max-height:150px}.info-section-title{font-size:1.15rem}.info-features-list li{font-size:.9rem}.info-contact-section{padding:25px 20px}.info-contact-title{font-size:1.2rem}}@media (width<=480px){.info-modal-backdrop{padding:10px}.info-modal-body{gap:15px;padding:25px 20px}.info-modal-title{font-size:1.3rem}.info-section-title{font-size:1.15rem}.info-link,.info-contact-button{padding:12px 18px;font-size:.9rem}}.route-fallback{min-height:180px;color:var(--text-secondary);place-items:center;font-size:.95rem;display:grid}.route-error{place-items:center;min-height:220px;padding:24px;display:grid}.route-error-card{text-align:center;background:var(--surface);border:1px solid var(--border);width:min(420px,100%);box-shadow:var(--shadow-sm);border-radius:16px;padding:24px}.route-error-title{color:var(--text-primary);margin:0 0 8px;font-size:1.1rem}.route-error-text{color:var(--text-secondary);margin:0 0 18px;line-height:1.5}.route-error-action{cursor:pointer;color:var(--surface);background:var(--primary-color);border:none;border-radius:10px;padding:10px 18px;font-weight:600}.route-error-action:hover{background:var(--primary-dark)}.toast-container{z-index:99999;pointer-events:none;flex-direction:column;gap:8px;width:90%;max-width:420px;display:flex;position:fixed;top:16px;left:50%;transform:translate(-50%)}.toast{border-radius:var(--radius-lg);color:var(--surface);pointer-events:auto;cursor:pointer;align-items:center;gap:10px;padding:12px 16px;font-size:14px;line-height:1.4;animation:.3s ease-out toast-slide-in;display:flex;box-shadow:0 4px 20px #00000040}.toast-error{background:var(--error)}.toast-warning{background:var(--warning)}.toast-info{background:var(--info)}.toast-success{background:var(--success)}.toast-icon{flex-shrink:0;font-size:18px}.toast-text{word-break:break-word;flex:1}.toast-close{color:#fffc;cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:4px;font-size:16px;line-height:1}.toast-close:hover{color:var(--surface)}@keyframes toast-slide-in{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.anonymous-trial-banner{border-bottom:1px solid var(--accent-200);background:var(--accent-50);min-width:0;color:var(--text-primary);text-align:center;justify-content:center;align-items:center;gap:clamp(10px,2vw,22px);padding:clamp(8px,1.4vw,11px) clamp(10px,3vw,28px);display:flex}.anonymous-trial-copy,.anonymous-trial-register{justify-content:center;align-items:center;gap:clamp(6px,1.5vw,8px);min-width:0;line-height:1.35;display:flex}.anonymous-trial-copy svg{color:var(--accent-600);flex-shrink:0}.anonymous-trial-register{border-radius:var(--radius-md);background:var(--accent-600);min-height:44px;color:var(--surface);font-size:clamp(.78rem,2.5vw,.875rem);font-weight:var(--font-weight-semibold);white-space:nowrap;flex-shrink:0;padding:8px clamp(10px,2vw,14px);text-decoration:none;transition:background .2s,transform .2s}.anonymous-trial-register:hover{background:var(--accent-700);transform:translateY(-1px)}@media (width<=48em){.anonymous-trial-banner{flex-direction:column;align-items:stretch;gap:6px;padding-block:7px 8px}.anonymous-trial-register{justify-content:center;align-self:center;width:min(100%,28rem)}.anonymous-trial-copy{font-size:clamp(.76rem,3.5vw,.9rem)}}@media (width<=22em){.anonymous-trial-copy,.anonymous-trial-register{white-space:normal;align-items:flex-start}.anonymous-trial-register span{max-width:15rem}}@media (height<=32rem) and (orientation:landscape) and (width>=36em){.anonymous-trial-banner{flex-direction:row;align-items:center;gap:10px;padding-block:5px}.anonymous-trial-register{width:auto;min-height:38px}}.anonymous-trial-dialog-backdrop{z-index:2200;background:color-mix(in srgb, var(--text-primary) 55%, transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);place-items:center;padding:20px;animation:.2s ease-out anonymous-trial-dialog-fade-in;display:grid;position:fixed;inset:0}.anonymous-trial-dialog{border:1px solid var(--accent-200);border-radius:var(--radius-xl);background:var(--surface);width:min(100%,480px);box-shadow:0 20px 60px var(--black-35);color:var(--text-primary);text-align:center;padding:clamp(1.5rem,5vw,2.25rem);animation:.24s ease-out anonymous-trial-dialog-enter}.anonymous-trial-dialog-icon{background:var(--accent-100);width:58px;height:58px;color:var(--accent-700);border-radius:50%;place-items:center;margin:0 auto 18px;display:grid}.anonymous-trial-dialog-icon.is-exhausted{background:color-mix(in srgb, var(--warning) 10%, transparent);color:var(--warning)}.anonymous-trial-dialog h2{color:var(--text-primary);font-size:clamp(1.25rem,4vw,1.6rem);line-height:1.3;font-weight:var(--font-weight-bold);margin:0}.anonymous-trial-dialog p{color:var(--accent-700);font-size:clamp(1rem,3vw,1.125rem);line-height:1.5;font-weight:var(--font-weight-semibold);margin:14px 0 0}.anonymous-trial-dialog-actions{justify-content:center;gap:12px;margin-top:28px;display:flex}.anonymous-trial-dialog-ok,.anonymous-trial-dialog-account{border-radius:var(--radius-pill);min-width:112px;min-height:44px;font-size:.9375rem;font-weight:var(--font-weight-semibold);cursor:pointer;transition:var(--transition-base);justify-content:center;align-items:center;padding:0 22px;text-decoration:none;display:inline-flex}.anonymous-trial-dialog-ok{border:1px solid var(--border);background:var(--surface-alt);color:var(--text-secondary)}.anonymous-trial-dialog-ok:hover{border-color:var(--accent-300);color:var(--accent-700)}.anonymous-trial-dialog-account{background:var(--gradient-primary);color:var(--surface);box-shadow:var(--shadow-md);border:1px solid #0000}.anonymous-trial-dialog-account:hover{box-shadow:var(--shadow-lg);transform:translateY(-1px)}.anonymous-trial-dialog-ok:focus-visible,.anonymous-trial-dialog-account:focus-visible{outline:3px solid var(--accent-500-25);outline-offset:3px}@keyframes anonymous-trial-dialog-fade-in{0%{opacity:0}to{opacity:1}}@keyframes anonymous-trial-dialog-enter{0%{opacity:0;transform:translateY(12px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=30em){.anonymous-trial-dialog-backdrop{padding:14px}.anonymous-trial-dialog-actions{gap:8px}.anonymous-trial-dialog-ok,.anonymous-trial-dialog-account{flex:1;min-width:0;padding-inline:16px}}@media (prefers-reduced-motion:reduce){.anonymous-trial-dialog-backdrop,.anonymous-trial-dialog{animation:none}}.bottom-tab-bar{background:var(--surface);border-top:1px solid var(--black-05);z-index:1000;width:100%;height:80px;min-height:80px;padding:0 16px;padding-bottom:env(safe-area-inset-bottom,0px);box-shadow:0 -1px 3px var(--black-08);flex-shrink:0;justify-content:center;align-items:center;gap:8px;display:flex}.tab-button{color:var(--text-muted);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;min-width:48px;max-width:168px;padding:12px 0;transition:color .2s;display:flex}.icon-wrapper{border-radius:var(--radius-xl);justify-content:center;align-items:center;width:64px;height:32px;transition:background-color .2s,transform .2s;display:flex;position:relative}.tab-button:hover:not(:disabled) .icon-wrapper{background-color:#0000000a}.tab-button.active .icon-wrapper{background-color:var(--accent-100)}.tab-button.active{color:var(--text-primary)}.tab-button.active svg{color:var(--accent-700);filter:none}.speaking-icon{filter:brightness(0)saturate()invert(52%)sepia(0%)saturate(0%)hue-rotate(201deg)brightness(94%)contrast(88%)}.tab-button.active .speaking-icon{filter:brightness(0)saturate()invert(18%)sepia(42%)saturate(2065%)hue-rotate(167deg)brightness(91%)contrast(98%)}.tab-button:disabled{opacity:.38;cursor:not-allowed}.tab-label{font-size:14px;font-weight:var(--font-weight-medium);letter-spacing:.4px;white-space:nowrap;transition:font-weight .2s}.tab-button.active .tab-label{font-weight:var(--font-weight-semibold);color:var(--accent-700)}.tab-button:active .icon-wrapper{background-color:var(--accent-200);transform:scale(.95)}.tab-button:focus-visible{outline:2px solid var(--accent-500);outline-offset:-3px;border-radius:var(--radius-md)}@media (width<=768px){.bottom-tab-bar{height:72px;min-height:72px;padding:0 8px}.tab-button{padding:8px 0}.icon-wrapper{height:30px}.tab-label{font-size:13px;line-height:1.15}}@media (width<=30em){.bottom-tab-bar{gap:2px;padding-inline:4px}.tab-button{min-width:0;padding:7px 0}.icon-wrapper{width:min(52px,100%);height:30px}.tab-label{letter-spacing:.1px;max-width:100%;font-size:clamp(10.5px,3.2vw,12px)}}@media (width<=56em) and (orientation:landscape){.bottom-tab-bar{justify-content:center;height:60px;min-height:60px;padding:0 20px}.tab-button{gap:2px;padding:3px 0}.icon-wrapper{width:64px;height:28px;padding:0}.tab-label{font-size:12px;line-height:1.1}.tab-button.active{background-color:#0000}.tab-button.active .icon-wrapper{background-color:var(--accent-100);border-radius:var(--radius-xl)}}.controls{background-color:var(--surface);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-pill);border:1px solid var(--black-10);width:fit-content;box-shadow:var(--shadow-dark);flex-wrap:nowrap;justify-content:center;align-self:center;align-items:center;gap:8px;margin-top:12px;padding:6px;display:flex}.control-btn{border-radius:var(--radius-pill);font-size:13px;font-weight:var(--font-weight-semibold);cursor:pointer;white-space:nowrap;border:none;justify-content:center;align-items:center;gap:6px;min-height:44px;padding:0 20px;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex}.record-btn{background:var(--gradient-primary);color:var(--surface);min-width:112px;box-shadow:var(--shadow-md)}.record-btn:hover:not(:disabled){box-shadow:0 6px 16px var(--accent-500-40);background:var(--gradient-primary-dark);transform:translateY(-1px)}.record-btn:active:not(:disabled){transform:translateY(0)}.record-btn.listening,.record-btn.processing{background:var(--gradient-primary);box-shadow:var(--shadow-md-strong)}.record-btn.processing:disabled{opacity:1;cursor:wait;box-shadow:var(--shadow-md)}.voice-waveform{justify-content:center;align-items:center;gap:3px;min-width:46px;height:28px;display:flex}.voice-wave-bar{border-radius:var(--radius-pill);transform-origin:50%;background:currentColor;width:4px;height:16px;animation:.86s ease-in-out infinite voice-wave}.voice-wave-bar:first-child{height:13px;animation-delay:-.62s}.voice-wave-bar:nth-child(2){height:21px;animation-delay:-.38s}.voice-wave-bar:nth-child(3){height:27px;animation-delay:-.74s}.voice-wave-bar:nth-child(4){height:19px;animation-delay:-.26s}.voice-wave-bar:nth-child(5){height:12px;animation-delay:-.51s}.voice-stop-disc,.voice-processor-disc{background:var(--white-20);border-radius:50%;place-items:center;width:27px;height:27px;margin-right:-9px;display:grid}.voice-stop-square{background:currentColor;border-radius:2px;width:8px;height:8px}.voice-processor-ring{border:2px solid var(--white-35);border-top-color:currentColor;border-radius:50%;width:15px;height:15px;animation:.78s linear infinite voice-processor-spin}.record-btn.processing .voice-wave-bar{opacity:.62;animation-play-state:paused;transform:scaleY(.46)}.control-visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes voice-wave{0%,to{opacity:.72;transform:scaleY(.42)}50%{opacity:1;transform:scaleY(1)}}@keyframes voice-processor-spin{to{transform:rotate(360deg)}}.clear-btn{color:var(--text-muted);background-color:#0000;border:1px solid #0000;min-width:auto;padding:0 24px}.clear-btn:hover:not(:disabled){background-color:var(--black-05);color:var(--error);box-shadow:none;transform:none}.control-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}@media (width<=30em){.control-btn{min-height:52px}}@media (hover:none) and (pointer:coarse){.control-btn{min-width:48px;min-height:48px}.control-btn:hover{transform:none}.control-btn:active{transform:scale(.98)}}@media (prefers-reduced-motion:reduce){.voice-wave-bar,.voice-processor-ring{animation:none}.voice-wave-bar:first-child,.voice-wave-bar:nth-child(5){transform:scaleY(.45)}.voice-wave-bar:nth-child(2),.voice-wave-bar:nth-child(4){transform:scaleY(.72)}}@container workspace (height<=35rem){.controls{gap:4px;margin-top:4px;padding:4px}.control-btn{min-height:44px;padding-inline:16px}.clear-btn{padding-inline:18px}}.document-container{flex-direction:column;flex:1;min-height:0;padding:20px;display:flex;position:relative;overflow:hidden auto}.document-container.is-empty{grid-template-rows:minmax(0,1fr);padding-inline:clamp(.5rem,2vw,1.25rem);display:grid;overflow:hidden}.empty-state{text-align:center;height:100%;min-height:0;max-height:100%;color:var(--accent-500);box-sizing:border-box;grid-template-rows:repeat(3,auto);align-content:center;place-items:center;width:100%;max-width:min(700px,100%);margin:0 auto;padding:clamp(1rem,3vh,2rem) 0;display:grid;overflow:hidden}.dictation-header{text-align:center;color:var(--accent-500);box-sizing:border-box;max-width:100%;margin-bottom:calc(clamp(1.25rem,3vw,1.5rem) + 20px);padding:0 clamp(.75rem,2vw,1rem)}.dictation-header h1{text-shadow:2px 2px 4px var(--black-10);color:var(--accent-500);font-size:clamp(1.5rem,5vw,2.5rem);font-weight:var(--font-weight-bold);word-break:break-word;flex-wrap:wrap;justify-content:center;align-items:center;gap:clamp(.5rem,2vw,.9375rem);margin:0 0 clamp(.5rem,1.5vw,.625rem);line-height:1.2;display:flex}.dictation-heading-icon{filter:brightness(0)saturate()invert(18%)sepia(42%)saturate(2065%)hue-rotate(167deg)brightness(91%)contrast(98%);flex-shrink:0;width:clamp(1.5rem,4vw,2rem);height:clamp(1.5rem,4vw,2rem)}.dictation-header p{opacity:.9;color:var(--accent-600);margin:0;padding:0 .5rem;font-size:clamp(.875rem,2.5vw,1.1rem);line-height:1.5}.dictation-steps{box-sizing:border-box;flex-direction:column;justify-content:center;align-items:center;gap:clamp(.75rem,2vw,1rem);width:100%;max-width:600px;min-height:0;margin:0 0 clamp(1.75rem,4vw,2.25rem);padding:0 clamp(.25rem,1vw,.75rem);display:flex}.dictation-step-list{flex-direction:column;align-items:center;gap:clamp(1.25rem,3vw,1.75rem);width:100%;display:flex}.dictation-step-card{background-color:var(--surface);border:2px solid var(--accent-50);box-shadow:0 2px 8px var(--accent-500-08);text-align:left;box-sizing:border-box;border-radius:clamp(.5rem,1.5vw,.75rem);justify-content:flex-start;align-items:center;gap:clamp(.75rem,2.5vw,1rem);width:100%;max-width:500px;min-height:clamp(3.5rem,10vw,4.5rem);padding:clamp(.75rem,2.5vw,1.25rem);transition:transform .2s,box-shadow .2s;display:flex}@media (hover:hover) and (pointer:fine){.dictation-step-card:hover{box-shadow:var(--shadow-sm);transform:translateY(-2px)}}.dictation-step-number{background:var(--gradient-primary);width:clamp(1.5rem,6vw,2rem);height:clamp(1.5rem,6vw,2rem);color:var(--surface);font-size:clamp(.75rem,3vw,.875rem);font-weight:var(--font-weight-bold);box-shadow:var(--shadow-xs);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.dictation-step-content{flex-direction:column;flex:1;justify-content:center;gap:clamp(.125rem,.5vw,.25rem);min-width:0;margin-left:clamp(.25rem,1vw,.3125rem);display:flex;overflow:hidden}.dictation-step-description{color:var(--text-primary);white-space:nowrap;font-size:clamp(.75rem,2.5vw,1rem);line-height:1.5;display:inline}.dictation-privacy-note{color:var(--text-secondary);text-align:center;margin:0;padding:0 clamp(.25rem,1vw,.75rem);font-size:clamp(.6875rem,2.2vw,.8125rem);line-height:1.4}.dictation-privacy-note strong{color:var(--text-primary)}.text-document{background:var(--surface);border-radius:var(--radius-sm);width:95%;max-width:95%;height:98%;box-shadow:0 2px 8px var(--black-10);flex-direction:column;margin:0 auto;display:flex;overflow-x:hidden}.document-page{min-height:100%;color:var(--text-secondary);font-size:16px;line-height:1.8;font-family:var(--font-sans);word-wrap:break-word;overflow-wrap:break-word;flex-direction:column;flex:1;gap:20px;padding:40px 60px;display:flex;position:relative}.dictation-text-area{text-align:left;flex:1;min-height:0;line-height:1.8;position:relative;overflow:hidden auto}.recognized-text{color:var(--text-primary);font-weight:var(--font-weight-medium)}.recognized-text.fading{opacity:.3;transition:opacity .3s}.partial-text-chunk{letter-spacing:normal;word-spacing:normal;margin:0;padding:0;display:inline}.partial-text-chunk.partial{color:var(--accent-500);font-weight:var(--font-weight-normal);font-style:italic}.partial-text-chunk.confirmed{color:var(--text-primary);font-weight:var(--font-weight-normal)}.dictation-text-area .speak-now-message{color:var(--text-primary);font-style:italic;font-weight:var(--font-weight-semibold);opacity:1;text-align:left;margin-top:20px;display:block}.ai-floating-controls{flex-direction:row;align-self:flex-end;align-items:center;gap:8px;margin-top:auto;display:flex}.ai-history-btns{align-items:center;gap:8px;display:flex}.ai-history-btn{background:var(--surface);border:2px solid var(--accent-purple);width:44px;height:44px;color:var(--accent-purple);cursor:pointer;transition:var(--transition-base);border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex;box-shadow:0 2px 8px #667eea33}.ai-history-btn:hover:not(:disabled){background:var(--gradient-purple);color:var(--surface);border-color:var(--accent-purple);transform:translateY(-2px)scale(1.05);box-shadow:0 4px 12px #667eea66}.ai-history-btn:active:not(:disabled){transform:translateY(0)scale(.98)}.ai-history-btn.active{border-color:var(--accent-purple);background:#667eea1a;box-shadow:0 0 0 3px #667eea26}.ai-history-btn:disabled{opacity:.25;cursor:not-allowed;border-color:var(--border);color:var(--text-muted);background:var(--bg);box-shadow:none}.ai-history-btn svg{transition:transform .2s}.ai-history-btn:hover:not(:disabled) svg{transform:scale(1.1)}.ai-assistance-btn{background:var(--gradient-primary);color:var(--surface);font-size:14px;font-weight:var(--font-weight-medium);cursor:pointer;box-shadow:0 4px 12px var(--accent-500-40);transition:var(--transition-base);border:none;border-radius:25px;align-items:center;gap:8px;padding:12px 20px;display:flex}.ai-assistance-btn:hover:not(:disabled){background:var(--gradient-primary-dark);transform:translateY(-2px);box-shadow:0 6px 20px #2596be99}.ai-assistance-btn:active:not(:disabled){transform:translateY(0)}.ai-assistance-btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.ai-processing-overlay{z-index:100;pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ai-processing-content{border-radius:var(--radius-xl);box-shadow:0 8px 32px var(--accent-500-25);border:2px solid var(--accent-500);background:#fffffffa;flex-direction:column;align-items:center;gap:16px;padding:32px 48px;display:flex}.ai-processing-spinner{animation:1.5s ease-in-out infinite ai-pulse}.ai-processing-spinner svg{color:var(--accent-500);filter:drop-shadow(0 2px 8px var(--accent-500-30))}@keyframes ai-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.1)}}.ai-processing-text{font-size:18px;font-weight:var(--font-weight-semibold);color:var(--accent-500);letter-spacing:.5px}.ai-processing-dots{align-items:center;gap:8px;display:flex}.ai-processing-dots span{background-color:var(--accent-500);border-radius:50%;width:8px;height:8px;animation:1.4s ease-in-out infinite ai-dot-bounce}.ai-processing-dots span:nth-child(2){animation-delay:.2s}.ai-processing-dots span:nth-child(3){animation-delay:.4s}@keyframes ai-dot-bounce{0%,60%,to{opacity:1;transform:translateY(0)}30%{opacity:.7;transform:translateY(-12px)}}@media (width<=30em){.dictation-steps{gap:clamp(.625rem,2vw,.875rem);max-width:100%;padding:0}.dictation-step-list{gap:clamp(1rem,3vw,1.25rem)}.dictation-step-card{gap:clamp(.625rem,2vw,.875rem);padding:clamp(.625rem,2vw,.75rem)}.dictation-header{margin-bottom:clamp(.75rem,2vw,1rem)}.dictation-header h1{gap:clamp(.375rem,1.5vw,.5rem)}.dictation-privacy-note{padding-inline:0}}@media (width<=56em) and (orientation:landscape){.ai-floating-controls{margin-top:12px}.ai-history-btn{width:38px;height:38px}.ai-assistance-btn{padding:9px 14px;font-size:12px}.dictation-header{margin-bottom:clamp(.5rem,1.5vw,.75rem)}.dictation-header h1{font-size:clamp(1rem,3vw,1.5rem)}.dictation-header p{font-size:clamp(.75rem,2vw,.875rem)}.dictation-steps{gap:clamp(.5rem,1.5vw,.75rem);padding:0}.dictation-step-list{gap:clamp(.875rem,2.5vw,1.125rem)}.dictation-step-card{max-width:100%;min-height:clamp(3rem,8vw,3.5rem);padding:clamp(.5rem,1.5vw,.75rem)}.dictation-privacy-note{font-size:clamp(.625rem,1.8vw,.75rem)}}@container workspace (height<=35rem){.document-container.is-empty{padding:clamp(.375rem,1.5vh,.75rem) clamp(.75rem,2vw,1.25rem);overflow:hidden}.document-container.is-empty .empty-state{height:100%;min-height:0;padding:0}.document-container.is-empty .dictation-header{margin-bottom:clamp(.25rem,1vh,.5rem);padding:0}.document-container.is-empty .dictation-header h1{margin-bottom:0;font-size:clamp(1rem,3vh,1.25rem)}.document-container.is-empty .dictation-header p{display:none}.document-container.is-empty .dictation-steps{gap:clamp(.375rem,1.25vh,.625rem);max-width:35rem;margin-bottom:clamp(.75rem,2vh,1rem);padding:0}.document-container.is-empty .dictation-step-list{gap:clamp(.625rem,2vh,.875rem)}.document-container.is-empty .dictation-step-card{border-width:1px;gap:clamp(.5rem,1.5vw,.75rem);min-height:0;padding:clamp(.375rem,1.25vh,.625rem) clamp(.625rem,2vw,1rem)}.document-container.is-empty .dictation-step-number{width:clamp(1.5rem,5vh,1.75rem);height:clamp(1.5rem,5vh,1.75rem);font-size:.75rem}.document-container.is-empty .dictation-step-content{margin-left:0}.document-container.is-empty .dictation-step-description{font-size:clamp(.75rem,2.2vh,.95rem);line-height:1.25}.document-container.is-empty .dictation-privacy-note{font-size:clamp(.625rem,1.8vh,.75rem);line-height:1.25}}@media (hover:none) and (pointer:coarse){.dictation-step-card{-webkit-tap-highlight-color:var(--accent-500-10);min-height:3.75rem;padding:clamp(.625rem,2.5vw,.875rem)}.dictation-step-card:hover{transform:none}.dictation-step-card:active{box-shadow:0 2px 8px var(--accent-500-12);transform:scale(.99)}.dictation-step-description,.dictation-privacy-note,.dictation-header h1,.dictation-header p{-webkit-user-select:text;user-select:text}}@media (width<=48em){.text-document{width:95%;padding:clamp(10px,2vw,20px)}.document-page{gap:15px;min-height:100%;padding:clamp(15px,3vw,25px)}.dictation-text-area{line-height:1.6}.ai-assistance-btn{padding:10px 16px;font-size:13px}.ai-assistance-btn svg{width:18px;height:18px}.ai-processing-content{gap:12px;padding:24px 32px}.ai-processing-spinner svg{width:32px;height:32px}.ai-processing-text{font-size:16px}.ai-processing-dots span{width:6px;height:6px}}.header{border-bottom:1px solid var(--accent-200);background-color:var(--surface);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;min-height:68px;padding:1em;display:flex}.header-left{flex:1;align-items:center;gap:15px;display:flex}.header-right{align-items:center;gap:10px;display:flex}.header-left h1{font-size:24px;font-weight:var(--font-weight-semibold);align-items:center;margin:0;display:flex}.header h1{font-size:clamp(14px,3.5vw,20px);font-weight:var(--font-weight-semibold);color:var(--text-primary);flex:1;align-items:center;gap:clamp(5px,2vw,10px);min-width:0;margin:0;display:flex}.header-title{display:inline}.header h1 svg{flex-shrink:0}.header-menu-btn{background:var(--surface-alt);border-radius:var(--radius-md);cursor:pointer;width:40px;height:40px;color:var(--text-secondary);border:none;flex-shrink:0;justify-content:center;align-items:center;transition:background .2s,color .2s,transform .15s;display:flex}.header-menu-btn:hover{background:var(--accent-50);color:var(--accent-600)}.header-menu-btn:active{transform:scale(.95)}.info-button{border:2px solid var(--accent-500);background:var(--accent-500);color:var(--surface);cursor:pointer;transition:var(--transition-base);font-size:14px;font-weight:var(--font-weight-semibold);white-space:nowrap;box-shadow:0 2px 8px var(--accent-500-25);border-radius:25px;flex-shrink:0;justify-content:center;align-items:center;gap:8px;padding:10px 18px;display:flex}.info-button:hover{background:var(--accent-600);border-color:var(--accent-600);box-shadow:0 4px 12px var(--accent-500-40);transform:scale(1.05)}.info-button:active{transform:scale(.98)}@media (width<=768px){.info-button{padding:8px 14px;font-size:13px}.info-button svg{width:18px;height:18px}}@media (width<=480px){.info-button span{display:none}.info-button{border-radius:50%;width:40px;height:40px;padding:10px}}@media (width<=30em){.header-left{flex-wrap:nowrap;min-width:0}.header h1{white-space:nowrap;text-overflow:ellipsis;font-size:clamp(14px,3.5vw,18px);overflow:hidden}}@media (width<=56em) and (orientation:landscape){.header{min-height:50px;padding:10px 15px}.header h1{font-size:14px}.header h1 svg{width:20px;height:20px}}@media (width<=48em){.header-title{display:none}}.app{background-color:var(--accent-50);grid-template-rows:auto minmax(0,1fr) auto;width:100%;height:100dvh;max-height:100dvh;display:grid;overflow:hidden}.workspace-content{overscroll-behavior:contain;flex-direction:column;min-width:0;min-height:0;display:flex;position:relative;overflow:hidden;container:workspace/size}.workspace-top{min-width:0}@media (width<=30em){.workspace-content{width:100%}}@media (width<=56em) and (orientation:landscape){.app{height:100dvh}}.sidebar-overlay{z-index:1040;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);opacity:0;visibility:hidden;background:#081e2666;transition:opacity .25s,visibility .25s;position:fixed;inset:0}.sidebar-overlay.visible{opacity:1;visibility:visible}.sidebar{z-index:1050;background:var(--surface);border-right:1px solid var(--border);width:min(304px,100vw);height:100dvh;box-shadow:8px 0 32px var(--black-15);flex-direction:column;transition:transform .3s cubic-bezier(.16,1,.3,1);display:flex;position:fixed;inset:0 auto 0 0;overflow:hidden;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;min-height:72px;padding:16px 18px;display:flex}.sidebar-logo-link{border-radius:var(--radius-xs);align-items:center;min-width:0;text-decoration:none;transition:opacity .2s;display:inline-flex}.sidebar-logo-link:hover{opacity:.78}.sidebar-logo{width:auto;max-width:150px;height:30px;display:block}.sidebar-close-btn{border-radius:var(--radius-md);background:var(--surface-alt);width:38px;height:38px;color:var(--text-secondary);cursor:pointer;border:1px solid #0000;flex:0 0 38px;justify-content:center;align-items:center;transition:background .18s,border-color .18s,color .18s,transform .15s;display:inline-flex}.sidebar-close-btn:hover{border-color:var(--accent-200);background:var(--accent-50);color:var(--accent-700)}.sidebar-close-btn:active{transform:scale(.95)}.sidebar-nav{overscroll-behavior:contain;flex-direction:column;flex:auto;gap:22px;min-height:0;padding:20px 14px;display:flex;overflow-y:auto}.sidebar-nav-section,.sidebar-account-section{flex-direction:column;gap:5px;display:flex}.sidebar-section-label{color:var(--text-muted);font-size:10.5px;font-weight:var(--font-weight-bold);letter-spacing:.09em;text-transform:uppercase;padding:0 10px 6px;line-height:1.3}.sidebar-link{border-radius:var(--radius-lg);min-height:45px;color:var(--text-secondary);font-size:13.5px;font-weight:var(--font-weight-semibold);border:1px solid #0000;align-items:center;gap:12px;padding:10px 12px;line-height:1.25;text-decoration:none;transition:background .16s,border-color .16s,color .16s,box-shadow .16s;display:flex}.sidebar-link svg{color:var(--text-muted);flex:none;transition:color .16s}.sidebar-link:hover{background:var(--accent-50);color:var(--accent-700)}.sidebar-link:hover svg{color:var(--accent-600)}.sidebar-link--active{border-color:var(--accent-200);background:linear-gradient(135deg, var(--accent-50), var(--surface));color:var(--accent-800);box-shadow:0 2px 8px var(--accent-500-10)}.sidebar-link--active svg{color:var(--accent-600)}.sidebar-footer{border-top:1px solid var(--border);background:linear-gradient(180deg, var(--surface) 0%, var(--accent-50) 150%);flex-direction:column;flex:none;gap:12px;padding:14px;display:flex}.sidebar-account-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:0 4px 14px var(--black-05);overflow:hidden}.sidebar-account-summary{align-items:center;gap:11px;min-width:0;padding:12px;display:flex}.sidebar-user-avatar{border:1px solid var(--accent-200);border-radius:var(--radius-md);background:var(--gradient-primary);width:38px;height:38px;box-shadow:0 3px 9px var(--accent-500-20);color:var(--surface);font-size:14px;font-weight:var(--font-weight-bold);text-transform:uppercase;flex:0 0 38px;justify-content:center;align-items:center;display:inline-flex}.sidebar-account-copy{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.sidebar-user-email{color:var(--text-primary);font-size:13px;font-weight:var(--font-weight-semibold);text-overflow:ellipsis;white-space:nowrap;line-height:1.25;display:block;overflow:hidden}.sidebar-account-status{color:var(--text-tertiary);font-size:11px;font-weight:var(--font-weight-medium);align-items:center;gap:6px;line-height:1.2;display:inline-flex}.sidebar-status-dot{background:var(--success);width:7px;height:7px;box-shadow:0 0 0 3px var(--success-06);border-radius:50%;flex:0 0 7px}.sidebar-logout-btn{border:0;border-top:1px solid var(--border);background:var(--surface);width:100%;min-height:41px;color:var(--text-secondary);cursor:pointer;font:inherit;font-size:12.5px;font-weight:var(--font-weight-semibold);text-align:left;justify-content:flex-start;align-items:center;gap:10px;padding:9px 12px;transition:background .16s,color .16s;display:flex}.sidebar-logout-btn svg{color:var(--error);flex:none}.sidebar-logout-btn:hover{background:color-mix(in srgb, var(--error) 5%, var(--surface));color:var(--error-dark)}.sidebar-footer-meta{color:var(--text-muted);justify-content:space-between;align-items:center;gap:8px;padding:0 3px;font-size:9.5px;line-height:1.2;display:flex}.sidebar-secure-status{color:var(--accent-700);font-weight:var(--font-weight-semibold);white-space:nowrap;align-items:center;gap:4px;display:inline-flex}.sidebar-secure-status svg{color:var(--accent-500)}.sidebar :is(a,button):focus-visible{outline:3px solid var(--accent-500-25);outline-offset:2px}@media (height<=560px){.sidebar-nav{gap:14px;padding-block:14px}.sidebar-footer-meta{display:none}}@media (prefers-reduced-motion:reduce){.sidebar,.sidebar-overlay,.sidebar :is(a,button,svg){transition-duration:.01ms}}
