/* responsive — domain styles; order is declared in index.html. */
@media (max-width: 1020px) {
    .auth-view { grid-template-columns: 1fr 430px; }
    .auth-intro { padding: 44px; }
    .zs-culture, .zs-points { grid-template-columns: 1fr; }
}

@media (max-width: 820px) {
    .auth-view { grid-template-columns: 1fr; overflow-y: auto; height: 100dvh; padding: max(18px, env(safe-area-inset-top)) 0 max(18px, env(safe-area-inset-bottom)); }
    .auth-intro { overflow: visible; padding: 26px 22px 14px; border: 0; text-align: center; }
    .zs-brand { margin-bottom: 18px; }
    .zs-logo { font-size: 40px; }
    .zs-brand-sub { letter-spacing: .2em; }
    .zs-slogan-main { font-size: 30px; }
    .zs-slogan-sub { font-size: 0.9375rem; }
    .zs-lead { display: none; }
    .zs-culture, .zs-points, .zs-quote { display: none; }
    .auth-side { overflow: visible; padding: 6px 16px 22px; }
    .auth-card { margin: 0 auto; padding: 25px; }
    .sidebar { position: fixed; z-index: 50; inset: 0 auto 0 0; width: min(88vw, 320px); padding-left: env(safe-area-inset-left); transform: translateX(-105%); transition: transform .2s ease; box-shadow: 18px 0 50px rgba(20, 24, 38, .2); }
    .sidebar.open { transform: translateX(0); }
    .sidebar .workspace-nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .sidebar .sidebar-context { overflow-y: auto; overscroll-behavior: contain; }
    .sidebar [data-sidebar-context="agents"] { flex: 0 0 auto; min-height: 100%; overflow: visible; }
    .sidebar .agent-card-list { flex: 0 0 auto; max-height: min(20dvh, 140px); }
    .sidebar .conversation-section { flex: 0 0 auto; min-height: 120px; }
    .sidebar .conversation-list { overflow: visible; }
    .mobile-close, .mobile-menu { display: grid; place-items: center; }
    .mobile-backdrop { position: fixed; z-index: 40; inset: 0; display: block; visibility: hidden; opacity: 0; background: rgba(20, 24, 38, .4); transition: opacity .2s, visibility .2s; }
    .mobile-backdrop.visible { visibility: visible; opacity: 1; }
    .chat-header { height: 62px; flex-basis: 62px; padding: max(0px, env(safe-area-inset-top)) 12px 0; }
    .header-brand { display: none; }
    .messages { padding: 24px 14px 148px; }
    .empty-state { inset: 62px 0 128px; padding: 24px; }
    .message-row { grid-template-columns: 34px minmax(0, 1fr); gap: 7px; margin-bottom: 21px; }
    .message-row.assistant .message-body { padding: 13px 14px; }
    .message-row.user .message-body { max-width: 90%; }
    .composer { padding: 11px 11px max(9px, env(safe-area-inset-bottom)); }
    .conversation-delete { opacity: 1; }
    .management-header { height: 62px; padding: max(0px, env(safe-area-inset-top)) 14px 0; }
    .management-header .header-brand strong { display: none; }
    .management-mode-label { margin-left: 0; padding-left: 9px; }
    .management-header-actions { gap: 6px; }
    .management-header-actions > span { display: none; }
    .management-layout { height: calc(100dvh - 62px); grid-template-columns: 1fr; }
    .management-nav { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 5px; overflow-x: auto; padding: 8px; border-right: 0; border-bottom: 1px solid var(--line); }
    .management-nav-item { min-width: 105px; justify-content: center; padding: 0 8px; font-size: 0.6875rem; }
    .management-content { padding: 25px 16px; }
    .chat-room-slot-grid { grid-template-columns: repeat(4, minmax(0, 120px)); }
}

@media (max-width: 640px) {
    .chat-room-modal { width: 100%; height: 100dvh; border: 0; border-radius: 0; }
    .chat-room-header { min-height: 64px; padding: 10px 13px; }
    .chat-room-layout { grid-template-columns: 1fr; }
    .chat-room-sidebar { display: none; }
    .chat-room-slot-grid { grid-template-columns: repeat(4, minmax(0, 120px)); }
    .chat-room-info-panel { position: absolute; z-index: 3; inset: 64px 0 0 auto; width: min(85vw, 290px); border-left: 1px solid var(--line); box-shadow: -18px 0 45px rgba(20, 24, 38, .14); }
    .chat-room-main-toolbar { min-height: 48px; }
    .chat-room-main-toolbar .chat-room-search { max-width: none; }
    .chat-room-message-row { max-width: 90%; }
    .modal-backdrop { align-items: end; padding: 0; }
    .model-modal { width: 100%; max-height: 94dvh; padding: 18px 15px max(18px, env(safe-area-inset-bottom)); border-radius: 18px 18px 0 0; }
    .model-form-grid { grid-template-columns: 1fr; }
    .model-card-head { flex-direction: column; }
}

@media (max-width: 480px) {
    .auth-card { width: calc(100% - 26px); padding: 22px 19px; border-radius: 17px; }
    .auth-intro { padding-bottom: 4px; }
    .brand-mark { width: 46px; height: 46px; border-radius: 14px; }
    .chat-title span { max-width: 150px; }
    .messages { padding-left: 10px; padding-right: 10px; }
    .message-content { font-size: 0.8125rem; }
    .secondary-button { padding: 0 11px; }
    .empty-state h2 { font-size: 1.5625rem; }
    .chat-room-slot-grid { grid-template-columns: repeat(3, minmax(0, 120px)); }
}

@media (max-height: 640px) {
    .auth-view { align-content: start; }
    .auth-intro { justify-content: flex-start; }
    .zs-brand { margin-top: 20px; }
    .zs-lead { margin-bottom: 16px; }
    .empty-orbit { width: 72px; height: 72px; margin-bottom: 10px; }
    .empty-state h2 { font-size: 1.5625rem; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

