@@ -3386,3 +3386,205 @@ body.dark-mode .intro-header {
33863386.sidebar-container .friends a : last-child {
33873387 border-bottom : none;
33883388}
3389+
3390+ /* 背景切换器样式 */
3391+ .bg-switcher {
3392+ position : fixed;
3393+ top : 50% ;
3394+ right : 20px ;
3395+ transform : translateY (-50% );
3396+ z-index : 9999 ;
3397+ font-family : 'Helvetica Neue' , Arial, sans-serif;
3398+ }
3399+
3400+ .bg-switcher-toggle {
3401+ background : rgba (255 , 255 , 255 , 0.95 );
3402+ backdrop-filter : blur (10px );
3403+ border : 1px solid rgba (30 , 64 , 175 , 0.2 );
3404+ border-radius : 50px ;
3405+ padding : 12px 16px ;
3406+ cursor : pointer;
3407+ display : flex;
3408+ align-items : center;
3409+ gap : 8px ;
3410+ box-shadow : 0 4px 20px rgba (0 , 0 , 0 , 0.1 );
3411+ transition : all 0.3s ease;
3412+ color : # 1e40af ;
3413+ font-weight : 500 ;
3414+ font-size : 14px ;
3415+ }
3416+
3417+ .bg-switcher-toggle : hover {
3418+ background : rgba (30 , 64 , 175 , 0.1 );
3419+ border-color : rgba (30 , 64 , 175 , 0.4 );
3420+ transform : translateY (-2px );
3421+ box-shadow : 0 6px 25px rgba (30 , 64 , 175 , 0.2 );
3422+ }
3423+
3424+ .bg-switcher-toggle i {
3425+ font-size : 16px ;
3426+ }
3427+
3428+ .bg-switcher-panel {
3429+ position : absolute;
3430+ right : 0 ;
3431+ bottom : calc (100% + 10px );
3432+ background : rgba (255 , 255 , 255 , 0.98 );
3433+ backdrop-filter : blur (15px );
3434+ border : 1px solid rgba (30 , 64 , 175 , 0.2 );
3435+ border-radius : 16px ;
3436+ padding : 20px ;
3437+ min-width : 280px ;
3438+ box-shadow : 0 10px 40px rgba (0 , 0 , 0 , 0.15 );
3439+ opacity : 0 ;
3440+ visibility : hidden;
3441+ transform : translateY (10px ) scale (0.95 );
3442+ transition : all 0.3s cubic-bezier (0.4 , 0 , 0.2 , 1 );
3443+ }
3444+
3445+ .bg-switcher-panel .active {
3446+ opacity : 1 ;
3447+ visibility : visible;
3448+ transform : translateY (0 ) scale (1 );
3449+ }
3450+
3451+ .bg-switcher-title {
3452+ font-size : 16px ;
3453+ font-weight : 600 ;
3454+ color : # 1e40af ;
3455+ margin-bottom : 16px ;
3456+ text-align : center;
3457+ }
3458+
3459+ .bg-switcher-themes {
3460+ display : grid;
3461+ grid-template-columns : repeat (2 , 1fr );
3462+ gap : 12px ;
3463+ }
3464+
3465+ .bg-theme-option {
3466+ display : flex;
3467+ flex-direction : column;
3468+ align-items : center;
3469+ padding : 12px ;
3470+ border-radius : 12px ;
3471+ cursor : pointer;
3472+ transition : all 0.3s ease;
3473+ border : 2px solid transparent;
3474+ background : rgba (248 , 250 , 252 , 0.8 );
3475+ }
3476+
3477+ .bg-theme-option : hover {
3478+ background : rgba (30 , 64 , 175 , 0.05 );
3479+ border-color : rgba (30 , 64 , 175 , 0.2 );
3480+ transform : translateY (-2px );
3481+ }
3482+
3483+ .bg-theme-option .active {
3484+ background : rgba (30 , 64 , 175 , 0.1 );
3485+ border-color : # 1e40af ;
3486+ box-shadow : 0 4px 15px rgba (30 , 64 , 175 , 0.2 );
3487+ }
3488+
3489+ .bg-theme-preview {
3490+ width : 40px ;
3491+ height : 40px ;
3492+ border-radius : 50% ;
3493+ margin-bottom : 8px ;
3494+ border : 2px solid rgba (255 , 255 , 255 , 0.8 );
3495+ box-shadow : 0 2px 8px rgba (0 , 0 , 0 , 0.1 );
3496+ }
3497+
3498+ .bg-theme-icon {
3499+ font-size : 16px ;
3500+ margin-bottom : 4px ;
3501+ }
3502+
3503+ .bg-theme-name {
3504+ font-size : 12px ;
3505+ font-weight : 500 ;
3506+ color : # 374151 ;
3507+ text-align : center;
3508+ }
3509+
3510+ /* 响应式设计 */
3511+ @media (max-width : 768px ) {
3512+ .bg-switcher {
3513+ right : 15px ;
3514+ }
3515+
3516+ .bg-switcher-toggle {
3517+ padding : 10px 12px ;
3518+ font-size : 12px ;
3519+ }
3520+
3521+ .bg-switcher-toggle span {
3522+ display : none;
3523+ }
3524+
3525+ .bg-switcher-panel {
3526+ min-width : 240px ;
3527+ padding : 16px ;
3528+ }
3529+
3530+ .bg-switcher-themes {
3531+ grid-template-columns : repeat (3 , 1fr );
3532+ gap : 8px ;
3533+ }
3534+
3535+ .bg-theme-option {
3536+ padding : 8px ;
3537+ }
3538+
3539+ .bg-theme-preview {
3540+ width : 30px ;
3541+ height : 30px ;
3542+ }
3543+
3544+ .bg-theme-icon {
3545+ font-size : 14px ;
3546+ }
3547+
3548+ .bg-theme-name {
3549+ font-size : 10px ;
3550+ }
3551+ }
3552+
3553+ /* 深色模式适配 */
3554+ body .dark-mode .bg-switcher-toggle {
3555+ background : rgba (31 , 41 , 55 , 0.95 );
3556+ color : # 60a5fa ;
3557+ border-color : rgba (96 , 165 , 250 , 0.3 );
3558+ }
3559+
3560+ body .dark-mode .bg-switcher-toggle : hover {
3561+ background : rgba (96 , 165 , 250 , 0.1 );
3562+ border-color : rgba (96 , 165 , 250 , 0.5 );
3563+ }
3564+
3565+ body .dark-mode .bg-switcher-panel {
3566+ background : rgba (31 , 41 , 55 , 0.98 );
3567+ border-color : rgba (96 , 165 , 250 , 0.3 );
3568+ }
3569+
3570+ body .dark-mode .bg-switcher-title {
3571+ color : # 60a5fa ;
3572+ }
3573+
3574+ body .dark-mode .bg-theme-option {
3575+ background : rgba (55 , 65 , 81 , 0.8 );
3576+ }
3577+
3578+ body .dark-mode .bg-theme-option : hover {
3579+ background : rgba (96 , 165 , 250 , 0.1 );
3580+ border-color : rgba (96 , 165 , 250 , 0.3 );
3581+ }
3582+
3583+ body .dark-mode .bg-theme-option .active {
3584+ background : rgba (96 , 165 , 250 , 0.2 );
3585+ border-color : # 60a5fa ;
3586+ }
3587+
3588+ body .dark-mode .bg-theme-name {
3589+ color : # d1d5db ;
3590+ }
0 commit comments