@import "antd/dist/reset.css"; :root { --ss-app-height: 100vh; --ss-safe-area-top: env(safe-area-inset-top, 0px); --ss-safe-area-right: env(safe-area-inset-right, 0px); --ss-safe-area-bottom: env(safe-area-inset-bottom, 0px); --ss-safe-area-left: env(safe-area-inset-left, 0px); --ss-font-family: "PingFang SC", "PingFangTC-Regular", "Hiragino Sans GB", "Hiragino Sans", "STHeiti", "Heiti SC", "Noto Sans CJK SC", "Noto Sans SC", "Source Han Sans SC", "Microsoft YaHei UI", "Microsoft YaHei", "微软雅黑", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", sans-serif; } @supports (height: 100dvh) { :root { --ss-app-height: 100dvh; } } /* iOS 使用固定根容器覆盖可视区域,避免首帧/交互后视口高度抖动产生白边 */ html.platform-ios, html.platform-ios body { height: 100%; min-height: 100%; } html, body, #root { height: var(--ss-app-height); min-height: var(--ss-app-height); margin: 0; padding: 0; overflow: hidden; user-select: none; background: var(--ss-bg-color, #f5f5f5); font-family: var(--ss-font-family); -webkit-text-size-adjust: 100%; text-size-adjust: 100%; } #root { width: 100%; padding-top: var(--ss-safe-area-top); padding-right: var(--ss-safe-area-right); padding-bottom: var(--ss-safe-area-bottom); padding-left: var(--ss-safe-area-left); box-sizing: border-box; } html.platform-ios #root { position: fixed; inset: 0; height: auto; min-height: 0; } html.platform-android { --ss-safe-area-top: max(env(safe-area-inset-top, 0px), 24px); } input, textarea { user-select: text; font-family: var(--ss-font-family); } button, select { font-family: var(--ss-font-family); } .ant-typography, .ant-btn, .ant-input, .ant-input-affix-wrapper, .ant-select, .ant-select-selection-item, .ant-message-notice-content { font-family: var(--ss-font-family) !important; } .ss-sidebar { color: var(--ss-sidebar-text, var(--ss-text-main)); } .ss-sidebar .ant-menu { background-color: transparent !important; } .ss-sidebar .ant-menu-item { color: var(--ss-sidebar-text, var(--ss-text-main)); height: 40px !important; line-height: 42px !important; border-radius: 6px !important; } .ss-sidebar .ant-menu-item-selected { background-color: var(--ss-sidebar-active-bg, var(--ss-item-hover, transparent)) !important; color: var( --ss-sidebar-active-text, var(--ant-color-primary, var(--ss-sidebar-text, var(--ss-text-main))) ); } /* 移动平台(iOS/Android)小屏设备适配 */ @media (max-width: 768px) { /* 侧边栏菜单项增大触摸区域 */ html.platform-ios .ss-sidebar .ant-menu-item, html.platform-android .ss-sidebar .ant-menu-item { min-height: 48px; font-size: 16px; } /* 按钮和输入框保持合适大小 */ html.platform-ios .ant-btn, html.platform-android .ant-btn { min-height: 40px; } html.platform-ios .ant-input, html.platform-ios .ant-select-selector, html.platform-ios .ant-input-number, html.platform-android .ant-input, html.platform-android .ant-select-selector, html.platform-android .ant-input-number { min-height: 40px; font-size: 16px; } /* 表格单元格增加内边距 */ html.platform-ios .ant-table th, html.platform-ios .ant-table td, html.platform-android .ant-table th, html.platform-android .ant-table td { padding-top: 12px; padding-bottom: 12px; } /* 模态框全屏 */ html.platform-ios .ant-modal, html.platform-android .ant-modal { max-width: 100vw !important; width: 100vw !important; margin: 0 !important; padding: 0 !important; top: 0 !important; bottom: 0 !important; left: 0 !important; right: 0 !important; } html.platform-ios .ant-modal-content, html.platform-android .ant-modal-content { height: 100vh !important; border-radius: 0 !important; display: flex !important; flex-direction: column !important; } html.platform-ios .ant-modal-body, html.platform-android .ant-modal-body { flex: 1 !important; overflow-y: auto !important; overflow-x: hidden !important; -webkit-overflow-scrolling: touch !important; } html.platform-ios .ant-modal-wrap, html.platform-android .ant-modal-wrap { overflow: hidden !important; } /* 下拉菜单高度限制 */ html.platform-ios .ant-select-dropdown, html.platform-android .ant-select-dropdown { max-height: 50vh !important; overflow-y: auto !important; -webkit-overflow-scrolling: touch !important; } /* 表格横向滚动 */ html.platform-ios .ant-table-wrapper, html.platform-android .ant-table-wrapper { overflow-x: auto !important; -webkit-overflow-scrolling: touch !important; } } .ss-table-center .ant-table th, .ss-table-center .ant-table td { text-align: center; } .ss-operation-drawer .ant-drawer-header { -webkit-app-region: drag; user-select: none; } .ss-operation-drawer .ant-drawer-header .ant-drawer-close, .ss-operation-drawer .ant-drawer-header button { -webkit-app-region: no-drag; } html.platform-macos, html.platform-macos body { background: transparent; } /* macOS:保留原生窗口圆角与 squircle(由 NSWindow 在系统层裁剪), 不再用 CSS border-radius 覆盖,避免圆弧破坏原生连续曲率。 */ .ss-group-board-modal .ant-modal { max-height: calc(100vh - 24px); top: 0; } .ss-group-board-modal .ant-modal-content { max-height: calc(100vh - 24px); display: flex; flex-direction: column; } .ss-group-board-modal .ant-modal-body { overflow: hidden; } .ss-reward-morph-modal { --ss-modal-from-x: 0px; --ss-modal-from-y: 0px; --ss-modal-scale-x: 1; --ss-modal-scale-y: 1; } .ss-reward-morph-modal.is-preparing { opacity: 0; } .ss-reward-morph-modal .ant-modal-content { transform-origin: center; will-change: transform, opacity; } .ss-reward-morph-wrap.ss-reward-noop-motion-enter, .ss-reward-morph-wrap.ss-reward-noop-motion-appear, .ss-reward-morph-wrap.ss-reward-noop-motion-leave, .ss-reward-morph-wrap.ss-reward-noop-motion-enter-active, .ss-reward-morph-wrap.ss-reward-noop-motion-appear-active, .ss-reward-morph-wrap.ss-reward-noop-motion-leave-active, .ss-reward-morph-root .ss-reward-morph-modal.ss-reward-noop-motion-enter, .ss-reward-morph-root .ss-reward-morph-modal.ss-reward-noop-motion-appear, .ss-reward-morph-root .ss-reward-morph-modal.ss-reward-noop-motion-leave, .ss-reward-morph-root .ss-reward-morph-modal.ss-reward-noop-motion-enter-active, .ss-reward-morph-root .ss-reward-morph-modal.ss-reward-noop-motion-appear-active, .ss-reward-morph-root .ss-reward-morph-modal.ss-reward-noop-motion-leave-active { animation: none !important; transition: none !important; } .ss-reward-morph-modal.is-enter .ant-modal-content { animation: ss-reward-modal-morph-in 300ms cubic-bezier(0.2, 0.82, 0.22, 1) both; } .ss-home-operation-morph-modal .ant-modal-container, .ss-home-operation-morph-modal .ant-modal-content { transform-origin: center; will-change: transform, width, height; overflow: hidden; border: 1px solid color-mix(in srgb, var(--ss-border-color) 85%, white); border-radius: 20px; box-shadow: 0 28px 80px rgba(26, 44, 77, 0.22); } .ss-home-operation-morph-modal .ant-modal-header { padding: 18px 22px 10px; margin: 0; background: transparent; } .ss-home-operation-morph-modal .ant-modal-title { font-size: 18px; font-weight: 750; } .ss-home-operation-morph-modal .ant-modal-body { padding: 10px 22px 16px; } .ss-home-operation-morph-modal .ant-modal-footer { margin: 0; padding: 12px 22px 18px; border-top: 1px solid color-mix(in srgb, var(--ss-border-color) 78%, transparent); } .ss-home-operation-morph-modal .ant-modal-header, .ss-home-operation-morph-modal .ant-modal-footer { display: none; } .ss-home-operation-morph-modal .ant-modal-content { padding: 0 !important; border-radius: 18px; background: #fff; } .ss-home-operation-morph-modal.ss-operation-morph-active .ant-modal-container, .ss-home-operation-morph-modal.ss-operation-morph-active .ant-modal-content { animation: ss-operation-shell-in 480ms cubic-bezier(0.2, 0, 0, 1) both; } .ss-home-operation-morph-modal.ss-operation-morph-closing .ant-modal-container, .ss-home-operation-morph-modal.ss-operation-morph-closing .ant-modal-content { animation: ss-operation-shell-out 360ms cubic-bezier(0.4, 0, 0.2, 1) both; } @keyframes ss-operation-shell-in { 0%, 28% { background-color: #fff; border-color: var(--ss-border-color); box-shadow: none; } 62%, 100% { background-color: #fff; border-color: #dcdcdc; box-shadow: 0 28px 80px rgba(26, 44, 77, 0.22); } } @keyframes ss-operation-shell-out { 0% { background-color: #fff; border-color: #dcdcdc; box-shadow: 0 28px 80px rgba(26, 44, 77, 0.22); } 100% { background-color: #fff; border-color: var(--ss-border-color); box-shadow: none; } } .ss-home-operation-morph-modal.ss-operation-morph-active .ss-operation-designed-score-label, .ss-home-operation-morph-modal.ss-operation-morph-active .ss-operation-designed-close { animation: ss-operation-meta-in 260ms 160ms cubic-bezier(0.2, 0, 0, 1) both; } .ss-home-operation-morph-modal.ss-operation-morph-active .ss-operation-designed-quick-buttons, .ss-home-operation-morph-modal.ss-operation-morph-active .ss-operation-designed-divider, .ss-home-operation-morph-modal.ss-operation-morph-active .ss-operation-designed-reasons { animation: ss-operation-body-in 300ms 150ms cubic-bezier(0.2, 0, 0, 1) both; } .ss-home-operation-morph-modal.ss-operation-morph-closing .ss-operation-designed-score-label, .ss-home-operation-morph-modal.ss-operation-morph-closing .ss-operation-designed-close, .ss-home-operation-morph-modal.ss-operation-morph-closing .ss-operation-designed-quick-buttons, .ss-home-operation-morph-modal.ss-operation-morph-closing .ss-operation-designed-divider, .ss-home-operation-morph-modal.ss-operation-morph-closing .ss-operation-designed-reasons { animation: ss-operation-content-out 140ms cubic-bezier(0.4, 0, 1, 1) both; } .ss-home-operation-morph-modal.ss-operation-morph-active .ant-modal-body, .ss-home-operation-morph-modal.ss-operation-morph-closing .ant-modal-body { overflow: visible !important; scrollbar-width: none; } .ss-home-operation-morph-modal.ss-operation-morph-active .ant-modal-body::-webkit-scrollbar, .ss-home-operation-morph-modal.ss-operation-morph-closing .ant-modal-body::-webkit-scrollbar { display: none; } .ss-home-operation-morph-modal.ss-operation-morph-active .ss-operation-designed-name, .ss-home-operation-morph-modal.ss-operation-morph-closing .ss-operation-designed-name { overflow: visible; text-overflow: clip; } .ss-home-operation-morph-modal.ss-operation-morph-closing .ss-operation-designed-close { visibility: hidden; opacity: 0; animation: none; } @keyframes ss-operation-meta-in { 0% { opacity: 0; filter: blur(10px); transform: translateY(8px); } 100% { opacity: 1; filter: blur(0); transform: translateY(0); } } @keyframes ss-operation-body-in { 0% { opacity: 0; filter: blur(8px); transform: translateY(14px); } 100% { opacity: 1; filter: blur(0); transform: translateY(0); } } @keyframes ss-operation-content-out { 0% { opacity: 1; filter: blur(0); } 100% { opacity: 0; filter: blur(8px); } } .ss-operation-panel-designed { gap: 0; padding: 0; color: #202020; } .ss-operation-designed-header { position: relative; display: flex; align-items: center; min-height: 82px; gap: 12px; padding: 14px 2px 12px; } .ss-operation-designed-student { display: flex; align-items: center; min-width: 0; gap: 12px; flex: 0 0 auto; } .ss-operation-designed-student img, .ss-operation-designed-avatar-fallback { width: 54px; height: 54px; flex: 0 0 54px; border-radius: 50%; object-fit: cover; } .ss-operation-designed-avatar-fallback { display: flex; align-items: center; justify-content: center; color: #fff; font-size: 18px; font-weight: 700; } .ss-operation-designed-student > span { overflow: hidden; color: #111; font-size: 22px; font-weight: 750; text-overflow: ellipsis; white-space: nowrap; } .ss-operation-designed-score { position: absolute; top: 26px; right: 52px; display: flex; align-items: center; gap: 6px; flex: 0 0 auto; color: #666; font-size: 18px; } .ss-operation-designed-score .ant-tag { margin: 0; padding: 3px 8px; border: 0; border-radius: 10px; font-size: 17px; font-weight: 750; } .ss-operation-designed-close { position: absolute; top: 22px; right: 0; width: 38px; height: 38px; flex: 0 0 38px; padding: 0; color: #111 !important; font-size: 34px; font-weight: 300; line-height: 1; } .ss-operation-designed-quick-buttons { display: grid; grid-template-columns: repeat(9, minmax(0, 1fr)); gap: 8px; padding: 18px 0 14px; } .ss-operation-designed-quick-buttons .ant-btn { min-width: 0; height: 68px; padding: 0 6px; border: 0; border-radius: 60px; color: #262626; font-size: 32px; font-weight: 800; line-height: 1; } .ss-operation-designed-quick-buttons .ant-btn:nth-child(1) { background: #ff8083; color: #fff; } .ss-operation-designed-quick-buttons .ant-btn:nth-child(2) { background: #ff9fa2; color: #fff; } .ss-operation-designed-quick-buttons .ant-btn:nth-child(3) { background: #ffc4c5; color: #f24d51; } .ss-operation-designed-quick-buttons .ant-btn:nth-child(4) { background: #ffdfe0; color: #f21c22; } .ss-operation-designed-quick-buttons .ant-btn:nth-child(5) { background: #e9fff0; } .ss-operation-designed-quick-buttons .ant-btn:nth-child(6) { background: #d0ffdc; } .ss-operation-designed-quick-buttons .ant-btn:nth-child(7) { background: #b9fbc9; } .ss-operation-designed-quick-buttons .ant-btn:nth-child(8) { background: #a2f7b8; } .ss-operation-designed-quick-buttons .ant-btn:nth-child(9) { background: #8cf2a8; } .ss-operation-designed-divider { height: 5px; margin: 0 -4px 14px; border-radius: 8px; background: #d8d8d8; } .ss-operation-designed-reasons { display: flex; flex-direction: column; gap: 28px; padding: 0 8px 16px; } .ss-operation-designed-category-title { margin-bottom: 14px; color: #666; font-size: 18px; font-weight: 500; } .ss-operation-designed-reason-buttons { display: flex; flex-wrap: wrap; gap: 12px 14px; } .ss-operation-designed-reason-buttons .ant-btn { min-width: 132px; min-height: 50px; padding: 6px 16px; border-width: 2px; border-radius: 12px; background: #fff; font-size: 17px; } .ss-operation-designed-reason-buttons .ant-btn.is-positive { border-color: #55c936; } .ss-operation-designed-reason-buttons .ant-btn.is-negative { border-color: #ff4d55; } .ss-operation-designed-reason-buttons .ant-btn > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .ss-operation-designed-reason-buttons .ant-btn strong { margin-left: 12px; font-weight: 750; } .ss-operation-designed-reason-buttons .ant-btn.is-positive strong { color: #48bd2e; } .ss-operation-designed-reason-buttons .ant-btn.is-negative strong { color: #ff4d55; } .ss-operation-panel-header { border: 1px solid color-mix(in srgb, var(--ss-border-color) 82%, white); box-shadow: inset 0 1px rgba(255, 255, 255, 0.72); } .ss-operation-panel-student-name { font-size: 16px; letter-spacing: 0.01em; } .ss-operation-panel-score .ant-tag { margin-inline-end: 0; border: 0; border-radius: 999px; padding: 3px 10px; font-size: 15px; } .ss-operation-quick-strip { padding: 14px 16px 16px; border: 1px solid color-mix(in srgb, var(--ss-border-color) 76%, white); border-radius: 16px; background: linear-gradient(145deg, color-mix(in srgb, var(--ss-card-bg) 90%, #edf6ff), var(--ss-card-bg)); } .ss-operation-quick-strip-label { margin-bottom: 10px; color: var(--ss-text-secondary); font-size: 12px; font-weight: 650; letter-spacing: 0.04em; } .ss-operation-quick-buttons { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 9px; } .ss-operation-quick-buttons .ant-btn { min-width: 0; height: 48px; padding: 0 8px; border: 0; border-radius: 999px; color: #263238; font-size: 17px; font-weight: 800; box-shadow: none; } .ss-operation-quick-buttons .ant-btn:nth-child(-n + 3) { background: #ffe0e0; color: #d94848; } .ss-operation-quick-buttons .ant-btn:nth-child(1) { background: #ff8b8b; color: white; } .ss-operation-quick-buttons .ant-btn:nth-child(2) { background: #ffabab; color: white; } .ss-operation-quick-buttons .ant-btn:nth-child(n + 4) { background: #e6fff0; } .ss-operation-quick-buttons .ant-btn:nth-child(5) { background: #cef8dc; } .ss-operation-quick-buttons .ant-btn:nth-child(6) { background: #b6f3ca; } .ss-operation-quick-buttons .ant-btn:nth-child(7) { background: #a5efbd; } .ss-operation-quick-buttons .ant-btn:nth-child(8) { background: #91eab0; } .ss-operation-panel-section { padding: 16px; border: 1px solid color-mix(in srgb, var(--ss-border-color) 75%, white); border-radius: 16px; background: color-mix(in srgb, var(--ss-card-bg) 94%, #f7fbff); } .ss-operation-section-title > span { font-size: 15px !important; } .ss-home-operation-morph-modal .ss-operation-panel-section, .ss-operation-drawer .ss-operation-panel-section { min-width: 0; } .ss-custom-score-buttons, .ss-no-reason-quick-buttons, .ss-reason-preset-buttons { display: flex; flex-wrap: wrap; gap: 10px; } .ss-custom-score-buttons .ant-btn { min-width: 48px; height: 38px; padding: 0 14px; font-size: 15px; } .ss-reason-preset-buttons .ant-btn { min-height: 42px; padding: 6px 14px; font-size: 15px; } .ss-no-reason-quick-buttons .ant-btn { min-width: 62px; height: 50px; padding: 0 18px; font-size: 18px; font-weight: 700; } @media (max-width: 860px) { .ss-operation-quick-buttons { grid-template-columns: repeat(4, minmax(0, 1fr)); } .ss-operation-designed-quick-buttons { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; } .ss-operation-designed-quick-buttons .ant-btn { height: 72px; } .ss-operation-designed-score { font-size: 18px; } .ss-operation-designed-score .ant-tag { font-size: 18px; } } @media (max-width: 768px) { .ss-operation-panel-grid { grid-template-columns: 1fr !important; } .ss-no-reason-quick-buttons .ant-btn { min-width: 64px; height: 52px; } .ss-reason-preset-buttons .ant-btn { min-height: 46px; } .ss-operation-quick-buttons { grid-template-columns: repeat(4, minmax(0, 1fr)); } .ss-operation-designed-header { min-height: 84px; gap: 8px; padding: 14px 0; } .ss-operation-designed-student img, .ss-operation-designed-avatar-fallback { width: 58px; height: 58px; flex-basis: 58px; } .ss-operation-designed-student > span { font-size: 21px; } .ss-operation-designed-close { width: 38px; height: 38px; flex-basis: 38px; font-size: 36px; } .ss-operation-designed-quick-buttons { grid-template-columns: repeat(5, minmax(0, 1fr)); } .ss-operation-designed-quick-buttons .ant-btn { height: 64px; font-size: 26px; } .ss-operation-designed-category-title { font-size: 19px; } .ss-operation-designed-reason-buttons .ant-btn { min-width: 0; min-height: 56px; padding: 6px 14px; font-size: 18px; } } @keyframes ss-reward-modal-morph-in { from { transform: translate3d(var(--ss-modal-from-x), var(--ss-modal-from-y), 0) scale(var(--ss-modal-scale-x), var(--ss-modal-scale-y)); opacity: 0.94; } to { transform: translate3d(0, 0, 0) scale(1, 1); opacity: 1; } } .ss-immersive-sidebar { --ss-sidebar-width: 200px; height: 100%; display: flex; flex-shrink: 0; width: var(--ss-sidebar-width); overflow: hidden; background: var(--ss-sidebar-bg); opacity: 1; transform: translateX(0); transition: width 260ms cubic-bezier(0.22, 1, 0.36, 1), opacity 220ms ease, transform 260ms cubic-bezier(0.22, 1, 0.36, 1); will-change: width, opacity, transform; } .ss-immersive-sidebar .ant-layout-sider { height: 100% !important; } .ss-immersive-sidebar.is-hidden { width: 0; opacity: 0; transform: translateX(-10px); pointer-events: none; } .ss-immersive-toolbar { opacity: 1; transform: translateX(-50%) translateY(0) scale(1); transition: width 420ms cubic-bezier(0.2, 1.2, 0.26, 1), opacity 200ms ease, transform 320ms cubic-bezier(0.2, 1.2, 0.26, 1); will-change: width, opacity, transform; } .ss-immersive-toolbar.is-hidden { opacity: 0; transform: translateX(-50%) translateY(16px) scale(0.98); pointer-events: none; } .ss-immersive-toolbar-segment { position: relative; height: 54px; min-width: 0; border: 1px solid color-mix(in srgb, var(--ss-border-color) 80%, transparent); border-radius: 999px; background: transparent; box-shadow: 0 8px 30px rgba(0, 0, 0, 0.16); padding: 0; box-sizing: border-box; isolation: isolate; } .ss-immersive-toolbar-segment::before { position: absolute; inset: 0; z-index: -1; border-radius: inherit; background-color: var(--ss-card-bg); background: color-mix(in srgb, var(--ss-card-bg) 58%, transparent); backdrop-filter: blur(18px) saturate(1.15); -webkit-backdrop-filter: blur(18px) saturate(1.15); content: ""; } .ss-immersive-toolbar-segment .ss-immersive-toolbar-search.ant-input-affix-wrapper { width: 100%; height: 52px; border: none !important; border-radius: 999px; background: color-mix(in srgb, var(--ss-card-bg) 58%, transparent) !important; box-shadow: none !important; backdrop-filter: blur(18px) saturate(1.15); -webkit-backdrop-filter: blur(18px) saturate(1.15); display: flex; align-items: center; padding: 0 14px; line-height: 52px; } .ss-immersive-toolbar-segment .ss-immersive-toolbar-search.ant-input-affix-wrapper-focused, .ss-immersive-toolbar-segment .ss-immersive-toolbar-search.ant-input-affix-wrapper:focus, .ss-immersive-toolbar-segment .ss-immersive-toolbar-search.ant-input-affix-wrapper:hover { border: none !important; background: color-mix(in srgb, var(--ss-card-bg) 58%, transparent) !important; box-shadow: none !important; } .ss-immersive-toolbar-segment .ss-immersive-toolbar-search .ant-input { height: 24px; background: transparent !important; line-height: 24px; padding: 0; } .ss-immersive-toolbar-segment .ss-immersive-toolbar-search .ant-input-prefix, .ss-immersive-toolbar-segment .ss-immersive-toolbar-search .ant-input-suffix { line-height: 1; } .ss-immersive-toolbar-menu-segment { flex: 0 0 54px; display: flex; align-items: center; justify-content: center; } .ss-immersive-toolbar-popover .ant-popover-inner { border-radius: 12px; } .ss-immersive-toolbar-menu { width: min(232px, calc(100vw - 32px)); display: flex; flex-direction: column; gap: 8px; } .ss-immersive-toolbar-select-popup { z-index: 1300; } .ss-settings-mobile-nav-list { display: flex; flex-direction: column; } .ss-settings-mobile-nav-item.ant-btn { min-height: 48px; width: 100%; border-radius: 0; justify-content: space-between; align-items: center; padding: 12px 16px; color: var(--ss-text-main); border-bottom: 1px solid var(--ss-divider, rgba(5, 5, 5, 0.06)); } .ss-settings-mobile-nav-item.ant-btn:last-child { border-bottom: none; } .ss-settings-mobile-nav-item.ant-btn:hover, .ss-settings-mobile-nav-item.ant-btn:focus-visible { background: var(--ss-item-hover, rgba(0, 0, 0, 0.04)); } .ss-settings-mobile-nav-item.ant-btn.is-active { color: var(--ant-color-primary, #1677ff); background: color-mix(in srgb, var(--ant-color-primary, #1677ff) 10%, transparent); } .ss-settings-mobile-nav-item.ant-btn[disabled] { color: var(--ss-text-secondary); opacity: 0.65; } .ss-settings-mobile-nav-item-label { font-size: 15px; font-weight: 500; } .ss-settings-mobile-nav-item-arrow { font-size: 12px; } .ss-route-page { min-height: 100%; } .ss-route-page.is-board-page { height: 100%; overflow: hidden; } .ss-content-scroll-container { scrollbar-width: thin; scrollbar-color: color-mix(in srgb, var(--ss-text-secondary) 55%, transparent) transparent; } .ss-content-scroll-container::-webkit-scrollbar { width: 10px; height: 10px; } .ss-content-scroll-container::-webkit-scrollbar-track { background: transparent; } .ss-content-scroll-container::-webkit-scrollbar-thumb { background: color-mix(in srgb, var(--ss-text-secondary) 55%, transparent); border-radius: 999px; border: 2px solid transparent; background-clip: padding-box; } .ss-content-scroll-container::-webkit-scrollbar-corner { background: transparent; } .ss-route-page.is-subpage-enter { animation: ss-subpage-enter 240ms cubic-bezier(0.22, 1, 0.36, 1); } @keyframes ss-subpage-enter { from { opacity: 0; transform: translate3d(20px, 0, 0); } to { opacity: 1; transform: translate3d(0, 0, 0); } } @media (prefers-reduced-motion: reduce) { .ss-immersive-sidebar, .ss-immersive-toolbar, .ss-route-page.is-subpage-enter { transition: none !important; animation: none !important; } }