1import { createHotContext as __vite__createHotContext } from "/@vite/client";import.meta.hot = __vite__createHotContext("/src/App.css");import { updateStyle as __vite__updateStyle, removeStyle as __vite__removeStyle } from "/@vite/client" 2const __vite__id = "/home/ec2-user/vounce_prod/vounceai/frontend/src/App.css" 3const __vite__css = "@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=DM+Mono:ital,wght@0,300;0,400;1,300&display=swap');\n\n/* ===================== CSS VARIABLES ===================== */\n\n:root {\n --bg: #ffffff;\n --surface: #ffffff;\n --surface-2: #f4f4f8;\n --border: #e0e0e6;\n --border-hover: #c4b5fd;\n --accent: #7c3aed;\n --accent2: #6366f1;\n --accent3: #a855f7;\n --text: #111;\n --text-sub: #666;\n --muted: #999;\n --glow: rgba(124, 58, 237, 0.12);\n --shadow: rgba(0,0,0,0.08);\n}\n\n/* ===================== RESET ===================== */\n\n*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }\n\nhtml, body, #root { \n width: 100%; \n min-height: 100%;\n}\n\nbody {\n overflow-x: hidden;\n font-family: 'Inter', 'Helvetica Neue', Arial, sans-serif;\n background: var(--bg);\n color: var(--text);\n}\n\nbutton,\ninput,\nselect,\ntextarea {\n font-family: inherit;\n}\n\n/* ===================== APP WRAPPER ===================== */\n\n.app { \n width: 100%; \n min-height: 100vh; \n position: relative;\n}\n\n.main-content {\n width: 100%;\n min-height: calc(100vh - 64px);\n position: relative;\n z-index: 1;\n}\n\n/* ===================== CONTAINER ===================== */\n\n.container {\n width: 100%;\n max-width: 860px;\n margin: 0 auto;\n padding: 0 32px;\n}\n\n.container--wide {\n width: 100%;\n max-width: 1100px;\n margin: 0 auto;\n padding: 0 32px;\n}\n\n/* ===================== UTILITY ===================== */\n\n.fade-up {\n opacity: 0;\n animation: fadeUp 0.55s ease forwards;\n}\n\n@keyframes fadeUp {\n from { opacity: 0; transform: translateY(18px); }\n to { opacity: 1; transform: translateY(0); }\n}\n\n@keyframes spin { to { transform: rotate(360deg); } }\n\n.mono { font-family: 'DM Mono', monospace; }\n\n/* ===================== SHARED BUTTON STYLES ===================== */\n\n.btn-primary {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: 10px;\n padding: 16px 36px;\n background: linear-gradient(135deg, #6366f1, #a855f7);\n border: none;\n border-radius: 12px;\n font-family: inherit;\n font-size: 15px;\n font-weight: 700;\n color: #fff;\n cursor: pointer;\n letter-spacing: 0.04em;\n transition: all 0.3s;\n position: relative;\n overflow: hidden;\n}\n\n.btn-primary:hover { transform: translateY(-2px); box-shadow: 0 8px 28px var(--glow); }\n\n.btn-primary:active { transform: translateY(0); }\n\n.btn-primary:disabled { opacity: 0.35; cursor: not-allowed; transform: none; box-shadow: none; }\n\n.btn-secondary {\n display: inline-flex;\n align-items: center;\n gap: 8px;\n padding: 13px 24px;\n background: transparent;\n border: 1px solid var(--border);\n border-radius: 10px;\n font-family: inherit;\n font-size: 14px;\n font-weight: 600;\n color: var(--text-sub);\n cursor: pointer;\n transition: all 0.2s;\n}\n\n.btn-secondary:hover { border-color: var(--accent); color: var(--accent); }\n\n/* ===================== RESPONSIVE ===================== */\n\n@media (max-width: 768px) {\n .container, .container--wide { padding: 0 20px; }\n}\n\n/* ââ Vounce AI-Themed Unlink Modal (Global) ââ */\n\n.v-modal-overlay {\n position: fixed;\n inset: 0;\n background: linear-gradient(\n 165deg,\n rgba(255, 255, 255, 0.6) 0%,\n rgba(235, 242, 255, 0.7) 50%,\n rgba(220, 232, 255, 0.75) 100%\n );\n backdrop-filter: blur(12px);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 99999;\n padding: 20px;\n animation: v-fade-in 0.25s ease-out;\n}\n\n.v-modal-card {\n background: #ffffff;\n border: 1px solid rgba(0, 102, 255, 0.15);\n border-radius: 24px;\n padding: 40px 36px 36px;\n width: 100%;\n max-width: 440px;\n display: flex;\n flex-direction: column;\n align-items: center;\n text-align: center;\n box-shadow: 0 20px 40px rgba(0, 102, 255, 0.08), 0 1px 6px rgba(0,0,0,0.04);\n position: relative;\n animation: v-slide-in 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);\n}\n\n@keyframes v-fade-in {\n from { opacity: 0; }\n to { opacity: 1; }\n}\n\n@keyframes v-slide-in {\n from { opacity: 0; transform: scale(0.95) translateY(10px); }\n to { opacity: 1; transform: scale(1) translateY(0); }\n}\n\n.v-modal-close {\n position: absolute;\n top: 16px;\n right: 20px;\n font-size: 28px;\n color: #a0aec0;\n background: none;\n border: none;\n cursor: pointer;\n line-height: 1;\n transition: color 0.15s;\n}
3\n\n.v-modal-close:hover {\n color: #0066ff;\n}\n\n.v-modal-icon-wrap {\n width: 56px;\n height: 56px;\n border-radius: 50%;\n display: flex;\n align-items: center;\n justify-content: center;\n margin-bottom: 20px;\n}\n\n.v-modal-icon-wrap.logo {\n background: rgba(0, 102, 255, 0.08);\n border: 1.5px solid rgba(0, 102, 255, 0.25);\n}\n\n.v-modal-icon-wrap.success {\n background: rgba(56, 161, 105, 0.08);\n color: #38a169;\n border: 1.5px solid rgba(56, 161, 105, 0.25);\n}\n\n.v-modal-icon-wrap.error {\n background: rgba(239, 68, 68, 0.08);\n color: #ef4444;\n border: 1.5px solid rgba(239, 68, 68, 0.25);\n}\n\n.v-modal-icon-wrap.info {\n background: rgba(0, 102, 255, 0.08);\n color: #0066ff;\n border: 1.5px solid rgba(0, 102, 255, 0.25);\n}\n\n.v-modal-title {\n font-size: 19px;\n font-weight: 700;\n color: #1a1a2e;\n margin: 0 0 12px;\n}\n\n.v-modal-text {\n font-size: 14px;\n line-height: 1.5;\n color: #4a5568;\n margin: 0 0 16px;\n word-break: break-word;\n}\n\n.v-modal-actions {\n display: flex;\n gap: 12px;\n width: 100%;\n justify-content: center;\n}\n\n.v-modal-btn {\n padding: 12px 24px;\n border-radius: 10px;\n font-size: 14px;\n font-weight: 600;\n cursor: pointer;\n transition: all 0.15s ease, transform 0.1s ease;\n font-family: inherit;\n}\n\n.v-modal-btn.cancel {\n background: #ffffff;\n border: 1px solid rgba(0, 102, 255, 0.2);\n color: #0066ff;\n flex: 1;\n}\n\n.v-modal-btn.cancel:hover {\n background: rgba(0, 102, 255, 0.05);\n border-color: #0066ff;\n}\n\n.v-modal-btn.unlink {\n background: #0066ff;\n border: none;\n color: #fff;\n flex: 1.2;\n}\n\n.v-modal-btn.unlink:hover {\n background: #0052cc;\n box-shadow: 0 4px 16px rgba(0, 102, 255, 0.25);\n transform: translateY(-1px);\n}\n\n.v-modal-btn.close {\n background: #0066ff;\n border: none;\n color: #fff;\n width: 100%;\n max-width: 200px;\n}\n\n.v-modal-btn.close:hover {\n background: #0052cc;\n box-shadow: 0 4px 16px rgba(0, 102, 255, 0.25);\n transform: translateY(-1px);\n}" 4__vite__updateStyle(__vite__id, __vite__css) 5import.meta.hot.accept() 6import.meta.hot.prune(() => __vite__removeStyle(__vite__id))
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.