/* ══════════════════════════════════════════════ Bayan Inline Layer — Phase 6 All classes prefixed with bayan-il- to avoid conflicts. Uses !important sparingly to override page styles. ══════════════════════════════════════════════ */ /* ── Error highlights (contenteditable + overlay) ── */ .bayan-il-spelling { background: rgba(239, 68, 68, 0.12) !important; border-bottom: 2px solid #ef4444 !important; border-radius: 2px !important; cursor: pointer !important; transition: background 150ms ease !important; } .bayan-il-spelling:hover { background: rgba(239, 68, 68, 0.25) !important; } .bayan-il-grammar { background: rgba(245, 158, 11, 0.12) !important; border-bottom: 2px solid #f59e0b !important; border-radius: 2px !important; cursor: pointer !important; transition: background 150ms ease !important; } .bayan-il-grammar:hover { background: rgba(245, 158, 11, 0.25) !important; } .bayan-il-punctuation { background: rgba(59, 130, 246, 0.12) !important; border-bottom: 2px solid #3b82f6 !important; border-radius: 2px !important; cursor: pointer !important; transition: background 150ms ease !important; } .bayan-il-punctuation:hover { background: rgba(59, 130, 246, 0.25) !important; } /* ── Floating Action Button (FAB) ── */ .bayan-il-fab { position: absolute; z-index: 2147483646 !important; width: 34px; height: 34px; display: flex; align-items: center; justify-content: center; background: #1a1a24 !important; border: 1px solid #3a3a4d !important; border-radius: 50% !important; cursor: pointer !important; box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3) !important; opacity: 0; transform: scale(0.7); transition: opacity 200ms ease, transform 200ms cubic-bezier(0.34, 1.56, 0.64, 1) !important; pointer-events: none; user-select: none !important; } .bayan-il-fab--visible { opacity: 1 !important; transform: scale(1) !important; pointer-events: auto !important; } .bayan-il-fab:hover { border-color: #6366f1 !important; box-shadow: 0 2px 14px rgba(99, 102, 241, 0.3) !important; } /* ── Badge (on FAB) ── */ .bayan-il-badge { position: absolute !important; top: -4px; right: -4px; min-width: 16px; height: 16px; display: flex; align-items: center; justify-content: center; font-size: 9px !important; font-weight: 700 !important; font-family: -apple-system, 'Segoe UI', sans-serif !important; border-radius: 8px !important; padding: 0 4px !important; line-height: 1 !important; border: 1.5px solid #1a1a24 !important; color: white !important; background: #6b6b80 !important; } .bayan-il-badge--clean { background: #22c55e !important; } .bayan-il-badge--errors { background: #ef4444 !important; animation: bayan-il-pulse 600ms ease-out !important; } .bayan-il-badge--analyzing { background: #6366f1 !important; animation: bayan-il-spin 1s linear infinite !important; } .bayan-il-badge--paused { background: #6b6b80 !important; opacity: 0.7 !important; } @keyframes bayan-il-pulse { 0% { transform: scale(1); } 50% { transform: scale(1.3); } 100% { transform: scale(1); } } @keyframes bayan-il-spin { 0% { opacity: 0.5; } 50% { opacity: 1; } 100% { opacity: 0.5; } } /* ── Tooltip (suggestion popup) ── */ .bayan-il-tooltip { position: absolute; z-index: 2147483647 !important; min-width: 200px; max-width: 320px; background: #1a1a24 !important; border: 1px solid #3a3a4d !important; border-radius: 10px !important; box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(99, 102, 241, 0.1) !important; overflow: hidden; font-family: 'Segoe UI', Tahoma, Arial, sans-serif !important; font-size: 13px !important; color: #f0f0f5 !important; opacity: 0; transform: translateY(4px); transition: opacity 150ms ease, transform 150ms ease !important; } .bayan-il-tooltip--visible { opacity: 1 !important; transform: translateY(0) !important; } .bayan-il-tooltip-header { display: flex !important; align-items: center !important; justify-content: space-between !important; padding: 8px 12px !important; background: #22222e !important; border-bottom: 1px solid #2d2d3d !important; } .bayan-il-tooltip-badge { display: inline-block !important; padding: 2px 8px !important; border-radius: 4px !important; font-size: 10px !important; font-weight: 700 !important; } .bayan-il-badge-spelling { background: rgba(239, 68, 68, 0.15) !important; color: #ef4444 !important; } .bayan-il-badge-grammar { background: rgba(245, 158, 11, 0.15) !important; color: #f59e0b !important; } .bayan-il-badge-punctuation { background: rgba(59, 130, 246, 0.15) !important; color: #3b82f6 !important; } .bayan-il-tooltip-close { background: none !important; border: none !important; color: #6b6b80 !important; cursor: pointer !important; font-size: 14px !important; padding: 2px !important; line-height: 1 !important; } .bayan-il-tooltip-close:hover { color: #f0f0f5 !important; } .bayan-il-tooltip-body { display: flex !important; align-items: center !important; gap: 8px !important; padding: 10px 12px !important; font-size: 14px !important; line-height: 1.6 !important; } .bayan-il-tooltip-original { color: #ef4444 !important; text-decoration: line-through !important; text-decoration-color: rgba(239, 68, 68, 0.4) !important; } .bayan-il-tooltip-arrow { color: #6b6b80 !important; font-size: 12px !important; } .bayan-il-tooltip-correction { color: #22c55e !important; font-weight: 600 !important; } .bayan-il-tooltip-actions { display: flex !important; gap: 6px !important; padding: 8px 12px !important; border-top: 1px solid #2d2d3d !important; background: #22222e !important; } .bayan-il-tooltip-apply { flex: 1; padding: 5px 12px !important; border: none !important; border-radius: 6px !important; background: linear-gradient(135deg, #6366f1, #4f46e5) !important; color: white !important; font-family: 'Segoe UI', Tahoma, sans-serif !important; font-size: 12px !important; font-weight: 600 !important; cursor: pointer !important; transition: transform 150ms ease, box-shadow 150ms ease !important; } .bayan-il-tooltip-apply:hover { transform: translateY(-1px) !important; box-shadow: 0 2px 8px rgba(99, 102, 241, 0.3) !important; } .bayan-il-tooltip-ignore { padding: 5px 12px !important; border: 1px solid #3a3a4d !important; border-radius: 6px !important; background: transparent !important; color: #9898ad !important; font-family: 'Segoe UI', Tahoma, sans-serif !important; font-size: 12px !important; cursor: pointer !important; transition: background 150ms ease !important; } .bayan-il-tooltip-ignore:hover { background: #2a2a38 !important; color: #f0f0f5 !important; } /* ── Textarea overlay (transparent mirror) ── */ .bayan-il-overlay { background: transparent !important; pointer-events: none !important; }