.install-prompt{position:fixed;bottom:var(--space-4);left:var(--space-4);right:var(--space-4);z-index:1000;background-color:var(--color-surface);border:1px solid var(--color-border-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);animation:slideUp .3s ease-out forwards;opacity:0;transform:translateY(100%)}.install-prompt-content{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4)}.install-prompt-icon{font-size:24px;flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background-color:var(--color-bg-secondary);border-radius:var(--radius-md)}.install-prompt-text{flex:1;min-width:0}.install-prompt-title{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-primary);margin-bottom:var(--space-1)}.install-prompt-description{font-size:var(--font-size-xs);color:var(--color-text-secondary);line-height:1.4}.install-prompt-actions{display:flex;gap:var(--space-2);flex-shrink:0}.install-prompt-button{padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:var(--font-size-xs);font-weight:500;border:none;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.install-prompt-dismiss{background-color:var(--color-bg-secondary);color:var(--color-text-secondary)}.install-prompt-dismiss:hover:not(:disabled){background-color:var(--color-bg-tertiary);color:var(--color-text-primary)}.install-prompt-install{background-color:var(--color-primary);color:#fff}.install-prompt-install:hover:not(:disabled){background-color:var(--color-primary-hover)}.install-prompt-button:disabled{opacity:.6;cursor:not-allowed}@keyframes slideUp{to{opacity:1;transform:translateY(0)}}@media(max-width:640px){.install-prompt{bottom:var(--space-3);left:var(--space-3);right:var(--space-3)}.install-prompt-content{gap:var(--space-2);padding:var(--space-3)}.install-prompt-icon{font-size:20px;width:36px;height:36px}.install-prompt-title{font-size:var(--font-size-xs)}.install-prompt-description{font-size:10px}.install-prompt-actions{flex-direction:column;gap:var(--space-1)}.install-prompt-button{padding:var(--space-2) var(--space-2);font-size:10px}}@media(prefers-color-scheme:dark){.install-prompt{background-color:var(--color-surface);border-color:var(--color-border-primary)}.install-prompt-icon{background-color:var(--color-bg-secondary)}.install-prompt-title{color:var(--color-text-primary)}.install-prompt-description{color:var(--color-text-secondary)}.install-prompt-dismiss{background-color:var(--color-bg-secondary);color:var(--color-text-secondary)}.install-prompt-dismiss:hover:not(:disabled){background-color:var(--color-bg-tertiary);color:var(--color-text-primary)}}.language-selector-container{position:relative;display:inline-flex}.language-selector-button{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);background-color:var(--color-surface);border:1px solid var(--color-border-primary);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-normal);color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:500;font-family:var(--font-family);min-height:40px}.language-indicator{font-size:var(--font-size-xs);font-weight:700;color:var(--color-refine);background:var(--color-surface);border:1px solid var(--color-border-secondary);border-radius:var(--radius-sm);padding:2px 4px;min-width:20px;text-align:center}.language-selector-button:hover{background-color:var(--color-surface-hover);border-color:var(--color-border-secondary);color:var(--color-text-primary)}.language-icon{font-size:var(--font-size-base)}.language-name{font-weight:600}.language-arrow{font-size:var(--font-size-xs);opacity:.6}.language-dropdown-menu{position:absolute;top:calc(100% + var(--space-2));right:0;background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:var(--radius-md);box-shadow:var(--shadow-xl);min-width:220px;max-height:400px;overflow-y:auto;z-index:1000;animation:dropdown-appear .15s ease-out}.language-header{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border-primary);margin:0 calc(-1 * var(--space-2))}.language-header-title{font-size:var(--font-size-xs);font-weight:600;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.5px}.language-options{padding:var(--space-2) 0}@keyframes dropdown-appear{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.language-option{width:100%;display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3);background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);font-family:var(--font-family);font-size:var(--font-size-sm);color:var(--color-text-primary);text-align:left}.language-option-code{font-size:var(--font-size-xs);font-weight:700;color:var(--color-refine);background:var(--color-surface);border:1px solid var(--color-border-secondary);border-radius:var(--radius-sm);padding:2px 4px;min-width:20px;text-align:center}.language-option:hover{background:var(--color-surface-hover)}.language-option.selected{background:var(--color-surface);font-weight:600}.language-option-name{font-weight:600}.language-option-english{font-size:var(--font-size-xs);color:var(--color-text-tertiary);flex:1}.check-mark{color:var(--color-refine);font-weight:700;font-size:var(--font-size-base);flex-shrink:0;margin-left:auto}.language-dropdown-menu{scrollbar-width:thin;scrollbar-color:var(--color-border-secondary) transparent}.language-dropdown-menu::-webkit-scrollbar{width:6px}.language-dropdown-menu::-webkit-scrollbar-track{background:transparent}.language-dropdown-menu::-webkit-scrollbar-thumb{background-color:var(--color-border-secondary);border-radius:var(--radius-full)}.language-dropdown-menu::-webkit-scrollbar-thumb:hover{background-color:var(--color-border-primary)}@media(max-width:640px){.language-selector-button{min-height:32px;padding:var(--space-2)}.language-name{display:none}.language-dropdown-menu{min-width:160px}.language-option-english{display:none}}.token-input-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.token-input-modal{background:var(--bg-primary);border-radius:8px;box-shadow:0 10px 25px #0003;max-width:500px;width:100%;max-height:90vh;overflow-y:auto}.token-input-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--border-color)}.token-input-header h2{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-primary)}.token-input-close{background:none;border:none;font-size:1.25rem;cursor:pointer;padding:.25rem;color:var(--text-secondary);transition:color .2s}.token-input-close:hover{color:var(--text-primary)}.token-input-body{padding:1.5rem}.token-input-description{margin:0 0 1.5rem;color:var(--text-secondary);line-height:1.5}.token-input-form{margin-bottom:1.5rem}.token-input-form .form-group{margin-bottom:1rem}.token-input-form label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text-primary)}.token-input-form input{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:6px;font-size:1rem;font-family:Monaco,Menlo,Ubuntu Mono,monospace;background:var(--bg-secondary);color:var(--text-primary);transition:border-color .2s}.token-input-form input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #4ade801a}.token-input-form input:disabled{opacity:.5;cursor:not-allowed}.token-input-help{margin:0;padding:1rem;background:var(--bg-secondary);border-radius:6px;font-size:.875rem;color:var(--text-secondary);line-height:1.4}.token-input-help strong{color:var(--text-primary)}@media(max-width:600px){.token-input-modal{margin:1rem;max-width:none}.token-input-header,.token-input-body{padding:1rem}}.signin-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.signin-modal{background:var(--bg-primary);border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-width:400px;width:100%;max-height:90vh;overflow-y:auto}.signin-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 1.5rem 1rem;border-bottom:1px solid var(--border-color)}.signin-header h2{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-primary)}.signin-close{background:none;border:none;font-size:1.25rem;cursor:pointer;padding:.25rem;color:var(--text-secondary);border-radius:4px;transition:background-color .2s}.signin-close:hover{background-color:var(--bg-secondary);color:var(--text-primary)}.signin-body{padding:1.5rem}.signin-description{margin:0 0 1.5rem;color:var(--text-secondary);font-size:.875rem;line-height:1.5}.signin-form,.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text-primary);font-size:.875rem}.form-group input{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:6px;font-size:.875rem;background:var(--bg-secondary);color:var(--text-primary);transition:border-color .2s,box-shadow .2s}.form-group input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #4ade801a}.form-group input:disabled{background-color:var(--bg-tertiary);color:var(--text-secondary);cursor:not-allowed}.signin-alternatives{margin:1rem 0;text-align:center}.signin-alternatives .btn-secondary{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-secondary);font-size:.875rem;padding:.5rem 1rem;border-radius:6px;transition:all .2s}.signin-alternatives .btn-secondary:hover{background:var(--bg-tertiary);color:var(--text-primary)}.signin-submit-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;padding-right:2rem;position:relative}.signin-submit-btn:after{content:"📧";position:absolute;right:.75rem;opacity:.8;font-size:.875rem}.signin-terms{margin:1rem 0 0}.checkbox-label{display:flex;align-items:flex-start;gap:.5rem;margin-bottom:1rem;cursor:pointer}.checkbox-label input[type=checkbox]{margin-top:.125rem;flex-shrink:0}.checkbox-text{font-size:.875rem;color:var(--text-secondary);line-height:1.4}.signin-help{margin:1rem 0 0;padding:1rem;background:var(--bg-secondary);border-radius:6px;font-size:.875rem;color:var(--text-secondary);line-height:1.4}@media(max-width:640px){.signin-overlay{padding:.5rem}.signin-modal{margin:.5rem}.signin-header,.signin-body{padding:1rem}}.layout{min-height:100vh;display:flex;flex-direction:column}.layout-header{display:flex;justify-content:space-between;align-items:flex-start;padding:2rem 1rem 1rem;gap:1rem}.header-left{text-align:center;flex:1}.header-right{display:flex;align-items:center;gap:1rem}.header-user{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--text-secondary);padding:.5rem;min-height:40px;background:var(--bg-secondary);border-radius:6px;border:1px solid var(--border-color)}.header-signin{font-size:.9rem;padding:.5rem 1rem;min-height:40px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-secondary);transition:all .2s}.header-signin:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.logo-button{background:none;border:none;cursor:pointer;padding:0;margin:0;color:inherit;font:inherit}.logo-button h1{margin:0;font-size:2.5rem;font-weight:700;color:var(--primary);transition:transform .2s}.logo-button:hover h1{transform:scale(1.05)}.tagline{margin:.5rem 0 0;font-size:1.1rem;color:var(--text-secondary)}.layout-main{flex:1;display:flex;flex-direction:column;padding:1rem;max-width:1200px;width:100%;margin:0 auto}.layout-footer{padding:2rem 1rem;border-top:1px solid var(--border-color);background:var(--bg-secondary)}.footer-nav{text-align:center;display:flex;justify-content:center;align-items:center;gap:.5rem;flex-wrap:wrap}.footer-nav button{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:.25rem .5rem;font-size:.9rem;text-decoration:none;transition:color .2s}.footer-nav button:hover{color:var(--primary);text-decoration:underline}.footer-nav button.active{color:var(--primary);font-weight:600}.footer-nav a{color:var(--text-secondary);text-decoration:none;padding:.25rem .5rem;font-size:.9rem;transition:color .2s}.footer-nav a:hover{color:var(--primary);text-decoration:underline}.footer-nav .separator{color:var(--text-secondary);opacity:.5;font-size:.9rem}@media(max-width:600px){.logo-button h1{font-size:2rem}.tagline{font-size:1rem}.footer-nav{font-size:.85rem}}@media(max-width:480px){.logo-button h1{font-size:1.5rem}.tagline{font-size:.9rem}}@media(max-width:360px){.logo-button h1{font-size:1.25rem}.tagline{font-size:.8rem}}.error-fallback{display:flex;align-items:center;justify-content:center;min-height:200px;padding:32px 16px;background:var(--color-background-error, #fef2f2);border:1px solid var(--color-border-error, #fecaca);border-radius:8px;margin:16px 0}.error-fallback-content{max-width:500px;text-align:center}.error-icon{font-size:48px;margin-bottom:16px}.error-title{font-size:24px;font-weight:600;color:var(--color-text-error, #dc2626);margin:0 0 8px}.error-message{font-size:16px;color:var(--color-text-secondary, #6b7280);margin:0 0 24px;line-height:1.5}.error-details{margin:16px 0;text-align:left}.error-details-summary{cursor:pointer;color:var(--color-text-tertiary, #9ca3af);font-size:14px;padding:8px;border:1px solid var(--color-border, #e5e7eb);border-radius:4px;background:var(--color-background, #ffffff);transition:all .2s ease}.error-details-summary:hover{color:var(--color-text-primary, #374151);border-color:var(--color-border-hover, #d1d5db)}.error-details-text{margin-top:8px;padding:12px;background:var(--color-background-secondary, #f9fafb);border:1px solid var(--color-border, #e5e7eb);border-radius:4px;font-size:12px;color:var(--color-text-primary, #374151);overflow-x:auto;white-space:pre-wrap;word-wrap:break-word}.error-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.error-button{padding:12px 24px;border:1px solid var(--color-border, #e5e7eb);border-radius:6px;background:var(--color-background, #ffffff);color:var(--color-text-primary, #374151);cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease;display:flex;align-items:center;gap:8px}.error-button:hover{background:var(--color-background-hover, #f3f4f6);border-color:var(--color-border-hover, #d1d5db)}.error-button:active{transform:scale(.98)}.error-button:focus{outline:2px solid var(--color-primary, #3b82f6);outline-offset:2px}.error-button-retry{background:var(--color-primary, #3b82f6);color:var(--color-white, #ffffff);border-color:var(--color-primary, #3b82f6)}.error-button-retry:hover{background:var(--color-primary-hover, #2563eb);border-color:var(--color-primary-hover, #2563eb)}.error-button-reset{background:var(--color-background-secondary, #f3f4f6);color:var(--color-text-secondary, #6b7280);border-color:var(--color-border, #e5e7eb)}.error-button-reset:hover{background:var(--color-background, #ffffff);color:var(--color-text-primary, #374151);border-color:var(--color-border-hover, #d1d5db)}@media(prefers-color-scheme:dark){.error-fallback{background:var(--color-background-error, #7f1d1d);border-color:var(--color-border-error, #991b1b)}.error-title{color:var(--color-text-error, #fca5a5)}.error-message{color:var(--color-text-secondary, #d1d5db)}.error-details-summary{background:var(--color-background, #1f2937);border-color:var(--color-border, #374151);color:var(--color-text-tertiary, #9ca3af)}.error-details-summary:hover{color:var(--color-text-primary, #f9fafb);border-color:var(--color-border-hover, #4b5563)}.error-details-text{background:var(--color-background-secondary, #111827);border-color:var(--color-border, #374151);color:var(--color-text-primary, #f9fafb)}.error-button{background:var(--color-background, #1f2937);color:var(--color-text-primary, #f9fafb);border-color:var(--color-border, #374151)}.error-button:hover{background:var(--color-background-hover, #374151);border-color:var(--color-border-hover, #4b5563)}.error-button-reset{background:var(--color-background-secondary, #111827);color:var(--color-text-secondary, #d1d5db)}.error-button-reset:hover{background:var(--color-background, #1f2937);color:var(--color-text-primary, #f9fafb)}}@media(max-width:640px){.error-fallback{padding:24px 12px;margin:12px 0}.error-icon{font-size:36px}.error-title{font-size:20px}.error-message{font-size:14px}.error-actions{flex-direction:column;align-items:center}.error-button{width:100%;max-width:200px;justify-content:center}}.refinevoice-fab{position:absolute;bottom:16px;width:48px;height:48px;border-radius:50%;border:none;cursor:pointer;font-size:20px;transition:all .2s ease;box-shadow:0 2px 8px #00000026;background:#4285f4;color:#fff;display:flex;align-items:center;justify-content:center;z-index:10}.refinevoice-fab-bottom-right{right:16px}.refinevoice-fab-bottom-right-2{right:72px}.refinevoice-fab:hover:not(:disabled){transform:scale(1.1);box-shadow:0 4px 12px #00000040}.refinevoice-fab:active:not(:disabled){transform:scale(.95)}.refinevoice-fab:disabled{opacity:.5;cursor:not-allowed}.refinevoice-fab:focus-visible{outline:2px solid #4285f4;outline-offset:2px}.refinevoice-fab-active{animation:refinevoice-pulse 2s infinite}@keyframes refinevoice-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}.permission-helper-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;padding:1rem}.permission-helper{background:var(--refinevoice-bg-primary, #ffffff);border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;position:relative}.permission-helper-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 1.5rem 1rem;border-bottom:1px solid var(--refinevoice-border, #e5e7eb)}.permission-helper-title{margin:0;font-size:1.25rem;font-weight:600;color:var(--refinevoice-text-primary, #111827)}.permission-helper-close{background:none;border:none;font-size:1.25rem;cursor:pointer;padding:.5rem;color:var(--refinevoice-text-secondary, #6b7280);border-radius:6px;transition:all .2s ease}.permission-helper-close:hover{background-color:var(--refinevoice-bg-secondary, #f3f4f6);color:var(--refinevoice-text-primary, #111827)}.permission-helper-body{padding:1rem 1.5rem}.permission-helper-message{margin:0 0 1.5rem;color:var(--refinevoice-text-secondary, #6b7280);line-height:1.5}.browser-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;border-bottom:1px solid var(--refinevoice-border, #e5e7eb)}.browser-tab{background:none;border:none;padding:.75rem 1rem;cursor:pointer;color:var(--refinevoice-text-secondary, #6b7280);font-weight:500;border-bottom:2px solid transparent;transition:all .2s ease}.browser-tab:hover{color:var(--refinevoice-text-primary, #111827);background-color:var(--refinevoice-bg-secondary, #f3f4f6)}.browser-tab.active{color:var(--refinevoice-primary, #3b82f6);border-bottom-color:var(--refinevoice-primary, #3b82f6)}.instructions-content{margin-bottom:1.5rem}.instructions-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.browser-icon{font-size:1.5rem}.instructions-header h3{margin:0;font-size:1.125rem;font-weight:600;color:var(--refinevoice-text-primary, #111827)}.instructions-steps{margin:0 0 1rem;padding-left:1.25rem;color:var(--refinevoice-text-primary, #111827)}.instruction-step{margin-bottom:.75rem;line-height:1.5}.instruction-step:last-child{margin-bottom:0}.alternative-instructions{padding:.75rem;background-color:var(--refinevoice-bg-secondary, #f3f4f6);border-radius:6px;font-size:.875rem;color:var(--refinevoice-text-secondary, #6b7280)}.troubleshooting-tips,.browser-recommendations{margin-bottom:1.5rem}.troubleshooting-tips h3,.browser-recommendations h3{margin:0 0 1rem;font-size:1.125rem;font-weight:600;color:var(--refinevoice-text-primary, #111827)}.troubleshooting-tips ul,.permission-helper-tips ul{margin:0;padding-left:1.25rem;color:var(--refinevoice-text-primary, #111827)}.troubleshooting-tips li,.permission-helper-tips li{margin-bottom:.5rem;line-height:1.5}.browser-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1rem}.browser-card{text-align:center;padding:1rem;background-color:var(--refinevoice-bg-secondary, #f3f4f6);border-radius:8px}.browser-card .browser-icon{display:block;font-size:2rem;margin-bottom:.5rem}.browser-card h4{margin:0 0 .25rem;font-size:1rem;font-weight:600;color:var(--refinevoice-text-primary, #111827)}.browser-card p{margin:0;font-size:.875rem;color:var(--refinevoice-text-secondary, #6b7280)}.permission-helper-tips{padding:1rem;background-color:var(--refinevoice-bg-accent, #eff6ff);border-radius:8px;border-left:4px solid var(--refinevoice-primary, #3b82f6)}.permission-helper-tips h4{margin:0 0 .75rem;font-size:1rem;font-weight:600;color:var(--refinevoice-text-primary, #111827)}.permission-helper-footer{display:flex;gap:.75rem;justify-content:flex-end;padding:1rem 1.5rem 1.5rem;border-top:1px solid var(--refinevoice-border, #e5e7eb)}.btn{padding:.625rem 1.25rem;border-radius:6px;font-weight:500;cursor:pointer;border:1px solid transparent;transition:all .2s ease;font-size:.875rem}.btn-secondary{background-color:var(--refinevoice-bg-secondary, #f3f4f6);color:var(--refinevoice-text-primary, #111827);border-color:var(--refinevoice-border, #e5e7eb)}.btn-secondary:hover{background-color:var(--refinevoice-bg-tertiary, #e5e7eb)}.btn-primary{background-color:var(--refinevoice-primary, #3b82f6);color:#fff}.btn-primary:hover{background-color:var(--refinevoice-primary-hover, #2563eb)}@media(prefers-color-scheme:dark){.permission-helper{--refinevoice-bg-primary: #1f2937;--refinevoice-bg-secondary: #374151;--refinevoice-bg-tertiary: #4b5563;--refinevoice-bg-accent: #1e3a8a;--refinevoice-text-primary: #f9fafb;--refinevoice-text-secondary: #d1d5db;--refinevoice-border: #4b5563;--refinevoice-primary: #60a5fa;--refinevoice-primary-hover: #3b82f6}}@media(max-width:640px){.permission-helper{margin:1rem;max-height:calc(100vh - 2rem)}.browser-tabs{flex-wrap:wrap}.browser-tab{flex:1;min-width:80px;text-align:center}.browser-grid{grid-template-columns:repeat(2,1fr)}.permission-helper-footer{flex-direction:column-reverse}.btn{width:100%}}.toolbar-actions{position:absolute;top:8px;right:8px;display:flex;gap:4px;z-index:10}.toolbar-button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--color-border, #e2e8f0);border-radius:6px;background:var(--color-background, #ffffff);color:var(--color-text-secondary, #64748b);cursor:pointer;font-size:14px;transition:all .2s ease;box-shadow:0 1px 2px #0000000d}.toolbar-button:hover{background:var(--color-background-hover, #f8fafc);color:var(--color-text-primary, #1e293b);border-color:var(--color-border-hover, #cbd5e1);box-shadow:0 2px 4px #0000001a}.toolbar-button:active{transform:scale(.95);box-shadow:0 1px 2px #0000000d}.toolbar-button:focus{outline:2px solid var(--color-primary, #3b82f6);outline-offset:2px}.toolbar-confirm-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.toolbar-confirm-dialog{background:var(--color-background, #ffffff);border:1px solid var(--color-border, #e2e8f0);border-radius:8px;padding:16px;box-shadow:0 10px 25px #00000026;max-width:300px;width:90%}.toolbar-confirm-dialog p{margin:0 0 16px;color:var(--color-text-primary, #1e293b);font-size:14px;text-align:center}.toolbar-confirm-buttons{display:flex;gap:8px;justify-content:center}.toolbar-confirm-button{padding:6px 16px;border:1px solid var(--color-border, #e2e8f0);border-radius:6px;background:var(--color-background, #ffffff);color:var(--color-text-primary, #1e293b);cursor:pointer;font-size:14px;transition:all .2s ease}.toolbar-confirm-button:hover{background:var(--color-background-hover, #f8fafc);border-color:var(--color-border-hover, #cbd5e1)}.toolbar-confirm-clear{background:var(--color-danger, #ef4444);color:var(--color-white, #ffffff);border-color:var(--color-danger, #ef4444)}.toolbar-confirm-clear:hover{background:var(--color-danger-hover, #dc2626);border-color:var(--color-danger-hover, #dc2626)}@media(prefers-color-scheme:dark){.toolbar-actions{--color-background: #1e293b;--color-background-hover: #334155;--color-border: #475569;--color-border-hover: #64748b;--color-text-primary: #f8fafc;--color-text-secondary: #cbd5e1;--color-primary: #3b82f6;--color-danger: #ef4444;--color-danger-hover: #dc2626;--color-white: #ffffff}}.refinevoice-widget-banner{padding:12px 16px;border-top:1px solid #e0e0e0;background:#f9f9f9;font-size:13px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.refinevoice-widget-banner.anonymous{background:#fff3cd;border-color:#ffc107}.banner-warning{display:flex;align-items:center;gap:8px;margin-bottom:12px}.banner-icon{font-size:16px}.banner-text strong{font-weight:600}.banner-action{display:flex;gap:8px;align-items:center}.banner-input{flex:1;padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:13px}.banner-input:focus{outline:none;border-color:#4285f4;box-shadow:0 0 0 2px #4285f41a}.banner-button{padding:8px 16px;background:#4285f4;color:#fff;border:none;border-radius:4px;font-weight:600;cursor:pointer;white-space:nowrap;font-size:13px;transition:background .2s}.banner-button:hover:not(:disabled){background:#3367d6}.banner-button:disabled{opacity:.5;cursor:not-allowed}.banner-success{display:flex;align-items:center;gap:12px;color:#155724;background:#d4edda;padding:12px;border-radius:4px}.banner-success .banner-text{flex:1}.banner-success .banner-text p{margin:4px 0 0;font-size:12px}.banner-error{color:#721c24;background:#f8d7da;padding:8px 12px;border-radius:4px;margin-top:8px;font-size:12px}.refinevoice-widget-banner.free{background:#f5f5f5}.banner-branding{font-size:12px;color:#666}.banner-branding a{color:#4285f4;text-decoration:none}.banner-branding a:hover{text-decoration:underline}.banner-quota{margin-top:8px;padding:8px 12px;background:#fff3cd;border-radius:4px;font-size:12px}.banner-quota.exceeded{background:#f8d7da;color:#721c24}.banner-quota a{color:#4285f4;font-weight:600;text-decoration:none}.banner-quota a:hover{text-decoration:underline}.refinevoice-editor{position:relative;width:100%;height:100%;font-family:var(--font-family, inherit);display:flex;flex-direction:column}.refinevoice-editor-content{flex:1;height:100%;min-height:0;flex-grow:1}.refinevoice-textarea{width:100%;height:100%;flex:1;padding:48px 80px 24px 24px;border:1px solid #e0e0e0;border-radius:8px;outline:none;font-size:clamp(16px,2.5vw,24px);line-height:1.5;white-space:pre-wrap;word-wrap:break-word;overflow-wrap:break-word;overflow-y:auto;resize:none;text-size-adjust:100%;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;-ms-text-size-adjust:100%}.refinevoice-textarea:focus{border-color:#4285f4;box-shadow:0 0 0 2px #4285f41a}.refinevoice-textarea:empty:before{content:attr(data-placeholder);color:#9e9e9e;font-style:italic}.refinevoice-interim{color:#00000059;font-style:italic;text-size-adjust:100%;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;-ms-text-size-adjust:100%}.refinevoice-fab-mic{background:#4285f4}.refinevoice-fab-mic.refinevoice-fab-active{background:#ea4335}.refinevoice-fab-refine{background:#9c27b0}.word-alternatives{position:relative;width:100%}.transcript-text{font-size:var(--font-size-base);font-weight:500;color:var(--color-text-primary);line-height:var(--line-height-relaxed);word-wrap:break-word;text-size-adjust:100%;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;-ms-text-size-adjust:100%}.plain-text{color:var(--color-text-primary)}.interim-transcript{color:var(--color-text-tertiary);font-style:italic;font-size:inherit;font-weight:inherit;line-height:inherit;opacity:.85;text-size-adjust:100%;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;-ms-text-size-adjust:100%}.clickable-word{cursor:pointer;border-radius:var(--radius-sm);padding:1px 2px;margin:0 1px;transition:all var(--transition-fast);position:relative;border-bottom:2px solid transparent;background:transparent;border-left:none;border-right:none;border-top:none;font-size:inherit;font-weight:inherit;font-family:inherit;color:inherit;text-size-adjust:100%;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;-ms-text-size-adjust:100%}.clickable-word:hover{background-color:var(--color-surface-hover)}.clickable-word.selected{background-color:var(--color-surface-selected);outline:2px solid var(--color-text-secondary);outline-offset:1px}.confidence-low{border-bottom-color:#ef4444}.confidence-low:hover{background-color:#ef44441a}.confidence-medium{border-bottom-color:#f59e0b}.confidence-medium:hover{background-color:#f59e0b1a}.confidence-high{border-bottom-color:transparent}.word-menu{position:fixed;background-color:var(--color-background);border:1px solid var(--color-border-primary);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:1000;min-width:160px;max-width:280px;animation:menu-fade-in var(--transition-fast) ease-out}.word-menu-content{padding:var(--space-1)}.options-list{display:flex;flex-direction:column;gap:var(--space-1)}.option-btn{background-color:transparent;border:none;border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-primary);cursor:pointer;transition:background-color .15s ease;display:flex;align-items:center;gap:var(--space-2);text-align:left;width:100%;min-height:32px}.option-btn:hover{background-color:var(--color-background-secondary)}.option-icon{font-size:var(--font-size-sm);line-height:1}.option-text{flex:1;font-weight:500}.alternative-option{color:var(--color-text-primary)}.alternative-option:hover{background-color:var(--color-background-secondary)}.refine-option:hover{background-color:#22c55e1a;color:#16a34a}.delete-option:hover{background-color:#ef44441a;color:#dc2626}.rerecord-option:hover{background-color:#3b82f61a;color:#2563eb}@keyframes menu-fade-in{0%{opacity:0;transform:translateY(-8px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:640px){.word-menu{position:fixed;left:var(--space-4)!important;right:var(--space-4);min-width:auto;max-width:none}.transcript-text{font-size:var(--font-size-sm)}.clickable-word{margin:0 2px}}@media(prefers-color-scheme:dark){.word-menu{background-color:var(--color-bg-primary);border-color:var(--color-border-medium)}.confidence-low:hover{background-color:#ef444433}.confidence-medium:hover{background-color:#f59e0b33}}@media(prefers-reduced-motion:reduce){.word-menu{animation:none}.clickable-word,.option-btn{transition:none}}.clickable-word:focus-visible{outline:2px solid var(--color-text-secondary);outline-offset:2px}.option-btn:focus-visible{outline:2px solid var(--color-text-secondary);outline-offset:2px}.close-menu:focus-visible{outline:2px solid var(--color-text-secondary);outline-offset:2px}.permission-dialog-overlay{position:fixed;inset:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:2000;padding:var(--space-4);animation:fade-in var(--transition-normal) ease-out}.permission-dialog{background-color:var(--color-bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);max-width:560px;width:100%;max-height:90vh;overflow-y:auto;display:flex;flex-direction:column;animation:slide-up var(--transition-normal) ease-out}.permission-header{padding:var(--space-5);border-bottom:1px solid var(--color-border-light)}.permission-title{font-size:var(--font-size-xl);font-weight:700;color:var(--color-text-primary);margin:0;text-align:center}.permission-body{padding:var(--space-5);flex:1}.permission-description{font-size:var(--font-size-base);color:var(--color-text-secondary);margin:0 0 var(--space-4) 0;text-align:center}.permission-details{display:flex;flex-direction:column;gap:var(--space-3);margin-bottom:var(--space-4)}.permission-item{display:flex;gap:var(--space-3);padding:var(--space-3);background-color:var(--color-surface-secondary);border-radius:var(--radius-md);border-left:3px solid var(--color-primary)}.permission-icon{font-size:var(--font-size-2xl);flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center}.permission-item h3{font-size:var(--font-size-base);font-weight:600;color:var(--color-text-primary);margin:0 0 var(--space-1) 0}.permission-item p{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0;line-height:1.5}.permission-checkbox{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-3);background-color:var(--color-surface);border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--transition-fast);-webkit-user-select:none;user-select:none}.permission-checkbox:hover{background-color:var(--color-surface-hover)}.permission-checkbox input[type=checkbox]{width:20px;height:20px;margin-top:2px;cursor:pointer;flex-shrink:0}.permission-checkbox span{font-size:var(--font-size-sm);color:var(--color-text-primary);line-height:1.5}.permission-footer{display:flex;gap:var(--space-3);padding:var(--space-4);border-top:1px solid var(--color-border-light);justify-content:flex-end}.permission-footer .btn{min-width:120px}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-up{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:640px){.permission-dialog{max-height:95vh}.permission-header{padding:var(--space-4)}.permission-title{font-size:var(--font-size-lg)}.permission-body{padding:var(--space-4)}.permission-item{flex-direction:column;align-items:center;text-align:center}.permission-footer{flex-direction:column;padding:var(--space-3)}.permission-footer .btn{width:100%}}@media(prefers-reduced-motion:reduce){.permission-dialog-overlay,.permission-dialog{animation:none}}.notification-container{position:fixed;top:var(--space-4);right:var(--space-4);z-index:1000;pointer-events:none;max-width:400px;width:100%}.notification{background-color:#f5f5f5;color:#374151;border-radius:var(--radius-md);padding:var(--space-4);margin-bottom:var(--space-3);box-shadow:var(--shadow-lg);display:flex;align-items:flex-start;gap:var(--space-3);pointer-events:all;animation:notification-slide-in var(--transition-normal) ease-out;transition:all var(--transition-normal) ease;position:relative;overflow:hidden}.notification-undo{background:var(--color-text-secondary);color:var(--color-text-inverse);border:none;border-radius:var(--radius-sm);padding:var(--space-1) var(--space-3);font-size:var(--font-size-xs);font-weight:600;cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;gap:var(--space-1)}.notification-undo:hover{background:var(--color-text-primary);transform:translateY(-1px)}@media(prefers-color-scheme:dark){.notification-shortcut{font-size:var(--font-size-xs);color:var(--color-text-tertiary);font-style:italic;margin-top:var(--space-1)}.notification-undo{background:var(--color-text-secondary);color:var(--color-bg-primary)}.notification-undo:hover{background:var(--color-text-primary)}}@media(prefers-color-scheme:dark){.notification{background-color:#2d2d2d}}@keyframes notification-slide-in{0%{opacity:0;transform:translate(100%) scale(.9)}to{opacity:1;transform:translate(0) scale(1)}}.notification.hiding{animation:notification-slide-out var(--transition-normal) ease-in forwards}@keyframes notification-slide-out{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(100%) scale(.9)}}.notification-icon{font-size:var(--font-size-lg);line-height:1;flex-shrink:0;margin-top:2px}.notification-content{flex:1;min-width:0}.notification-title{font-weight:700;font-size:var(--font-size-sm);color:var(--color-text-primary);margin-bottom:var(--space-1);line-height:var(--line-height-tight)}.notification-message{font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-secondary);line-height:var(--line-height-normal);word-wrap:break-word}.notification-close{background:none;border:none;font-size:var(--font-size-base);color:var(--color-text-tertiary);cursor:pointer;padding:var(--space-1);border-radius:var(--radius-sm);transition:all var(--transition-fast);flex-shrink:0;line-height:1;display:flex;align-items:center;justify-content:center;min-width:24px;min-height:24px}.notification-close:hover{background-color:var(--color-surface-hover);color:var(--color-text-primary)}.notification-close:active{transform:scale(.95)}.notification-info:after{content:"";position:absolute;bottom:0;left:0;height:2px;background-color:var(--color-text-tertiary);animation:progress-bar 3s linear forwards}@keyframes progress-bar{0%{width:100%}to{width:0%}}@media(max-width:640px){.notification-container{top:var(--space-3);right:var(--space-3);left:var(--space-3);max-width:none}.notification{padding:var(--space-3);gap:var(--space-2)}.notification-title,.notification-message{font-size:var(--font-size-xs)}.notification-icon{font-size:var(--font-size-base)}.notification-close{font-size:var(--font-size-sm);min-width:20px;min-height:20px}}@media(display-mode:standalone){.notification-container{top:max(var(--space-4),env(safe-area-inset-top));right:max(var(--space-4),env(safe-area-inset-right))}@media(max-width:640px){.notification-container{top:max(var(--space-3),env(safe-area-inset-top));right:max(var(--space-3),env(safe-area-inset-right));left:max(var(--space-3),env(safe-area-inset-left))}}}.notification-close:focus-visible{outline:2px solid var(--color-text-tertiary);outline-offset:2px}@media(prefers-reduced-motion:reduce){.notification{animation:none;transition:none}.notification.hiding{animation:none;transition:opacity var(--transition-fast) ease}.notification-info:after{animation:none}}.install-button{display:inline-flex;align-items:center;gap:var(--space-2);border:none;border-radius:var(--radius-md);font-weight:500;cursor:pointer;transition:all var(--transition-fast);text-decoration:none;font-family:var(--font-family)}.install-button:disabled{opacity:.6;cursor:not-allowed}.install-button-icon{font-size:1em;line-height:1}.install-button-text{font-size:inherit;line-height:1}.install-button--sm{padding:var(--space-1) var(--space-2);font-size:var(--font-size-xs);border-radius:var(--radius-sm)}.install-button--md{padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm)}.install-button--lg{padding:var(--space-3) var(--space-4);font-size:var(--font-size-base)}.install-button--primary{background-color:var(--color-primary);color:#fff}.install-button--primary:hover:not(:disabled){background-color:var(--color-primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.install-button--secondary{background-color:var(--color-bg-secondary);color:var(--color-text-primary);border:1px solid var(--color-border-primary)}.install-button--secondary:hover:not(:disabled){background-color:var(--color-bg-tertiary);border-color:var(--color-border-secondary);transform:translateY(-1px);box-shadow:var(--shadow-md)}.install-button:disabled .install-button-icon{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(max-width:640px){.install-button--sm{padding:var(--space-1) var(--space-1);font-size:10px}.install-button--md{padding:var(--space-2) var(--space-2);font-size:var(--font-size-xs)}.install-button--lg{padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm)}}@media(prefers-color-scheme:dark){.install-button--secondary{background-color:var(--color-bg-secondary);color:var(--color-text-primary);border-color:var(--color-border-primary)}.install-button--secondary:hover:not(:disabled){background-color:var(--color-bg-tertiary);border-color:var(--color-border-secondary)}}.historic-waveform{display:flex;align-items:center;justify-content:center;height:32px;margin:0;flex:1}.waveform-container{display:flex;align-items:flex-end;gap:1px;height:100%;width:100%;max-width:300px;overflow:hidden}.waveform-bar{flex:1;background:var(--color-recording-pulse);border-radius:1px;min-height:2px;transition:height .1s ease-out;opacity:.8}.waveform-bar:nth-child(10n){opacity:.8}.waveform-bar:nth-child(5n){opacity:.7}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--space-4);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background:var(--color-bg-primary);border-radius:var(--radius-lg);max-width:600px;width:100%;max-height:90vh;display:flex;flex-direction:column;box-shadow:var(--shadow-xl)}.modal-header{padding:var(--space-6);border-bottom:1px solid var(--color-border-primary);display:flex;align-items:center;justify-content:space-between}.modal-title{font-size:var(--font-size-xl);font-weight:700;color:var(--color-text-primary);margin:0}.modal-close{background:none;border:none;font-size:var(--font-size-xl);color:var(--color-text-secondary);cursor:pointer;padding:var(--space-2);line-height:1;transition:color var(--transition-fast)}.modal-close:hover{color:var(--color-text-primary)}.modal-body{padding:var(--space-6);overflow-y:auto;flex:1}.empty-state{text-align:center;padding:var(--space-10) var(--space-4);color:var(--color-text-secondary)}.empty-state p{margin:0 0 var(--space-2)}.empty-hint{font-size:var(--font-size-sm);color:var(--color-text-tertiary)}.prompts-list{display:flex;flex-direction:column;gap:var(--space-4)}.prompt-card{background:var(--color-surface);border:1px solid var(--color-border-primary);border-radius:var(--radius-md);padding:var(--space-5);transition:all var(--transition-normal)}.prompt-card:hover{border-color:var(--color-border-secondary);box-shadow:var(--shadow-sm)}.prompt-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3)}.prompt-name{font-size:var(--font-size-base);font-weight:600;color:var(--color-text-primary);margin:0}.btn-delete{background:none;border:none;font-size:var(--font-size-lg);cursor:pointer;padding:var(--space-2);line-height:1;opacity:.6;transition:all var(--transition-fast)}.btn-delete:hover{opacity:1;transform:scale(1.1)}.prompt-text{font-size:var(--font-size-sm);line-height:var(--line-height-relaxed);color:var(--color-text-secondary);margin-bottom:var(--space-3);padding:var(--space-3);background:var(--color-bg-secondary);border-radius:var(--radius-sm);max-height:100px;overflow-y:auto}.prompt-meta{font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.modal-footer{padding:var(--space-4) var(--space-6) var(--space-6);border-top:1px solid var(--color-border-primary);display:flex;justify-content:flex-end}.btn-close-modal{padding:var(--space-3) var(--space-6);font-size:var(--font-size-base);font-weight:600;font-family:var(--font-family);background:var(--color-surface);color:var(--color-text-primary);border:1px solid var(--color-border-primary);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-normal)}.btn-close-modal:hover{background:var(--color-surface-hover);border-color:var(--color-border-secondary)}@media(max-width:640px){.modal-overlay{padding:var(--space-2)}.modal-header{padding:var(--space-5)}.modal-title{font-size:var(--font-size-lg)}.modal-body{padding:var(--space-5)}.modal-footer{padding:var(--space-3) var(--space-5) var(--space-5)}.btn-close-modal{width:100%}}.dialog-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--space-4);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.dialog-content{background:var(--color-bg-primary);border-radius:var(--radius-lg);max-width:500px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-xl)}.dialog-title{font-size:var(--font-size-xl);font-weight:700;color:var(--color-text-primary);padding:var(--space-6) var(--space-6) var(--space-4);margin:0;border-bottom:1px solid var(--color-border-primary)}.dialog-body{padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-5)}.prompt-preview{display:flex;flex-direction:column;gap:var(--space-2)}.preview-label{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-secondary)}.preview-text{padding:var(--space-4);background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:var(--radius-md);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed);color:var(--color-text-secondary);max-height:120px;overflow-y:auto}.char-count{font-size:var(--font-size-xs);color:var(--color-text-tertiary);text-align:right}.char-count.invalid{color:var(--color-error);font-weight:600}.char-warning{color:var(--color-error)}.validation-error{padding:var(--space-3);background:#dc26261a;border:1px solid rgba(220,38,38,.3);border-radius:var(--radius-md);color:var(--color-error);font-size:var(--font-size-sm);font-weight:500}.name-input-group{display:flex;flex-direction:column;gap:var(--space-2)}.input-label{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-primary)}.name-input{padding:var(--space-3) var(--space-4);font-size:var(--font-size-base);font-family:var(--font-family);color:var(--color-text-primary);background:var(--color-surface);border:1px solid var(--color-border-primary);border-radius:var(--radius-md);transition:all var(--transition-normal)}.name-input:hover{border-color:var(--color-border-secondary)}.name-input:focus{outline:none;border-color:var(--color-border-focus);box-shadow:0 0 0 2px #6b72801a}.save-error{padding:var(--space-3);background:#dc26261a;border:1px solid rgba(220,38,38,.3);border-radius:var(--radius-md);color:var(--color-error);font-size:var(--font-size-sm);font-weight:500}.dialog-actions{padding:var(--space-4) var(--space-6) var(--space-6);display:flex;justify-content:flex-end;gap:var(--space-3);border-top:1px solid var(--color-border-primary)}.btn-cancel,.btn-save{padding:var(--space-3) var(--space-6);font-size:var(--font-size-base);font-weight:600;font-family:var(--font-family);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-normal);border:none}.btn-cancel{background:var(--color-surface);color:var(--color-text-primary);border:1px solid var(--color-border-primary)}.btn-cancel:hover{background:var(--color-surface-hover);border-color:var(--color-border-secondary)}.btn-save{background:var(--color-refine);color:#fff}.btn-save:hover:not(:disabled){background:var(--color-refine-hover)}.btn-save:disabled{opacity:.4;cursor:not-allowed}@media(max-width:640px){.dialog-overlay{padding:var(--space-2)}.dialog-title{font-size:var(--font-size-lg);padding:var(--space-5) var(--space-5) var(--space-3)}.dialog-body{padding:var(--space-5)}.dialog-actions{padding:var(--space-3) var(--space-5) var(--space-5);flex-direction:column-reverse}.btn-cancel,.btn-save{width:100%}}.home{font-family:var(--font-family)}.home{width:100%;max-width:900px;margin:0 auto;padding:24px;display:flex;flex-direction:column;gap:var(--space-4);height:100%;min-height:0}.dev-notice{background-color:#3b82f61a;border:1px solid rgba(59,130,246,.3);border-radius:var(--radius-md);padding:var(--space-4);margin-top:var(--space-4);text-align:center}.dev-notice p{margin:var(--space-2) 0;color:var(--color-text-secondary);font-size:var(--font-size-sm)}.dev-notice strong{color:var(--color-text-primary);font-weight:600}.text-container{position:relative;width:100%;background-color:var(--color-bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--color-border-primary);overflow:hidden;flex:1;display:flex;flex-direction:column;min-height:50vh}.text-actions{position:absolute;top:var(--space-2);right:var(--space-2);display:flex;gap:var(--space-2);align-items:center;z-index:10}.listening-indicator{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:500;opacity:.8}.btn-icon{background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:var(--radius-md);padding:var(--space-2);cursor:pointer;font-size:var(--font-size-lg);color:var(--color-text-primary);opacity:.7;transition:opacity .2s,transform .1s;min-width:32px;min-height:32px;display:flex;align-items:center;justify-content:center}.btn-icon:hover{opacity:1;transform:scale(1.05)}.text-area{padding:var(--space-6);padding-right:calc(var(--space-6) + 64px);overflow-y:auto;flex:1;height:70vh;min-height:300px;max-height:80vh;line-height:1.6;word-wrap:break-word;user-select:text;-webkit-user-select:text;font-size:clamp(16px,2.5vw,24px);transition:border-color .2s,box-shadow .2s}.text-area .ProseMirror{caret-color:inherit}.text-area .ProseMirror ::selection{background-color:Highlight;color:HighlightText}@supports not (background-color: Highlight){.text-area .ProseMirror ::selection{background-color:#0078ff4d;color:inherit}}.text-area.editing{border-color:var(--color-refine);box-shadow:0 0 0 2px #1e40af40}.input-mode-indicator{position:absolute;top:var(--space-2);left:var(--space-2);display:flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:var(--radius-md);font-size:var(--font-size-xs);color:var(--color-text-secondary);z-index:10}.input-mode-indicator.voice{border-color:#22c55e4d;background:#22c55e1a;color:#22c55e}.input-mode-indicator.keyboard{border-color:#3b82f64d;background:#3b82f61a;color:#3b82f6}.input-mode-indicator.mixed{border-color:#a855f74d;background:#a855f71a;color:#a855f7}.voice-text{position:relative}.keyboard-text{position:relative;background:#3b82f60d;border-radius:2px;padding:0 2px}.mixed-text{position:relative;background:linear-gradient(90deg,#22c55e0d,#3b82f60d,#a855f70d);border-radius:2px;padding:0 2px}.placeholder{color:var(--color-text-tertiary);opacity:.5;font-style:italic}.refined-text{color:var(--color-text-primary)}.status-bar{background-color:var(--color-bg-tertiary);padding:var(--space-3);border-top:1px solid var(--color-border-primary);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.status-text{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.selection-menu{position:fixed;background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:var(--space-2);z-index:1000;display:flex;flex-direction:column;gap:var(--space-1)}.selection-menu-item{background:transparent;border:none;padding:var(--space-2) var(--space-3);text-align:left;cursor:pointer;border-radius:var(--radius-sm);font-size:var(--font-size-sm);color:var(--color-text-primary);white-space:nowrap;transition:background-color .15s}.selection-menu-item:hover{background-color:var(--color-bg-secondary)}.selection-menu-item-danger{color:var(--color-danger)}.rerecord-banner,.swipe-indicator{background:#3b82f61a;border:1px solid rgba(59,130,246,.3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);margin-bottom:var(--space-3);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.home .text-container .refinevoice-fab{position:absolute!important;bottom:var(--space-4)!important;right:var(--space-4)!important;z-index:10}.home .text-container .refinevoice-fab-bottom-right-2{right:calc(var(--space-4) + 64px)!important}.refine-dropdown{position:absolute;bottom:calc(100% + var(--space-2));right:0;background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);min-width:180px;max-width:240px;z-index:1000;animation:dropdown-fade-in .15s ease-out}.refine-dropdown-item{width:100%;padding:var(--space-2) var(--space-3);background:transparent;border:none;text-align:left;cursor:pointer;transition:background-color .15s;color:var(--color-text-primary);font-size:var(--font-size-sm);font-weight:500;border-radius:var(--radius-sm);margin:var(--space-1)}.refine-dropdown-item:hover{background-color:var(--color-bg-secondary)}.refine-dropdown-item:first-child{margin-top:var(--space-1)}.refine-dropdown-item:last-child{margin-bottom:var(--space-1)}.refine-dropdown-name{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@keyframes dropdown-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.help-button{position:fixed;bottom:var(--space-4);left:var(--space-4);width:48px;height:48px;border-radius:50%;background:var(--color-bg-primary);border:2px solid var(--color-border-primary);color:var(--color-text-secondary);font-size:var(--font-size-lg);font-weight:600;cursor:pointer;transition:all .2s;z-index:100;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-md)}.help-button:hover{background:var(--color-bg-secondary);color:var(--color-text-primary);border-color:var(--color-refine);transform:scale(1.05)}@media(max-width:640px){.text-area{padding:var(--space-4);padding-right:calc(var(--space-4) + 56px)}.text-container{border-left:none;border-right:none;border-radius:0;min-height:60vh}.help-button{bottom:var(--space-3);left:var(--space-3);width:40px;height:40px;font-size:var(--font-size-md)}}.markdown-page{max-width:800px;margin:0 auto;padding:2rem 1rem;line-height:1.7}.markdown-page h1{font-size:2rem;font-weight:700;color:var(--text-primary);margin:2rem 0 1rem;padding-bottom:.5rem;border-bottom:2px solid var(--border-color)}.markdown-page h1:first-child{margin-top:0}.markdown-page h2{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin:1.5rem 0 1rem}.markdown-page h3{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:1.25rem 0 .75rem}.markdown-page p{margin:1rem 0;color:var(--text-secondary)}.markdown-page ul,.markdown-page ol{margin:1rem 0;padding-left:2rem;color:var(--text-secondary)}.markdown-page li{margin:.5rem 0}.markdown-page a{color:var(--primary);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .2s}.markdown-page a:hover{border-bottom-color:var(--primary)}.markdown-page strong{font-weight:600;color:var(--text-primary)}.markdown-page em{font-style:italic}.markdown-page code{background:var(--bg-secondary);padding:.2rem .4rem;border-radius:4px;font-family:Courier New,monospace;font-size:.9em;color:var(--text-primary)}.markdown-page pre{background:var(--bg-secondary);padding:1rem;border-radius:8px;overflow-x:auto;margin:1rem 0}.markdown-page pre code{background:none;padding:0}.markdown-page blockquote{border-left:4px solid var(--primary);padding-left:1rem;margin:1rem 0;color:var(--text-secondary);font-style:italic}.markdown-page hr{border:none;border-top:1px solid var(--border-color);margin:2rem 0}.markdown-page table{width:100%;border-collapse:collapse;margin:1rem 0}.markdown-page th,.markdown-page td{padding:.75rem;border:1px solid var(--border-color);text-align:left}.markdown-page th{background:var(--bg-secondary);font-weight:600;color:var(--text-primary)}.loading,.error{text-align:center;padding:3rem 1rem;color:var(--text-secondary)}.error h2{color:var(--danger);margin-bottom:1rem}@media(max-width:600px){.markdown-page{padding:1rem .5rem}.markdown-page h1{font-size:1.75rem}.markdown-page h2{font-size:1.35rem}.markdown-page h3{font-size:1.15rem}}.widget-demo-page{max-width:1200px;margin:0 auto;padding:20px}.demo-header{text-align:center;margin-bottom:40px;padding:40px 20px;background:linear-gradient(135deg,#4caf50,#2196f3);color:#fff;border-radius:12px}.demo-header h1{margin:0 0 10px;font-size:2.5em}.demo-subtitle{margin:0;opacity:.9;font-size:1.1em}.demo-nav{display:flex;gap:15px;justify-content:center;margin-bottom:40px;flex-wrap:wrap}.demo-nav a{padding:10px 20px;background:#f5f5f5;border-radius:20px;text-decoration:none;color:#333;transition:all .2s}.demo-nav a:hover{background:#4caf50;color:#fff;transform:translateY(-2px)}.demo-section{margin-bottom:60px;padding:30px;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a}.demo-section h2{margin:0 0 10px;color:#333;font-size:1.8em}.demo-section>p{margin:0 0 20px;color:#666}.code-example{margin:20px 0;background:#1e1e1e;border-radius:8px;padding:20px;overflow-x:auto}.code-example pre{margin:0;color:#d4d4d4;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:14px;line-height:1.6}.demo-container{margin:20px 0;padding:20px;border:2px dashed #e0e0e0;border-radius:8px;background:#fafafa}.output-display{margin-top:20px;padding:15px;background:#f5f5f5;border-radius:8px}.output-box{margin:10px 0;padding:15px;background:#fff;border-radius:4px;min-height:60px;border:1px solid #e0e0e0}.placeholder-text{color:#999}.char-count{color:#666;font-size:.9em}.multi-editor-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;margin:20px 0}.editor-card{border:3px solid;border-radius:12px;padding:16px;background:#fff;box-shadow:0 2px 6px #0000001a}.editor-card h3{margin:0 0 15px;display:flex;align-items:center;justify-content:space-between}.recording-badge{font-size:.8em;padding:4px 10px;background:#ffebee;color:#f44336;border-radius:12px;animation:pulse 1.5s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.card-footer{margin-top:12px;padding-top:12px;border-top:1px solid #e0e0e0;font-size:.9em;color:#666}.isolation-proof{margin-top:30px;padding:20px;background:#e3f2fd;border-radius:8px}.isolation-proof h4{margin:0 0 15px;color:#1976d2}.isolation-proof table{width:100%;border-collapse:collapse;background:#fff;border-radius:6px;overflow:hidden}.isolation-proof th{background:#1976d2;color:#fff;padding:12px;text-align:left}.isolation-proof td{padding:12px;border-bottom:1px solid #e0e0e0}.isolation-proof tr:last-child td{border-bottom:none}.contact-form{max-width:600px;margin:20px auto;padding:30px;background:#fafafa;border-radius:12px}.form-group{margin-bottom:20px}.form-group label,.form-label{display:block;margin-bottom:8px;color:#333;font-weight:500}.form-input{width:100%;padding:12px;border:1px solid #ddd;border-radius:6px;font-size:14px;box-sizing:border-box}.form-widget{min-height:150px}.submit-button{width:100%;padding:14px;background:#4caf50;color:#fff;border:none;border-radius:6px;font-size:16px;font-weight:500;cursor:pointer;transition:background .2s}.submit-button:hover:not(:disabled){background:#45a049}.submit-button:disabled{background:#ccc;cursor:not-allowed}.email-composer{max-width:700px;margin:20px auto;padding:30px;background:#fafafa;border-radius:12px}.email-fields{display:flex;flex-direction:column;gap:15px;margin-bottom:20px}.email-field{display:grid;grid-template-columns:80px 1fr;align-items:center;gap:10px}.email-field label,.email-label{font-weight:500;color:#333}.email-field input{padding:10px;border:1px solid #ddd;border-radius:6px;font-size:14px}.email-body{margin-bottom:20px}.email-body label,.email-body .email-label{display:block;margin-bottom:10px;font-weight:500;color:#333}.email-widget{min-height:200px}.email-actions{display:flex;gap:10px;margin-bottom:20px}.email-send-btn,.email-draft-btn{padding:12px 24px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.email-send-btn{background:#4caf50;color:#fff;flex:1}.email-send-btn:hover{background:#45a049}.email-draft-btn{background:#f5f5f5;color:#333}.email-draft-btn:hover{background:#e0e0e0}.email-preview{margin-top:20px;padding:15px;background:#fff;border-radius:8px;border:1px solid #e0e0e0}.preview-box{margin-top:10px;padding:15px;background:#fafafa;border-radius:4px;min-height:80px}.styled-variants{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin:20px 0}.variant{padding:20px;border:2px solid #e0e0e0;border-radius:12px;background:#fff}.variant h3{margin:0 0 15px;font-size:1.1em;color:#333}.minimal-style{border:1px solid #e0e0e0;border-radius:6px;padding:15px;background:#fff}.dark-theme{background:#1e1e1e;color:#d4d4d4;border:2px solid #333;border-radius:8px;padding:16px}.dark-theme .ProseMirror{color:#d4d4d4}.colorful-style{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:12px;padding:20px}.colorful-style .ProseMirror{color:#fff}.demo-footer{text-align:center;padding:40px 20px;background:#f5f5f5;border-radius:12px;margin-top:60px}.demo-footer h3{margin:0 0 15px;color:#333}.demo-footer p{margin:0 0 20px;color:#666}.demo-footer code{background:#e0e0e0;padding:3px 8px;border-radius:4px;font-family:monospace}.feature-badges{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.badge{padding:6px 14px;background:#4caf50;color:#fff;border-radius:16px;font-size:.9em;font-weight:500}@media(max-width:768px){.demo-header h1{font-size:1.8em}.demo-section{padding:20px}.multi-editor-grid,.styled-variants,.email-field{grid-template-columns:1fr}}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/inter-var.woff2) format("woff2")}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--space-20: 80px;--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", sans-serif;--font-size-xs: 12px;--font-size-sm: 14px;--font-size-base: 16px;--font-size-lg: 18px;--font-size-xl: 20px;--font-size-2xl: 24px;--font-size-3xl: 30px;--font-size-4xl: 36px;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.625;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 10px;--radius-full: 9999px;--shadow-sm: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--shadow-button: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--shadow-button-hover: 0 4px 9px -2px rgb(0 0 0 / .15), 0 2px 6px -2px rgb(0 0 0 / .1);--shadow-button-active: 0 2px 4px -1px rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--transition-fast: .15s ease;--transition-normal: .2s ease;--transition-slow: .3s ease;--color-bg-primary: #ffffff;--color-bg-secondary: #f5f5f5;--color-bg-tertiary: #e5e5e5;--color-bg-inverse: #000000;--color-text-primary: #000000;--color-text-secondary: #737373;--color-text-tertiary: #a3a3a3;--color-text-inverse: #ffffff;--color-border-primary: #d4d4d4;--color-border-secondary: #a3a3a3;--color-border-focus: #6b7280;--color-surface: #ffffff;--color-surface-hover: #f5f5f5;--color-surface-active: #e5e5e5;--color-success: #374151;--color-success-hover: #1f2937;--color-warning: #6b7280;--color-error: #374151;--color-error-hover: #1f2937;--color-info: #374151;--color-record: #059669;--color-record-hover: #047857;--color-refine: #1e40af;--color-refine-hover: #1d4ed8;--color-stop: #dc2626;--color-stop-hover: #b91c1c;--color-recording-pulse: #6b7280}@media(prefers-color-scheme:dark){:root{--color-bg-primary: #000000;--color-bg-secondary: #1a1a1a;--color-bg-tertiary: #2d2d2d;--color-bg-inverse: #ffffff;--color-text-primary: #ffffff;--color-text-secondary: #d4d4d4;--color-text-tertiary: #a3a3a3;--color-text-inverse: #000000;--color-border-primary: #404040;--color-border-secondary: #525252;--color-border-focus: #6b7280;--color-surface: #1a1a1a;--color-surface-hover: #2d2d2d;--color-surface-active: #404040;--color-success: #d1d5db;--color-success-hover: #e5e7eb;--color-warning: #9ca3af;--color-error: #d1d5db;--color-error-hover: #e5e7eb;--color-info: #d1d5db;--color-record: #059669;--color-record-hover: #10b981;--color-refine: #1e40af;--color-refine-hover: #3b82f6;--color-stop: #dc2626;--color-stop-hover: #ef4444;--color-recording-pulse: #9ca3af}}html{font-size:var(--font-size-base);scroll-behavior:smooth}body{font-family:var(--font-family);font-size:var(--font-size-base);line-height:var(--line-height-normal);background-color:var(--color-bg-primary);color:var(--color-text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}@media(prefers-color-scheme:light){body{background-color:#fff!important;color:#000!important}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}button:focus-visible,a:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px}@media(display-mode:standalone){body{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}}
