:root{--ink-primary: #5B5FC7;--ink-primary-hover: #4B4FB7;--ink-primary-light: #EEEEFF;--ink-primary-bg: #F5F5FF;--ink-bg: #FFFFFF;--ink-surface: #F7F7F8;--ink-surface-hover: #ECECF1;--ink-sidebar: #F7F7F8;--ink-text-primary: #0D0D0D;--ink-text-secondary: #374151;--ink-text-tertiary: #6B7280;--ink-text-muted: #9CA3AF;--ink-text-placeholder: #C5C5D2;--ink-border: #E5E7EB;--ink-border-light: #ECECF1;--ink-border-focus: #5B5FC7;--ink-success: #10A37F;--ink-warning: #F59E0B;--ink-error: #EF4444;--ink-shadow-sm: 0 1px 2px rgba(0, 0, 0, .04);--ink-shadow-md: 0 2px 8px rgba(0, 0, 0, .06);--ink-shadow-lg: 0 4px 16px rgba(0, 0, 0, .08);--ink-shadow-xl: 0 8px 32px rgba(0, 0, 0, .1);--ink-radius-sm: 6px;--ink-radius-md: 8px;--ink-radius-lg: 12px;--ink-radius-xl: 16px;--ink-radius-2xl: 20px;--sidebar-width: 260px}*,*:before,*:after{box-sizing:border-box}html,body,#root{min-height:100%}body{font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Noto Sans SC,Microsoft YaHei,sans-serif;background-color:var(--ink-bg);color:var(--ink-text-primary);font-size:14px;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}.font-serif-zh{font-family:"Noto Serif SC",ZCOOL XiaoWei,STSong,serif}.custom-scrollbar::-webkit-scrollbar{width:4px}.custom-scrollbar::-webkit-scrollbar-track{background:transparent}.custom-scrollbar::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:10px}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background:#9ca3af}@media(max-width:768px){.custom-scrollbar::-webkit-scrollbar{width:2px}}::selection{background:var(--ink-primary-light);color:var(--ink-primary)}textarea::selection{background:#e0e7ff;color:#3730a3}input:focus,textarea:focus,select:focus{outline:none}.transition-theme{transition:background-color .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(8px)}to{opacity:1;transform:translate(0)}}@keyframes slideInUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.animate-fadeIn{animation:fadeIn .25s ease-out}.animate-slideInLeft{animation:slideInLeft .25s ease-out}.animate-slideInRight{animation:slideInRight .25s ease-out}.animate-slideInUp{animation:slideInUp .25s ease-out}.animate-slideInDown{animation:slideInDown .2s ease-out}.animate-scaleIn{animation:scaleIn .2s ease-out}.spinner{width:16px;height:16px;border:2px solid var(--ink-border);border-top-color:var(--ink-primary);border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.section-card{background:#fff;border:1px solid var(--ink-border);border-radius:var(--ink-radius-xl);box-shadow:var(--ink-shadow-sm)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:200;padding:.75rem}@media(min-width:768px){.modal-overlay{padding:2rem}}@supports (padding-bottom: env(safe-area-inset-bottom)){.safe-bottom{padding-bottom:env(safe-area-inset-bottom)}}.mobile-pt{padding-top:3.5rem}@media(min-width:768px){.mobile-pt{padding-top:0}}.text-ink-xs{font-size:.75rem;line-height:1.5}.text-ink-sm{font-size:.8125rem;line-height:1.5}.text-ink-base{font-size:.875rem;line-height:1.6}.text-ink-lg{font-size:1rem;line-height:1.5}.text-ink-xl{font-size:1.125rem;line-height:1.4}.text-ink-2xl{font-size:1.25rem;line-height:1.3}.page-enter{animation:fadeIn .3s ease-out}@media(max-width:768px){button,[role=button]{min-height:36px}}.scroll-x-mobile{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.scroll-x-mobile::-webkit-scrollbar{display:none}
