.menu-header{padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-secondary);border-bottom:1px solid var(--border-default);font-weight:500}.editor .spell-error{background-color:var(--text-error-hilight);border-bottom:2px dashed var(--accent-error);color:inherit;cursor:pointer;border-radius:2px}.spell-context-menu{background:var(--bg-primary);border:1px solid var(--border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:1000;min-width:220px;font-size:.875rem;position:fixed;overflow:hidden}.menu-list{padding:var(--spacing-xs) 0;margin:0;list-style:none}.menu-list li{padding:var(--spacing-sm) var(--spacing-md);cursor:pointer;transition:background var(--transition-fast)}.menu-list li:hover{background:var(--accent-primary);color:#fff}.menu-list li.no-suggestions{color:var(--text-secondary);cursor:default}.menu-list li.no-suggestions:hover{color:var(--text-secondary);background:0 0}.spell-context-menu{background:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg), 0 0 0 1px #0000000d;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);min-width:240px;font-size:.875rem;animation:.2s ease-out menuFadeIn;position:fixed;overflow:hidden}@keyframes menuFadeIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.menu-header{padding:var(--spacing-md) var(--spacing-lg);background:linear-gradient(135deg, var(--bg-secondary) 0%, var(--bg-primary) 100%);border-bottom:1px solid var(--border-default)}.error-word{align-items:center;gap:var(--spacing-sm);color:var(--accent-error);font-weight:700;font-size:calc(var(--text-md) - 2px);margin-bottom:4px;display:flex}.error-word:before{content:"⚠️";filter:drop-shadow(0 2px 2px #ef444433);font-size:1.2em}.error-description{align-items:center;gap:var(--spacing-xs);font-size:var(--text-md);color:var(--text-secondary);display:flex}.error-description:before{content:"💡";opacity:.8;margin-right:2px;font-size:.9em}.menu-list{padding:var(--spacing-xs) 0;max-height:300px;margin:0;list-style:none;overflow-y:auto}.menu-list li{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);cursor:pointer;transition:all var(--transition-fast);color:var(--text-primary);font-weight:500;display:flex;position:relative}.menu-list li:before{content:"✨";opacity:0;transition:opacity var(--transition-fast), transform var(--transition-fast);margin-right:2px;font-size:.9em}.menu-list li:hover{background:linear-gradient(90deg, var(--accent-primary) 0%, var(--accent-primary-hover) 100%);color:#fff;padding-left:calc(var(--spacing-lg) + 6px);box-shadow:inset 0 1px 3px #0000001a}.menu-list li:hover:before{opacity:1;content:"👉";transform:translate(2px)}.menu-list li.no-suggestions{color:var(--text-secondary);cursor:default;font-style:italic;font-weight:400}.menu-list li.no-suggestions:before{content:"😕";opacity:1;margin-right:6px}.menu-list li.no-suggestions:hover{color:var(--text-secondary);padding-left:var(--spacing-lg);box-shadow:none;background:0 0}.menu-list li.no-suggestions:hover:before{content:"😕";transform:none}.menu-list::-webkit-scrollbar{width:6px}.menu-list::-webkit-scrollbar-track{background:var(--bg-secondary);border-radius:var(--radius-sm)}.menu-list::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:var(--radius-sm);transition:background var(--transition-fast)}.menu-list::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}:root{--bg-primary:#fff;--bg-secondary:#f5f5f5;--bg-editor:#fff;--text-primary:#1a1a1a;--text-secondary:#666;--text-placeholder:#999;--text-error-hilight:#ffe2e21c;--text-md:14px;--border-default:#e0e0e0;--border-focus:#4c9aff;--accent-success:#10b981;--accent-success-light:#d1fae5;--accent-error:#ef4444;--accent-error-light:#fee2e2;--accent-primary:#3b82f6;--accent-primary-hover:#2563eb;--font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", sans-serif;--font-family-mono:"SF Mono", Monaco, "Cascadia Code", monospace;--spacing-xs:.25rem;--spacing-sm:.5rem;--spacing-md:.75rem;--spacing-lg:1rem;--spacing-xl:1.5rem;--spacing-2xl:2rem;--spacing-3xl:3rem;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-base:.2s cubic-bezier(.4, 0, .2, 1);--editor-min-height:300px;--editor-max-height:600px}@media (prefers-color-scheme:dark){:root{--bg-primary:#1a1a1a;--bg-secondary:#2d2d2d;--bg-editor:#2d2d2d;--text-primary:#e5e5e5;--text-secondary:#a3a3a3;--text-placeholder:#6b6b6b;--border-default:#404040}}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);color:var(--text-primary);background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);font-size:1rem;line-height:1.5}.app{min-height:100vh;padding:var(--spacing-3xl) var(--spacing-lg)}.app-container{background:var(--bg-primary);border-radius:var(--radius-2xl);width:100%;max-width:800px;box-shadow:var(--shadow-lg);padding:var(--spacing-2xl);margin:0 auto}.app-header{text-align:center;margin-bottom:var(--spacing-2xl)}.app-title{background:linear-gradient(135deg, var(--text-primary) 0%, var(--accent-primary) 100%);color:#0000;-webkit-background-clip:text;background-clip:text;font-size:2rem;font-weight:800}.editor-wrapper{margin-bottom:var(--spacing-md);position:relative}.editor-label{align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-md);color:var(--text-secondary);font-size:.875rem;font-weight:500;display:flex}.editor{min-height:var(--editor-min-height);max-height:var(--editor-max-height);padding:var(--spacing-lg);font-family:var(--font-family-mono);color:var(--text-primary);background:var(--bg-editor);border:2px solid var(--border-default);border-radius:var(--radius-lg);transition:all var(--transition-base);white-space:pre-wrap;word-wrap:break-word;outline:none;font-size:.875rem;line-height:1.6;overflow-y:auto}.editor:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px #3b82f61a}.editor:empty:before{content:attr(data-placeholder);color:var(--text-placeholder)}.loading-indicator{font-size:var(--text-md);color:var(--accent-primary);box-shadow:var(--shadow-sm);pointer-events:none;z-index:10;background:#fffffff2;border-radius:20px;align-items:center;gap:6px;padding:4px 8px;display:flex;position:absolute;bottom:12px;right:12px}.loading-spinner{border:2px solid #e0e0e0;border-top-color:var(--accent-primary);border-radius:50%;width:16px;height:16px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.counter{justify-content:flex-end;align-items:baseline;gap:var(--spacing-xs);color:var(--text-secondary);font-size:.875rem;display:flex}.counter-value{color:var(--accent-primary);font-weight:600;font-family:var(--font-family-mono)}.error-badge{background:var(--accent-error-light);color:var(--accent-error);border-radius:20px;margin-left:auto;padding:2px 8px;font-size:.75rem;font-weight:600}.fix-all-button{background:var(--accent-primary);color:#fff;cursor:pointer;transition:background var(--transition-fast), box-shadow var(--transition-fast);box-shadow:var(--shadow-sm);white-space:nowrap;border:none;border-radius:20px;margin-left:auto;padding:6px 16px;font-size:.8rem;font-weight:600}.fix-all-button:hover:not(:disabled){background:var(--accent-primary-hover);box-shadow:var(--shadow-md)}.fix-all-button:disabled{opacity:.6;cursor:not-allowed}.editor-toolbar{margin-bottom:var(--spacing-md);justify-content:space-between;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.editor-label{align-items:center;gap:var(--spacing-sm);color:var(--text-secondary);font-size:.875rem;font-weight:500;display:flex}.toolbar-actions{gap:var(--spacing-xs);display:flex}.toolbar-btn{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-default);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;border-radius:20px;align-items:center;gap:6px;padding:6px 14px;font-size:.8rem;font-weight:600;display:inline-flex}.toolbar-btn:hover:not(:disabled){background:var(--accent-primary);color:#fff;border-color:var(--accent-primary)}.toolbar-btn:disabled{opacity:.4;cursor:not-allowed}.btn-icon{font-size:1rem;line-height:1}.btn-text{line-height:1}.toolbar-btn.loading{background:var(--accent-primary);color:#fff;border-color:var(--accent-primary);opacity:.9}*,:before,:after{font:inherit;margin:0;padding:0}body{overflow:hidden}
