[id] { scroll-margin-top: 140px; }
body, h1, h2, h3, h4, h5, h6 { font-family: "Microsoft YaHei", "PingFang SC", Arial, sans-serif; }
.nav-action { border: 0; background: transparent; font: inherit; cursor: pointer; }
.navbar-custom .navbar-nav .nav-action { color: #6c757d; font-size: 15px; font-weight: 400; line-height: 26px; padding: 6px 0; margin: 0 12px; white-space: nowrap; }
.navbar .nav-link { letter-spacing: 0; }
.navbar-toggler { width: 44px; height: 44px; padding: 10px; color: #2563eb; }
.navbar-toggler svg { display: block; width: 24px; height: 24px; }
.nav-action:focus-visible, a:focus-visible, button:focus-visible { outline: 2px solid #2563eb; outline-offset: 3px; }
.contact-mobile { display: none; }
.android-direct { margin-top: 14px; min-height: 44px; padding: 12px 14px; gap: 10px; }
.android-direct svg { width: 20px; height: 20px; flex-shrink: 0; }
.footer-contact a { display: block; color: #fff; width: fit-content; min-height: 44px; padding: 10px 0; }
.floating-window[hidden] { display: none !important; }
.floating-window:not([hidden]) { display: block; }
.floating-window { width: 360px; max-width: calc(100% - 24px); max-height: calc(100dvh - 155px); overflow-y: auto; z-index: 2000; }
.floating-window .header { position: relative; padding: 16px 52px 12px 16px; }
.floating-window .header h3 { font-size: 20px; line-height: 1.4; }
.floating-window .header p { font-size: 13px; }
.floating-window #chat-container { border-radius: 0; box-shadow: none; }
.dialog-close { position: absolute; right: 6px; top: 6px; width: 40px; height: 40px; padding: 8px; border: 0; color: #334155; background: transparent; cursor: pointer; }
.dialog-close svg { width: 24px; height: 24px; }
#user-input { align-items: stretch; }
#questionInput { min-width: 0; }
#askQuestionButton { flex-shrink: 0; margin-left: 6px; }
#askQuestionButton:disabled { opacity: .6; cursor: wait; }
.qna-status { color: #9c3129; font-size: 13px; margin: 10px 0 0; overflow-wrap: anywhere; }
.qna-status:empty { display: none; }
.chat-bubble p { white-space: pre-wrap; overflow-wrap: anywhere; }
.info-container a { display: inline-block; min-height: 36px; padding: 6px 0; }
#view-count { font-size: 14px; }
.upload-area { height: auto; min-height: 180px; padding: 24px 16px; }
.upload-content { display: flex; flex-direction: column; justify-content: center; }
.upload-icon { flex-shrink: 0; margin-bottom: 12px; }
@media (max-width: 991.98px) {
    .contact-mobile { display: list-item; }
    #navbarCollapse { max-height: calc(100dvh - 140px); overflow-y: auto; }
    #navbarCollapse .navbar-nav { align-items: stretch; }
    #navbarCollapse .nav-item { width: 100%; margin: 0; }
    #navbarCollapse .nav-link { width: 100%; text-align: left; min-height: 44px; margin: 0; padding: 9px 15px; }
    #navbarCollapse .dropdown-content { position: static; width: 100%; min-width: 0; margin: 0; max-height: 260px; overflow-y: auto; box-shadow: none; background: #f0f4fa; }
    #navbarCollapse .dropdown-content .nav-link { padding-left: 28px; color: #334155; }
}
@media (max-width: 575.98px) {
    .navbar .logo img { height: 76px; }
    [id] { scroll-margin-top: 108px; }
    #navbarCollapse { max-height: calc(100dvh - 108px); }
    .floating-window { left: 12px; right: 12px; bottom: 12px; width: auto; max-height: calc(100dvh - 24px); }
    .floating-window #chat-display { max-height: 34dvh; }
    .android-direct { width: 100%; justify-content: center; }
}
