:root { --text-main: #ecf6ff; --text-muted: #a5c6d9; --surface: rgba(9, 30, 44, 0.80); --surface-soft: rgba(255, 255, 255, 0.08); --surface-strong: rgba(255, 255, 255, 0.13); --border: rgba(133, 205, 236, 0.22); --accent: #25c88d; --accent-hover: #1fb078; --assistant-bg: rgba(15, 44, 63, 0.82); --user-bg: linear-gradient(120deg, #1ec18a, #1ca675); --danger-bg: rgba(255, 92, 92, 0.15); --danger-border: rgba(255, 92, 92, 0.45); --danger-text: #ffd7d7; } * { box-sizing: border-box; margin: 0; padding: 0; font-family: "Segoe UI", "Helvetica Neue", Arial, sans-serif; } html, body { width: 100%; height: 100%; overflow: hidden; } body { color: var(--text-main); background: #04121e; } .background-image { position: fixed; inset: 0; z-index: -2; background: url('background.jpeg') center/cover no-repeat; transform: scale(1.02); } .background-overlay { position: fixed; inset: 0; z-index: -1; background: radial-gradient(circle at 18% 18%, rgba(55, 197, 187, 0.22), transparent 45%), radial-gradient(circle at 80% 82%, rgba(6, 170, 140, 0.30), transparent 40%), linear-gradient(145deg, rgba(3, 13, 23, 0.78), rgba(3, 13, 23, 0.44)); } .site-header { position: fixed; top: 0; left: 0; width: 100%; height: 92px; padding: 10px 28px; display: flex; align-items: center; justify-content: space-between; z-index: 10; background: linear-gradient(to bottom, rgba(4, 12, 19, 0.56), rgba(4, 12, 19, 0.06)); backdrop-filter: blur(6px); } .logo img { height: 76px; width: auto; } .site-header nav { display: flex; align-items: center; gap: 24px; } .site-header nav a { color: #e9f7ff; text-decoration: none; font-size: 1.1rem; font-weight: 600; letter-spacing: 0.01em; transition: color 0.2s ease; } .site-header nav a:hover { color: #74f2c5; } .hero-layout { height: 100vh; width: 100%; padding: 112px 28px 24px; display: grid; grid-template-columns: minmax(360px, 1fr) minmax(470px, 520px); gap: 30px; align-items: center; } .hero-copy { max-width: 760px; padding: 18px 8px 18px 4px; } .hero-kicker { margin-bottom: 10px; color: #8ed8f9; font-size: clamp(1rem, 1.4vw, 1.28rem); letter-spacing: 0.12em; text-transform: uppercase; font-weight: 700; } .hero-copy h1 { font-size: clamp(3.35rem, 6.2vw, 6.3rem); line-height: 0.95; text-shadow: 0 10px 30px rgba(2, 8, 15, 0.5); margin-bottom: 20px; } .hero-subtitle { max-width: 58ch; color: var(--text-muted); font-size: 1.08rem; line-height: 1.6; text-shadow: 0 4px 20px rgba(0, 0, 0, 0.4); } .chatbot-container { width: 100%; height: calc(100vh - 150px); min-height: 640px; max-height: 860px; } .card { height: 100%; display: flex; flex-direction: column; border-radius: 24px; border: 1px solid var(--border); background: var(--surface); backdrop-filter: blur(12px); box-shadow: 0 22px 70px rgba(2, 8, 18, 0.65); overflow: hidden; } .card-header { padding: 18px 20px; border-bottom: 1px solid var(--border); background: linear-gradient(145deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.02)); } .chatbot-brand { display: flex; align-items: center; gap: 12px; } .chatbot-brand img { width: 58px; height: 58px; object-fit: contain; border-radius: 12px; background: rgba(255, 255, 255, 0.12); border: 1px solid var(--border); padding: 3px; } .chatbot-brand h2 { font-size: 1.08rem; margin-bottom: 2px; } .chatbot-brand p { font-size: 0.86rem; color: #93d7f3; } .msg_card_body { flex: 1; overflow-y: auto; padding: 20px 18px; scrollbar-width: thin; scrollbar-color: rgba(85, 193, 167, 0.7) transparent; } .msg_card_body::-webkit-scrollbar { width: 8px; } .msg_card_body::-webkit-scrollbar-thumb { background: rgba(85, 193, 167, 0.7); border-radius: 20px; } .card-footer { border-top: 1px solid var(--border); padding: 14px; background: linear-gradient(180deg, rgba(255, 255, 255, 0.03), rgba(255, 255, 255, 0.08)); } .input-group { display: flex; align-items: flex-end; gap: 10px; } .type_msg { flex: 1; min-height: 56px; max-height: 120px; border: 1px solid var(--border); border-radius: 18px; padding: 14px 16px; color: #eef8ff; background: rgba(6, 31, 47, 0.72); resize: none; font-size: 0.97rem; line-height: 1.4; outline: none; } .type_msg::placeholder { color: #89abc1; } .type_msg:focus { border-color: rgba(67, 225, 174, 0.7); box-shadow: 0 0 0 2px rgba(58, 198, 157, 0.2); } .input-group-append { display: flex; gap: 8px; } .send_btn { width: 48px; height: 48px; border: none; border-radius: 14px; background: rgba(6, 32, 48, 0.84); color: #72e4b8; font-size: 1.06rem; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; transition: transform 0.2s ease, background-color 0.2s ease, color 0.2s ease; } .send_btn:hover { transform: translateY(-1px); color: #f2fffb; background: var(--accent); } .d-flex { display: flex; } .justify-content-start { justify-content: flex-start; } .justify-content-end { justify-content: flex-end; } .mb-4 { margin-bottom: 12px; } .msg_cotainer, .msg_cotainer_send { max-width: 92%; border-radius: 16px; padding: 12px 14px; box-shadow: 0 8px 24px rgba(4, 13, 20, 0.36); } .msg_cotainer { color: #eaf9ff; background: var(--assistant-bg); border: 1px solid var(--border); } .msg_cotainer_send { color: #f3fffb; background: var(--user-bg); } .error-bubble { background: var(--danger-bg); border: 1px solid var(--danger-border); color: var(--danger-text); } @media (max-width: 1180px) { .site-header nav { gap: 15px; } .site-header nav a { font-size: 0.96rem; } .hero-layout { grid-template-columns: 1fr minmax(430px, 500px); } } @media (max-width: 980px) { .site-header { height: 84px; padding: 8px 18px; } .logo img { height: 62px; } .site-header nav { display: none; } .hero-layout { grid-template-columns: 1fr; padding: 92px 14px 12px; gap: 14px; align-items: stretch; } .hero-copy { max-width: none; padding: 4px; } .hero-copy h1 { font-size: clamp(2.4rem, 8vw, 3.9rem); line-height: 0.98; } .hero-subtitle { font-size: 0.95rem; } .chatbot-container { width: 100%; height: calc(100vh - 250px); min-height: 0; } } @media (max-width: 700px) { .hero-layout { padding: 86px 8px 8px; } .hero-copy { display: none; } .chatbot-container { height: calc(100vh - 96px); } .card { border-radius: 18px; } .card-header { padding: 14px; } .chatbot-brand img { width: 50px; height: 50px; } .chatbot-brand h2 { font-size: 0.98rem; } .chatbot-brand p { font-size: 0.78rem; } .msg_card_body { padding: 14px 12px; } .card-footer { padding: 10px; } .type_msg { min-height: 52px; font-size: 0.92rem; } .send_btn { width: 44px; height: 44px; } }