.hgs, .hgs * { box-sizing: border-box; }
.hgs { position: fixed; right: 84px; bottom: 20px; z-index: 99990; font-family: 'Inter', system-ui, sans-serif; color: #1B2230; }
.hgs-fab { display: flex; align-items: center; gap: 10px; height: 52px; padding: 0 22px; border: 0; border-radius: 26px; background: #14233C; color: #FFFFFF; font: 600 14px/1 'Inter', system-ui, sans-serif; letter-spacing: .04em; cursor: pointer; box-shadow: 0 10px 28px rgba(10, 18, 32, .28); transition: background .25s, color .25s; }
.hgs-fab:hover, .hgs-fab:focus-visible { background: #B8893A; color: #0A1220; }
.hgs-fab svg { flex: none; }
.hgs-panel { position: absolute; right: 0; bottom: 66px; width: min(380px, calc(100vw - 32px)); max-height: min(560px, calc(100vh - 110px)); display: flex; flex-direction: column; background: #FFFFFF; border: 1px solid #E2D6BC; border-top: 3px solid #B8893A; box-shadow: 0 20px 48px rgba(10, 18, 32, .28); }
.hgs-panel[hidden] { display: none; }
.hgs-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 18px; background: #0A1220; color: #F6F1E7; }
.hgs-head strong { font: 500 17px/1.2 'Noto Serif', serif; letter-spacing: .04em; }
.hgs-head small { display: block; margin-top: 3px; font-size: 12px; color: #B9C3D3; }
.hgs-x { width: 36px; height: 36px; border: 0; background: transparent; color: #F6F1E7; font-size: 22px; line-height: 1; cursor: pointer; }
.hgs-x:hover, .hgs-x:focus-visible { color: #D3A95A; }
.hgs-log { flex: 1; min-height: 160px; overflow-y: auto; padding: 16px 18px; display: flex; flex-direction: column; gap: 10px; background: #FAF6EE; }
.hgs-msg { max-width: 88%; padding: 10px 14px; font-size: 14px; line-height: 1.55; overflow-wrap: anywhere; white-space: pre-line; }
.hgs-bot { align-self: flex-start; background: #FFFFFF; border: 1px solid #E7DEC9; }
.hgs-me { align-self: flex-end; background: #14233C; color: #FFFFFF; }
.hgs-msg a { color: #7A5718; font-weight: 600; }
.hgs-me a { color: #F1D9A3; }
.hgs-quick { display: flex; flex-wrap: wrap; gap: 8px; padding: 0 18px 14px; background: #FAF6EE; }
.hgs-q { padding: 8px 12px; border: 1px solid #B8893A; background: #FFFFFF; color: #14233C; font: 500 13px/1.3 'Inter', system-ui, sans-serif; cursor: pointer; text-align: left; transition: background .2s; }
.hgs-q:hover, .hgs-q:focus-visible { background: #F1E9D8; }
.hgs-form { display: flex; gap: 8px; padding: 12px 14px; border-top: 1px solid #E7DEC9; background: #FFFFFF; }
.hgs-in { flex: 1; min-width: 0; height: 44px; padding: 0 12px; border: 1px solid #CDBF9F; background: #FAF6EE; font: 14px 'Inter', system-ui, sans-serif; color: #1B2230; border-radius: 0; }
.hgs-send { height: 44px; padding: 0 16px; border: 0; background: #B8893A; color: #0A1220; font: 600 13px 'Inter', system-ui, sans-serif; letter-spacing: .06em; cursor: pointer; }
.hgs-send:hover, .hgs-send:focus-visible { background: #D3A95A; }
.hgs-contact { display: flex; flex-wrap: wrap; gap: 8px 16px; padding: 10px 18px; border-top: 1px solid #E7DEC9; background: #FFFFFF; font-size: 13px; }
.hgs-contact a { color: #14233C; font-weight: 600; text-decoration: none; }
.hgs-contact a:hover { color: #7A5718; }
@media (max-width: 480px) { .hgs { right: 72px; bottom: 12px; } .hgs-fab span { display: none; } .hgs-fab { width: 52px; padding: 0; justify-content: center; } }
@media (prefers-reduced-motion: reduce) { .hgs * { transition: none !important; } }