:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}body{margin:0}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.topnav{z-index:100;background:var(--bg,#fff);border-bottom:1px solid var(--border,#e5e4e7);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:sticky;top:0}.topnav-inner{align-items:center;gap:32px;max-width:1126px;height:56px;margin:0 auto;padding:0 24px;display:flex}.topnav-logo{color:var(--text-h,#08060d);cursor:pointer;letter-spacing:-.5px;background:0 0;border:none;padding:0;font-size:20px;font-weight:700}.topnav-links{flex:1;align-items:center;gap:4px;display:flex}.topnav-links button,.topnav-right button{color:var(--text,#6b6375);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:8px 16px;font-family:inherit;font-size:15px;transition:color .2s,background .2s}.topnav-links button:hover,.topnav-right button:hover{color:var(--text-h,#08060d);background:var(--social-bg,#f4f3ec80)}.topnav-links button.active{color:var(--accent,#aa3bff)}.topnav-right{align-items:center;display:flex}.topnav-login-btn{font-weight:500;background:var(--accent,#3b82f6)!important;color:#fff!important;padding:6px 20px!important}.topnav-login-btn:hover{opacity:.85;background:var(--accent,#3b82f6)!important}.app-layout{background:#f5f5f7;min-height:100vh}.app-main{max-width:1126px;margin:0 auto;padding:40px 24px}.home-page{padding:40px 0}.home-welcome{text-align:center;padding:120px 0}.home-welcome h1{color:var(--text-h,#08060d);margin-bottom:16px;font-size:48px}.tagline{color:var(--text,#6b7280);margin-bottom:40px;font-size:18px}.home-login-btn{background:var(--accent,#3b82f6);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:12px 48px;font-size:18px}.home-login-btn:hover{opacity:.9}.home-greeting{color:var(--text-h,#08060d);margin-bottom:32px}.module-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px;display:grid}.module-card{background:var(--bg,#fff);border:1px solid var(--border,#e5e4e7);cursor:pointer;border-radius:12px;padding:32px;transition:box-shadow .2s,transform .2s}.module-card:hover{box-shadow:var(--shadow,#0000001a 0 10px 15px -3px);transform:translateY(-2px)}.module-icon{color:var(--accent,#3b82f6);margin-bottom:16px}.module-card h3{color:var(--text-h,#08060d);margin:0 0 8px;font-size:20px}.module-card p{color:var(--text,#6b7280);margin:0;font-size:16px}.auth-container{background-color:#f5f5f7;justify-content:center;align-items:center;height:100vh;display:flex}.auth-card{text-align:center;background:#fff;border-radius:16px;width:100%;max-width:400px;padding:40px;box-shadow:0 4px 24px #00000014}.logo-icon{color:#3b82f6;margin-bottom:16px}.subtitle{color:#6b7280;margin-bottom:32px;font-size:14px}.input-group input{box-sizing:border-box;border:1px solid #d1d5db;border-radius:8px;outline:none;width:100%;padding:12px 16px;font-size:16px;transition:border-color .2s}.input-group input:focus{border-color:#3b82f6}.error-message{color:#ef4444;margin-top:12px;font-size:14px}.submit-btn{color:#fff;cursor:pointer;background-color:#3b82f6;border:none;border-radius:8px;justify-content:center;align-items:center;gap:8px;width:100%;margin-top:24px;padding:12px;font-size:16px;font-weight:500;transition:background-color .2s;display:flex}.submit-btn:hover{background-color:#2563eb}.submit-btn:disabled{cursor:not-allowed;background-color:#93c5fd}.input-group{margin-bottom:12px}.switch-mode{color:#6b7280;margin-top:20px;font-size:14px}.switch-mode button{color:#3b82f6;cursor:pointer;background:0 0;border:none;padding:0;font-size:14px;text-decoration:underline}.profile-page{justify-content:center;padding:40px 0;display:flex}.profile-section{text-align:left;margin-top:24px}.profile-section h3{align-items:center;gap:8px;margin:0 0 12px;font-size:16px;display:flex}.success-message{color:#10b981;margin-top:12px;font-size:14px}.link-btn{color:#6b7280;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;gap:8px;width:100%;padding:12px 0;font-size:14px;display:flex}.logout-btn{color:#ef4444;margin-top:24px}.vault-container{max-width:600px;margin:0 auto;position:relative}.vault-toolbar{justify-content:space-between;align-items:center;padding:0 0 20px;display:flex}.vault-toolbar h2{color:var(--text-h,#08060d);margin:0;font-size:24px}.lock-btn{border:1px solid var(--border,#e5e4e7);color:var(--text,#6b7280);cursor:pointer;background:0 0;border-radius:8px;align-items:center;gap:6px;padding:6px 16px;font-family:inherit;font-size:14px;transition:color .2s,border-color .2s;display:flex}.lock-btn:hover{color:#ef4444;border-color:#ef4444}.vault-main{padding:20px}.empty-state{text-align:center;color:#6b7280;margin-top:100px}.empty-icon{margin-bottom:16px;font-size:48px}.record-list{margin:0;padding:0;list-style:none}.record-item{cursor:pointer;background:#fff;border-radius:12px;align-items:center;gap:16px;margin-bottom:12px;padding:16px;transition:transform .2s,box-shadow .2s;display:flex}.record-item:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000000d}.record-icon{color:#3b82f6;background-color:#eff6ff;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;font-size:24px;font-weight:700;display:flex}.record-info{flex:1}.record-title{color:#1f2937;margin:0 0 4px;font-size:16px}.record-category{color:#6b7280;font-size:13px}.fab{color:#fff;cursor:pointer;background-color:#3b82f6;border:none;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;transition:transform .2s,background-color .2s;display:flex;position:fixed;bottom:32px;right:max(32px,50% - 268px);box-shadow:0 4px 12px #3b82f666}.fab:hover{background-color:#2563eb;transform:scale(1.05)}.vault-unlock-card{text-align:center;max-width:400px;color:var(--text-h,#08060d);margin:60px auto}.vault-unlock-card h2{margin:16px 0 8px;font-size:24px}.vault-unlock-card .subtitle{color:var(--text,#6b7280);margin-bottom:24px;font-size:15px}.vault-unlock-card input{box-sizing:border-box;border:1px solid #d1d5db;border-radius:8px;outline:none;width:100%;margin-bottom:12px;padding:12px 16px;font-size:16px;transition:border-color .2s}.vault-unlock-card input:focus{border-color:#3b82f6}.vault-unlock-card .error-message{color:#ef4444;margin-bottom:12px;font-size:14px}.vault-unlock-card .submit-btn{color:#fff;cursor:pointer;background-color:#3b82f6;border:none;border-radius:8px;width:100%;margin-top:12px;padding:12px;font-size:16px;font-weight:500;transition:background-color .2s}.vault-unlock-card .submit-btn:hover{background-color:#2563eb}.vault-unlock-card .submit-btn:disabled{cursor:not-allowed;background-color:#93c5fd}.vault-unlock-card .warning-text{color:#e6a23c;margin-bottom:8px;font-size:14px}.record-container{background-color:#f5f5f7;max-width:600px;min-height:100vh;margin:0 auto}.record-header{color:#fff;background-color:#3b82f6;justify-content:space-between;align-items:center;padding:20px;display:flex}.record-header h2{margin:0;font-size:18px;font-weight:500}.record-main{padding:20px}.form-group{background:#fff;border-radius:12px;margin-bottom:16px;padding:16px;box-shadow:0 2px 4px #00000005}.form-group label{color:#6b7280;margin-bottom:8px;font-size:13px;font-weight:500;display:block}.form-group input,.form-group textarea{color:#1f2937;background:0 0;border:none;outline:none;width:100%;padding:0;font-size:16px}.form-group input:read-only,.form-group textarea:read-only{color:#4b5563}.password-input-group{justify-content:space-between;align-items:center;display:flex}.password-input-group input{flex:1}.password-actions{gap:12px;display:flex}.password-actions button{color:#9ca3af;cursor:pointer;background:0 0;border:none;align-items:center;padding:4px;transition:color .2s;display:flex}.password-actions button:hover{color:#3b82f6}.hermes-sessions{max-width:640px;min-height:calc(100vh - 60px);margin:0 auto;padding:24px;position:relative}.hermes-sessions .header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.hermes-sessions h2{margin:0}.hermes-sessions .icon-btn{cursor:pointer;color:#666;background:0 0;border:none;border-radius:6px;padding:8px}.hermes-sessions .icon-btn:hover{background:#eee}.hermes-sessions .empty-state{text-align:center;color:#999;padding:60px 20px}.hermes-sessions .session-list{margin:0;padding:0;list-style:none}.hermes-sessions .session-item{cursor:pointer;background:#fff;border-radius:10px;align-items:center;margin-bottom:8px;padding:16px;transition:background .15s;display:flex}.hermes-sessions .session-item:hover{background:#f5f7fa}.hermes-sessions .session-info{flex:1}.hermes-sessions .session-name{color:#333;font-size:15px}.hermes-sessions .session-meta{color:#999;margin-top:4px;font-size:12px}.hermes-sessions .delete-btn{color:#999}.hermes-sessions .delete-btn:hover{color:#e64340}.hermes-sessions .fab{color:#fff;cursor:pointer;background:#1989fa;border:none;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 4px 12px #1989fa66}.hermes-sessions .error-message{color:#c33;background:#fee;border-radius:8px;margin-bottom:16px;padding:12px;font-size:14px}.hermes-onboarding{max-width:480px;margin:40px auto;padding:24px}.hermes-onboarding h2{text-align:center;margin-bottom:24px}.hermes-onboarding .direction-card{cursor:pointer;background:#fff;border:2px solid #0000;border-radius:12px;margin-bottom:16px;padding:20px;transition:border-color .2s}.hermes-onboarding .direction-card.active{border-color:#1989fa}.hermes-onboarding .card-desc{color:#333;margin-bottom:8px;font-size:16px}.hermes-onboarding .card-langs{color:#666;flex-direction:column;gap:4px;font-size:13px;display:flex}.hermes-onboarding .confirm-btn{color:#fff;cursor:pointer;background:#1989fa;border:none;border-radius:8px;width:100%;margin-top:32px;padding:12px;font-size:16px}.hermes-onboarding .confirm-btn:disabled{opacity:.6;cursor:not-allowed}.hermes-onboarding .error-message{color:#c33;background:#fee;border-radius:8px;margin-top:16px;padding:12px;font-size:14px}.hermes-chat{background:#f5f5f5;flex-direction:column;max-width:720px;height:calc(100vh - 60px);margin:0 auto;display:flex}.hermes-chat .msg-list{flex:1;padding:16px;overflow-y:auto}.hermes-chat .empty-hint{color:#999;text-align:center;padding:60px 0;font-size:14px}.hermes-chat .msg-row{margin-bottom:12px;display:flex}.hermes-chat .msg-row.right{justify-content:flex-end}.hermes-chat .msg-row.left{justify-content:flex-start}.hermes-chat .bubble{background:#fff;border-radius:12px;max-width:70%;padding:12px}.hermes-chat .msg-row.right .bubble{background:#d4edff}.hermes-chat .bubble-text{color:#333;word-break:break-word;white-space:pre-wrap;font-size:15px}.hermes-chat .bubble-trans{color:#666;border-top:1px dashed #ddd;margin-top:8px;padding-top:8px;font-size:13px}.hermes-chat .trans-label{color:#999}.hermes-chat .bubble-actions{margin-top:8px;display:flex}.hermes-chat .tts-btn{color:#1989fa;cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;padding:4px 0;font-size:13px;display:inline-flex}.hermes-chat .tts-btn:disabled{opacity:.6;cursor:not-allowed}.hermes-chat .input-bar{background:#fff;border-top:1px solid #eee;align-items:center;gap:8px;padding:12px;display:flex}.hermes-chat .text-input{border:1px solid #ddd;border-radius:8px;outline:none;flex:1;height:36px;padding:0 12px;font-size:14px}.hermes-chat .text-input:focus{border-color:#1989fa}.hermes-chat .record-btn{cursor:pointer;-webkit-user-select:none;user-select:none;background:#f5f5f5;border:1px solid #ddd;border-radius:8px;align-items:center;gap:4px;padding:6px 10px;display:flex}.hermes-chat .record-btn.active{color:#e64340;background:#ffe7e7;border-color:#e64340}.hermes-chat .send-btn{color:#fff;cursor:pointer;background:#1989fa;border:none;border-radius:8px;align-items:center;gap:4px;padding:8px 14px;font-size:14px;display:inline-flex}.hermes-chat .send-btn:disabled{opacity:.6;cursor:not-allowed}.hermes-chat .error-message{color:#c33;background:#fee;border-radius:8px;margin:0 12px;padding:8px 12px;font-size:13px}.hermes-chat .menu-backdrop{z-index:50;background:0 0;position:fixed;inset:0}.hermes-chat .msg-menu{z-index:51;background:#fff;border-radius:10px;flex-direction:column;min-width:160px;padding:6px 0;display:flex;position:fixed;box-shadow:0 8px 24px #0000002e}.hermes-chat .msg-menu button{text-align:left;color:#333;cursor:pointer;background:0 0;border:0;padding:10px 16px;font-size:14px}.hermes-chat .msg-menu button:hover{background:#f5f5f5}.hermes-chat .msg-menu button.cancel{color:#999;border-top:1px solid #eee}.hermes-chat .success-toast{color:#fff;z-index:60;background:#000000bf;border-radius:6px;padding:8px 16px;font-size:13px;position:fixed;bottom:80px;left:50%;transform:translate(-50%)}.hermes-settings{max-width:560px;margin:0 auto;padding:24px}.hermes-settings h2{margin-bottom:24px}.hermes-settings .settings-section{background:#fff;border-radius:10px;margin-bottom:16px;padding:16px 20px}.hermes-settings .settings-section h3{color:#666;text-transform:uppercase;letter-spacing:.5px;margin:0 0 12px;font-size:14px}.hermes-settings .toggle-row{cursor:pointer;border-bottom:1px solid #f0f0f0;justify-content:space-between;align-items:center;padding:12px 0;display:flex}.hermes-settings .toggle-row:last-child{border-bottom:none}.hermes-settings .toggle-row span{font-size:14px}.hermes-settings .secondary-btn{color:#333;cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:8px;width:100%;padding:12px;font-size:14px}.hermes-settings .secondary-btn:hover{background:#fafafa}.hermes-settings .danger-btn{color:#e64340;cursor:pointer;background:#fff;border:1px solid #e64340;border-radius:8px;width:100%;padding:12px;font-size:14px}.hermes-settings .danger-btn:hover{background:#fff5f5}.hermes-settings .success-message{color:#2a9c0f;background:#efffec;border-radius:8px;margin-bottom:16px;padding:12px;font-size:14px}.hermes-settings .error-message{color:#c33;background:#fee;border-radius:8px;margin-bottom:16px;padding:12px;font-size:14px}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}*{box-sizing:border-box}#root{width:100%;min-height:100vh}
