/* Windows·Mac 설치 앱: 창을 줄여도 검색·저장 상태·앱 기능을 계속 표시한다. */
html.honest-native-desktop {
    --fs-badge: 12px;
    --fs-meta: 13px;
    --fs-base: 14px;
    --fs-body: 15px;
    --fs-title: 18px;
    --topbar-h: 60px;
}
html.honest-native-desktop body { height: 100dvh; font-size: var(--fs-base); }
html.honest-native-desktop :is(.app-body, .main-content) { min-height: 0; min-width: 0; }
html.honest-native-desktop .app-topbar { gap: 16px; padding-inline: 16px !important; }
html.honest-native-desktop .topbar-left { min-width: 0; flex: 1 1 auto; }
html.honest-native-desktop .topbar-logo { padding-right: 10px; }
html.honest-native-desktop .topbar-sections {
    min-width: 0; overflow-x: auto; overscroll-behavior-x: contain;
    scrollbar-width: thin; scroll-padding-inline: 4px;
}
html.honest-native-desktop .app-topbar .topbar-section-btn {
    flex: 0 0 auto; padding-inline: 12px; font-size: var(--fs-base);
    min-height: 44px; gap: 6px;
    transition: color .15s, background-color .15s, border-color .15s;
}
html.honest-native-desktop .topbar-section-btn svg { width: 18px; height: 18px; }
html.honest-native-desktop .topbar-right {
    display: flex !important; flex: 0 0 auto; gap: 6px; min-width: 0;
}
html.honest-native-desktop .mobile-topbar-right { display: none !important; }
html.honest-native-desktop .topbar-icon-btn { flex: 0 0 36px; width: 36px; height: 36px; }
html.honest-native-desktop #globalSearchWrap { display: flex !important; min-width: 160px; }
html.honest-native-desktop #globalSearchInput {
    width: clamp(180px, 15vw, 240px); min-height: 36px; font-size: var(--fs-base);
}
html.honest-native-desktop #saveStatus { display: flex !important; flex: 0 0 auto; font-size: var(--fs-meta); white-space: nowrap; }
html.honest-native-desktop #globalSearchResults { max-width: calc(100vw - 32px); }
html.honest-native-desktop :is(#topbarActions, #topbarActionsWrapper) { flex-wrap: wrap; min-width: 0; }
html.honest-native-desktop #topbarActionsWrapper { display: flex !important; }
html.honest-native-desktop :is(#topbarActions, #topbarActionsWrapper) button { min-height: 36px; font-size: var(--fs-base); }

/* 작은 PC 창에서는 숨김 대신 한 줄을 더 사용한다. 입력 DOM은 그대로 유지한다. */
@media (max-width: 1399px) {
    html.honest-native-desktop { --topbar-h: 108px; }
    html.honest-native-desktop .app-topbar {
        display: grid; grid-template-columns: minmax(0, 1fr); grid-template-rows: 54px 54px;
        height: var(--topbar-h); gap: 0;
    }
    html.honest-native-desktop .topbar-left { width: 100%; height: 54px; }
    html.honest-native-desktop .topbar-right { width: 100%; height: 54px; border-top: 1px solid var(--border); }
    html.honest-native-desktop #globalSearchWrap { flex: 1 1 auto; }
    html.honest-native-desktop #globalSearchInput { width: 100%; }
}

/* 공용 작성 창은 창 높이에 맞춰 본문만 스크롤하고 작업 버튼을 남긴다. */
html.honest-native-desktop .os-modal-overlay { padding: 20px; align-items: center; }
html.honest-native-desktop .os-modal {
    max-width: calc(100vw - 40px) !important; max-height: calc(100dvh - 40px); min-height: 0;
}
html.honest-native-desktop .os-modal-body { min-height: 0; overscroll-behavior-y: contain; }
html.honest-native-desktop .os-modal-footer { flex-wrap: wrap; }
html.honest-native-desktop .os-modal button { min-height: 36px; }
html.honest-native-desktop .os-modal-close { min-width: 36px; }
html.honest-native-desktop .os-modal :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="range"]):not([type="color"]), select, textarea) {
    min-height: 36px; font-size: var(--fs-body);
}
html.honest-native-desktop :is(.topbar-section-btn, .topbar-icon-btn, .ctx-nav-item):focus-visible {
    outline: 2px solid #2563eb; outline-offset: -3px;
}
@media (prefers-reduced-motion: reduce) {
    html.honest-native-desktop :is(.os-modal, .os-modal-overlay, .context-panel, .topbar-section-btn) {
        animation: none !important; transition: none !important;
    }
}
