/* Isolated, self-hosted Chicago666 contact panel. */
.c666-contact-root { --c666-contact-navy: #0a1425; --c666-contact-cyan: #67e8f9; font-family: "Microsoft YaHei", "PingFang SC", system-ui, sans-serif; }
.c666-contact-root *, .c666-contact-root *::before, .c666-contact-root *::after { box-sizing: border-box; }
.c666-contact-root button, .c666-contact-root a { font: inherit; -webkit-tap-highlight-color: transparent; }
.c666-contact-root button { cursor: pointer; }
.c666-contact-root button:focus-visible, .c666-contact-root a:focus-visible { outline: 3px solid #22d3ee; outline-offset: 4px; }
.c666-contact-root [hidden] { display: none !important; }
.c666-contact-launcher { position: fixed; right: max(22px, env(safe-area-inset-right)); bottom: max(22px, env(safe-area-inset-bottom)); z-index: 9999; display: inline-flex; align-items: center; gap: 10px; min-height: 54px; border: 1px solid #5adcec70; border-radius: 999px; padding: 12px 20px; color: #f3fcff; background: #10273b; box-shadow: 0 10px 32px #0005, inset 0 1px #ffffff12; font-size: 15px !important; font-weight: 600 !important; line-height: 1.4; transition: transform .2s, background .2s; }
.c666-contact-launcher:hover { background: #15364d; transform: translateY(-2px); }
.c666-contact-launcher[aria-expanded="true"] { visibility: hidden; }
.c666-contact-icon { display: block; flex: 0 0 auto; color: var(--c666-contact-cyan); }
.c666-contact-launcher-dot { width: 6px; height: 6px; border-radius: 50%; background: #67e8f9; }
.c666-contact-panel { position: fixed; inset: 0; margin: auto; width: min(600px, calc(100vw - 28px)); max-width: 600px; max-height: calc(100dvh - 28px - env(safe-area-inset-top) - env(safe-area-inset-bottom)); overflow-y: auto; overscroll-behavior: contain; padding: 26px; border: 1px solid #44637f80; border-radius: 24px; color: #e9f3ff; background: radial-gradient(ellipse at top right, #124057 0%, transparent 60%), var(--c666-contact-navy); box-shadow: 0 28px 100px #0009; font-family: "Microsoft YaHei", "PingFang SC", system-ui, sans-serif; line-height: 1.6; text-align: left; }
.c666-contact-panel::backdrop { background: #020918bc; backdrop-filter: blur(6px); }
.c666-contact-topline { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.c666-contact-eyebrow { font: 600 10px/1.5 system-ui, sans-serif; letter-spacing: .16em; color: var(--c666-contact-cyan); }
.c666-contact-close { flex: 0 0 44px; width: 44px; height: 44px; padding: 0; border-radius: 50%; border: 1px solid #ffffff24; background: #ffffff08; color: #e9f3ff; font: 300 29px/1 system-ui !important; }
.c666-contact-close:hover { background: #ffffff18; }
.c666-contact-title { margin: 12px 0 8px; font-size: clamp(23px, 5vw, 31px); line-height: 1.3; color: #fff; font-weight: 700; letter-spacing: -.03em; }
.c666-contact-description { margin: 0 0 22px; max-width: 46ch; color: #b6c7da; font-size: 13px; line-height: 1.8; }
.c666-contact-content { display: grid; gap: 16px; }
.c666-contact-wechat, .c666-contact-phone { min-width: 0; margin: 0; padding: 20px; border: 1px solid #ffffff14; border-radius: 17px; background: #ffffff04; }
.c666-contact-section-heading { display: flex; align-items: center; gap: 9px; margin-bottom: 15px; }
.c666-contact-section-heading h3 { margin: 0; color: #f3faff; font-size: 16px; line-height: 1.5; font-weight: 600; }
.c666-contact-mark { display: grid; place-items: center; width: 27px; height: 27px; border-radius: 8px; background: #67e8f914; color: var(--c666-contact-cyan); font-size: 13px; }
.c666-contact-qr-button { display: block; width: min(208px, 100%); margin: 0 auto; padding: 12px; border: 0; border-radius: 12px; background: #fff; line-height: 0; transition: width .2s; }
.c666-contact-qr { display: block; width: 100%; max-width: 100%; height: auto; border-radius: 3px; object-fit: contain; }
.c666-contact-directions { margin: 13px 0 9px; text-align: center; color: #bdcddd; font-size: 12px; line-height: 1.8; }
.c666-contact-qr-actions { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 5px 18px; }
.c666-contact-enlarge, .c666-contact-download { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 6px 2px; border: 0; background: transparent; color: var(--c666-contact-cyan); text-decoration: none; font-size: 12px !important; line-height: 1.5; }
.c666-contact-enlarge:hover, .c666-contact-download:hover { color: white; text-decoration: underline; }
.c666-contact-image-error { margin: 10px 0 0; color: #ffd3a3; font-size: 12px; }
.c666-contact-phone-copy { margin: 0 0 12px; color: #bdcddd; font-size: 13px; }
.c666-contact-phone-link { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 8px; padding: 13px 16px; border: 1px solid #5adcec40; border-radius: 10px; background: #67e8f90a; color: #eaffff; font-size: clamp(17px, 4.5vw, 22px) !important; font-weight: 600 !important; line-height: 1.4; letter-spacing: .01em; text-decoration: none; }
.c666-contact-phone-link:hover { border-color: #67e8f9; background: #67e8f91a; color: #fff; }
.c666-contact-phone-link span { color: var(--c666-contact-cyan); }
.c666-contact-footnote { margin: 9px 0 0; color: #a8bdd1; font-size: 11px; }
.c666-contact-panel-enlarged .c666-contact-qr-button { width: min(410px, 100%); }
@media (max-width: 380px) { .c666-contact-panel { padding: 17px; border-radius: 18px; } .c666-contact-wechat, .c666-contact-phone { padding: 14px; } .c666-contact-launcher { right: max(14px, env(safe-area-inset-right)); bottom: max(14px, env(safe-area-inset-bottom)); padding: 11px 15px; } }
@media (max-height: 540px) and (min-width: 560px) { .c666-contact-panel { width: min(790px, calc(100vw - 28px)); max-width: 790px; padding: 20px; } .c666-contact-content { grid-template-columns: 1fr 1fr; align-items: start; } .c666-contact-qr-button { width: 160px; } .c666-contact-description { max-width: none; margin-bottom: 15px; } .c666-contact-panel-enlarged .c666-contact-content { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) { .c666-contact-root *, .c666-contact-root *::before, .c666-contact-root *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; } }
