/* 生成物 —— 勿手改，勿提交（static/bundles/ 已 gitignore）。
   真源与顺序：app/static_bundles.py::BUNDLES['skin-tail.css']（1 个源文件）
   再生：重启进程（main.py 导入期自动）或
   PYTHONPATH=. .venv/bin/python scripts/build_static_bundles.py
   来源：
     - css/neu-skin.css
*/

/* ---- css/neu-skin.css ---- */
                                                               
                                        
                                                               
                                                  
                  

                       
                                      
                                           
                                               
                                          
                                 
                              
                                
                                        

                                                       
                                                         
                                                          
                                                  

                                                         
                                               
                                                         
                                                      
                                           
                                              
                                                                  

:root {
                                           
    --primary: #5C4033;
    --primary-2: #3E2A20;
                              
    --text-1: #5C4033;
    --text-2: #7A5C47;
    --text-3: #9C7E68;
    --text-muted: #B5987F;
    --border: #DCE3EC;
    --border-soft: #E4EAF1;
    --neu-bg: #E0E5EC;
    --neu-inset: #D1D9E6;
    --neu-sh-dark: rgba(163, 177, 198, .7);
    --neu-sh-light: rgba(255, 255, 255, .85);
    --neu-raise: 9px 9px 18px var(--neu-sh-dark), -9px -9px 18px var(--neu-sh-light);
    --neu-raise-sm: 5px 5px 10px var(--neu-sh-dark), -5px -5px 10px var(--neu-sh-light);
    --neu-raise-xs: 3px 3px 7px var(--neu-sh-dark), -3px -3px 7px var(--neu-sh-light);
    --neu-press: inset 5px 5px 12px var(--neu-sh-dark), inset -5px -5px 12px var(--neu-sh-light);
    --neu-press-sm: inset 3px 3px 6px var(--neu-sh-dark), inset -3px -3px 6px var(--neu-sh-light);
    --neu-press-xs: inset 2px 2px 4px var(--neu-sh-dark), inset -2px -2px 4px var(--neu-sh-light);
                                                           
    --neu-pop-shadow: 0 8px 24px rgba(100, 112, 130, .35), 0 2px 6px rgba(100, 112, 130, .2);
    --neu-radius-card: 24px;
    --neu-radius-sub: 16px;
    --neu-radius-pill: 999px;
                                           
    --neu-accent-grad: var(--neu-bg);
                                            
    --neu-overlay-bg: var(--neu-bg);
                               
    --neu-mask: rgba(15, 23, 42, .35);
                                   
                                                  
    --neu-line: 1px solid rgba(198, 207, 220, .45);
                                                                
                                             
    --canvas-w: 100%;
    --tab-h: 54px;
                                                             
                                                           
                                     
    --danger: #E53E3E;
    --danger-tint: rgba(197, 48, 48, .08);
    --ok: #38A169;
    --ok-tint: rgba(56, 161, 105, .25);
    --primary-tint: rgba(92, 64, 51, .1);
    --tint-soak: rgba(92, 64, 51, .25);
    --tint-edge: rgba(92, 64, 51, .42);
    --tint-focus: rgba(92, 64, 51, .38);
    --hairline: rgba(163, 177, 198, .4);
    --stripe: rgba(163, 177, 198, .18);
    --pin-wash: rgba(209, 217, 230, .4);
    --canvas-hi: rgba(255, 255, 255, .55);
    --canvas-lo: rgba(163, 177, 198, .38);
                                                 
                                                   
                                         
                            
    --neu-float-bg: var(--neu-bg);
}

                                                               
                                    
                                                               
                                                                   
                                                 
                                                        
                                        
                                     
                                            
                                                                  
:root[data-theme="dark"] {
    color-scheme: dark;
    --primary: #C89E6E;
    --primary-2: #E2C29B;
    --text-1: #F2F2F2;
    --text-2: #C9C9C9;
    --text-3: #999999;
    --text-muted: #6E6E6E;
    --border: #3A3A3A;
    --border-soft: #303030;
    --neu-bg: #1A1A1A;
    --neu-inset: #131313;
    --neu-sh-dark: rgba(0, 0, 0, .55);
    --neu-sh-light: rgba(255, 255, 255, .07);
    --neu-raise: 9px 9px 18px var(--neu-sh-dark), -9px -9px 18px var(--neu-sh-light);
    --neu-raise-sm: 5px 5px 10px var(--neu-sh-dark), -5px -5px 10px var(--neu-sh-light);
    --neu-raise-xs: 3px 3px 7px var(--neu-sh-dark), -3px -3px 7px var(--neu-sh-light);
    --neu-press: inset 5px 5px 12px var(--neu-sh-dark), inset -5px -5px 12px var(--neu-sh-light);
    --neu-press-sm: inset 3px 3px 6px var(--neu-sh-dark), inset -3px -3px 6px var(--neu-sh-light);
    --neu-press-xs: inset 2px 2px 4px var(--neu-sh-dark), inset -2px -2px 4px var(--neu-sh-light);
    --neu-pop-shadow: 0 8px 24px rgba(0, 0, 0, .55), 0 2px 6px rgba(0, 0, 0, .4);
    --neu-accent-grad: var(--neu-bg);
    --neu-overlay-bg: var(--neu-bg);
    --neu-mask: rgba(0, 0, 0, .55);
    --neu-line: 1px solid rgba(255, 255, 255, .12);
    --neu-float-bg: var(--neu-bg);
    --danger: #F0715F;
    --danger-tint: rgba(240, 113, 95, .16);
    --ok: #6FBF8E;
    --ok-tint: rgba(111, 191, 142, .3);
    --primary-tint: rgba(200, 158, 110, .16);
    --tint-soak: rgba(200, 158, 110, .32);
    --tint-edge: rgba(200, 158, 110, .55);
    --tint-focus: rgba(200, 158, 110, .5);
    --hairline: rgba(255, 255, 255, .12);
    --stripe: rgba(255, 255, 255, .06);
    --pin-wash: rgba(255, 255, 255, .07);
    --canvas-hi: rgba(255, 255, 255, .05);
    --canvas-lo: rgba(0, 0, 0, .4);
}

                                                               
                                      
                                                               
            
                                                    
                                                               
                                                      

      
                                                      
                                                      
                                              
                      
                        
                                                       
                                  
                                                                  

                        
                                      
                                                                                 
                                            
.pv-overlay:not(.pv-float) { background: var(--neu-overlay-bg) !important; }

                                                    
                                                       
                                            
                                                     
                                                   
                                                  
.pv-head, .pv-scroll, .pv-body, .panel-scope,
.gct, .gfp, .giv, .skv-body,
.msg-friend-wrap, .msg-friend-list {
    background: transparent !important;
}

                                           
.pv-head { border-bottom: var(--neu-line) !important; }

                    
                                         

                         
                                                       
                                        
.item-menu-popup,
.gfp-admin-popup {
    background: var(--neu-bg) !important;
    border: none !important;
    border-radius: var(--neu-radius-sub) !important;
                                       
    box-shadow: var(--neu-pop-shadow) !important;
    padding: 8px !important;
    min-width: 120px !important;
}
.item-admin-actions { gap: 6px; padding: 0 !important; display: flex; flex-direction: column; }

           
.item-admin-actions button,
.gfp-admin-popup button {
    background: var(--neu-bg) !important;
    color: var(--text-1) !important;
    border: none !important;
    border-radius: 10px !important;
    box-shadow: var(--neu-raise-xs) !important;
    font-weight: 600 !important;
    text-align: center !important;
    padding: 10px 14px !important;
    transition: box-shadow .15s ease;
}
.item-admin-actions button:hover,
.gfp-admin-popup button:hover { background: var(--neu-bg) !important; }
.item-admin-actions button:active,
.gfp-admin-popup button:active { box-shadow: var(--neu-press-xs) !important; }
.item-admin-actions button.btn-danger,
.gfp-admin-popup button.danger { color: var(--danger) !important; }

                                                               
                                   
                                                               
                                                        
                                    
                                        
                                                                  

                               
                                                          
                                                               
                                             
.card,
.gfp-head,
.set-card {
    background: var(--neu-bg) !important;
    border: none !important;
    border-radius: var(--neu-radius-card) !important;
    box-shadow: var(--neu-raise) !important;
}

                                
                                               
                                                    
                                              
                                           

                                        
                                                                   
.link-btn,
.community-publish-btn,
.msg-add-btn,
.auth-card button,
.auth-fallback a {
    background: var(--neu-accent-grad) !important;
    color: var(--text-1) !important;
    border: none !important;
    border-radius: var(--neu-radius-sub) !important;
    box-shadow: 4px 4px 10px var(--neu-sh-dark), -4px -4px 10px var(--neu-sh-light);
    font-weight: 700;
    transition: filter .18s ease, box-shadow .18s ease, transform .18s ease;
}
.link-btn:hover,
.community-publish-btn:hover,
.msg-add-btn:hover,
.auth-card button:hover,
.auth-fallback a:hover {
    background: var(--neu-accent-grad) !important;
    filter: brightness(1.07);
}
.link-btn:active,
.community-publish-btn:active,
.msg-add-btn:active,
.auth-card button:active,
.auth-fallback a:active {
    transform: scale(.97);
    box-shadow: var(--neu-press-sm);
}

                                            
                            
.neu-btn {
    background: var(--neu-bg) !important;
    color: var(--text-1) !important;
    border: none !important;
    border-radius: 10px !important;
    box-shadow: var(--neu-raise-xs) !important;
    font-weight: 600;
    transition: box-shadow .15s ease;
}
.neu-btn:active { box-shadow: var(--neu-press-xs) !important; }

                      
                                           
                                                
input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not(.cib-input),
select,
textarea {
    background: var(--neu-inset) !important;
    border: none !important;
    border-radius: var(--neu-radius-sub) !important;
    box-shadow: var(--neu-press-sm) !important;
    color: var(--text-1);
    caret-color: var(--primary);
    transition: box-shadow .18s ease;
}
input:not([type="checkbox"]):not([type="radio"]):focus,
select:focus,
textarea:focus {
    outline: none;
    box-shadow: var(--neu-press), 0 0 0 2.5px var(--tint-focus) !important;
}
input::placeholder, textarea::placeholder { color: var(--text-muted); }
select { appearance: none; -webkit-appearance: none; }

                        
                                         
                                                           
                                                
                                                    
                                                   
                                            
                                                 
.ps-input,
.msg-friend-search-input,
.wlw-search-input,
.pxv-search input {
    padding: 0 14px !important;
    font-size: 16px !important;
}
.ps-input::placeholder,
.msg-friend-search-input::placeholder,
.wlw-search-input::placeholder,
.pxv-search input::placeholder { color: var(--text-3) !important; }

                                                            
.giv-chip {
    background: transparent !important;
    color: var(--text-2) !important;
    box-shadow: var(--neu-raise-xs) !important;
    font-weight: 600 !important;
}
.giv-chip.giv-script-link { color: var(--primary) !important; }
.giv-chip.giv-script-link:active { color: var(--primary-2) !important; }
.item-card .giv-chip { box-shadow: 2px 2px 5px var(--neu-sh-dark), -2px -2px 5px var(--neu-sh-light) !important; }

                                                               
          
                                                                  

                                                         
                                                            
                                                            
                                                       
                                               
body {
    background:
        radial-gradient(1100px 560px at 15% -8%, var(--canvas-hi), transparent 62%),
        radial-gradient(900px 520px at 108% 108%, var(--canvas-lo), transparent 60%),
        var(--neu-bg) !important;
    color: var(--text-1) !important;
}

                      
a { color: var(--primary); }
a:hover { color: var(--primary-2); }

                     
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb {
    background: var(--neu-inset);
    border-radius: var(--neu-radius-pill);
    box-shadow: var(--neu-press-xs);
}

                                      
:focus-visible {
    outline: 3px solid var(--primary);
    outline-offset: 2px;
    border-radius: 8px;
}

                                                               
                    
                                                                  

                                                 
.card { padding: 16px 14px; }

                                                             
                        
.app-shell .app-view-my .card { padding: 16px 14px; }
.app-shell .app-view-my .empty { color: var(--text-3); }

                               
h1 {
    text-align: center;
    color: var(--text-1);
    font-weight: 800;
    letter-spacing: -0.01em;
}

                                  

                        
.fav-delete-x { border-radius: 12px; }

                                                               
                    
                                                                  

                
h2 { color: var(--text-1); font-weight: 700; }
h2 .count, .acc-title, .fav-title-text { color: var(--text-2); }
.empty, .login-tip { color: var(--text-3); }
.login-tip a { color: var(--primary); }

                  
.acc-title, .fav-title {
    font-weight: 700;
    letter-spacing: .02em;
}

                                    
                               
.acc-cover,
.fav-cover {
    background: var(--neu-bg) !important;
    border-radius: 18px !important;
    box-shadow: var(--neu-raise-sm);
    border: none;
    transition: box-shadow .18s ease, transform .18s ease;
    overflow: hidden;
}
.acc-cover:active,
.fav-cover:active {
    transform: scale(.95);
    box-shadow: var(--neu-press-sm);
}
.fav-icon.fav-dragging .fav-cover {
    box-shadow: var(--neu-raise);
    transform: scale(1.04);
}


         
.acc-name, .fav-name { color: var(--text-2); font-weight: 600; }

            
.fav-edit-btn {
    background: var(--neu-bg);
    color: var(--primary);
    border: none;
    border-radius: 12px;
    box-shadow: var(--neu-raise-xs);
    font-weight: 700;
    padding: 4px 14px;
    min-height: 34px;
}
.fav-edit-btn:hover { color: var(--primary-2); }
.fav-edit-btn:active { box-shadow: var(--neu-press-xs); background: var(--neu-inset); }

                     
.logout-bar {
    background: var(--neu-bg) !important;
    border-radius: var(--neu-radius-sub);
    box-shadow: var(--neu-press-sm);
    border: none;
    font-weight: 700;
}
.logout-bar:hover { background: var(--neu-bg); filter: none; }
.logout-bar:active { box-shadow: var(--neu-press); }

                       
.fav-icon.skeleton .sk-cover,
.fav-icon.skeleton .sk-line {
    background: var(--neu-inset);
    border-radius: 14px;
    box-shadow: var(--neu-press-xs);
    animation: neuBreath 1.6s ease-in-out infinite;
}
@keyframes neuBreath {
    0%, 100% { opacity: .55; }
    50% { opacity: 1; }
}

                   
.fav-delete-x {
    box-shadow: var(--neu-raise-xs);
    border: 2px solid var(--neu-bg);
}

                                
.settings-window { background: transparent; }
                                  
                        
.set-card-ico {
    background: var(--neu-inset) !important;
    border: none;
    box-shadow: var(--neu-press-xs);
}
.emoji-picker-cell {
    background: var(--neu-bg);
    border-radius: 10px;
    box-shadow: var(--neu-raise-xs);
}
.emoji-picker-cell:hover { background: var(--neu-bg); filter: none; }
.emoji-picker-cell:active { box-shadow: var(--neu-press-xs); }

                                                            
                                                 
.mcpm-form-row label { color: var(--text-2); }

                          
.mcpx-tree, .mcpx-detail, .pxv-search input {
    background: var(--neu-inset) !important;
    border: none !important;
    box-shadow: var(--neu-press-sm) !important;
    border-radius: var(--neu-radius-sub) !important;
}
.mcpx-branch:hover { background: var(--primary-tint); }
.mcpx-children { border-left: 1.5px solid var(--hairline); }

                                                
                                          
                                
                                                          
                         
.wlw-grid { padding: 12px !important; }
.wlw-grid .lf-status-section {
    width: 100%;
    box-sizing: border-box;
    margin: 0 auto;
    padding: 20px 16px;
    background: var(--neu-inset);
    border-radius: var(--neu-radius-sub);
    box-shadow: var(--neu-press-sm);
    color: var(--text-3);
    text-align: center;
}

                                                               
                                                           
                                                                  

                                               
                                          
                             
                                                      
.items-grid {
    background: transparent !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    padding: 10px 0 !important;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
                                                      
                                     
.items-grid .item-card:first-child { border-radius: var(--neu-radius-sub) !important; }

                                       
                                            
                                          
                                                     
                                                  
                                      
                                              
                                              
                                                          
.items-grid .item-card,
.msg-list-wrap .item-card {
    box-shadow: var(--neu-raise-xs) !important;
}
                                       
                                    
.items-grid .item-card:active,
.msg-list-wrap .item-card:active {
    box-shadow: var(--neu-press-sm) !important;
}

                                                              
                                                   
                       
.items-grid .inf-scroll-end,
.msg-list-wrap .inf-scroll-end {
    background: transparent !important;
    box-shadow: none !important;
    color: var(--text-muted) !important;
    padding: 16px 0 8px !important;
}

                    
.item-cover-wrap {
    border: none;
    border-radius: 14px;
    box-shadow: var(--neu-raise-xs);
    background: var(--neu-bg);
}
.item-cover-wrap img { border-radius: 14px; }
.item-cover-wrap.no-image-placeholder {
    background: var(--neu-inset);
    box-shadow: var(--neu-press-xs);
    border: none;
}

               
.item-name { color: var(--text-1); font-weight: 700; }
.item-card-footer { color: var(--text-3); }

                                                         
.card-badge { border-radius: var(--neu-radius-pill); }
.card-badge-pending { background: color-mix(in srgb, var(--primary) 30%, transparent); }

                                                              
.ps-panel {
    background: transparent !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    border: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
}
                                             
.ps-cancel {
    flex: none;
    height: 36px !important;
    padding: 0 12px !important;
    border: none !important;
    border-radius: 10px !important;
    background: var(--neu-bg) !important;
    box-shadow: var(--neu-raise-xs) !important;
    color: var(--text-1) !important;
}
.ps-cancel:active { box-shadow: var(--neu-press-xs) !important; color: var(--text-2) !important; }

                 
.community-publish-btn {
    background: var(--neu-accent-grad) !important;
    color: #fff !important;
    border: none !important;
    border-radius: var(--neu-radius-sub) !important;
    box-shadow: 4px 4px 10px var(--neu-sh-dark), -4px -4px 10px var(--neu-sh-light) !important;
    font-weight: 700;
}
.community-publish-btn:hover { background: var(--neu-accent-grad) !important; filter: brightness(1.07); }
.community-publish-btn:active { transform: scale(.97); }
                                             
.community-publish-btn,
.community-publish-btn *,
.community-publish-btn svg,
.community-publish-btn svg * {
    color: var(--text-1) !important;
    fill: var(--text-1) !important;
}

                                                      
                                                                        
.community-search-btn {
    background: var(--neu-accent-grad) !important;
    color: var(--text-1) !important;
    border: none;
    border-radius: 12px;
    box-shadow: 4px 4px 10px var(--neu-sh-dark), -4px -4px 10px var(--neu-sh-light) !important;
}
.community-search-btn:active { box-shadow: var(--neu-press-xs); }
.community-search-btn svg,
.community-search-btn svg * {
    fill: none !important;
    stroke: var(--text-1) !important;
}
.community-search-btn:hover { filter: brightness(1.07); }

                                             
.community-feed-nav { background: transparent !important; }
.community-feed-option {
    background: var(--neu-bg) !important;
    color: var(--text-2) !important;
    border: none !important;
    border-radius: var(--neu-radius-pill) !important;
    box-shadow: var(--neu-raise-xs) !important;
    font-weight: 600 !important;
    transition: box-shadow .16s ease, color .16s ease;
}
.community-feed-option:hover { background: var(--neu-bg) !important; }
.community-feed-option.is-active {
    background: var(--neu-inset) !important;
    color: var(--primary) !important;
    box-shadow: var(--neu-press-xs) !important;
    font-weight: 700 !important;
}

                                                
.community-zone-menu {
    background: var(--neu-bg) !important;
    border: none !important;
    border-radius: var(--neu-radius-sub) !important;
    box-shadow: var(--neu-pop-shadow) !important;
    padding: 8px !important;
    gap: 6px !important;
}
                      
.community-zone-option {
    background: var(--neu-bg) !important;
    color: var(--text-1) !important;
    border: none !important;
    border-radius: 12px !important;
    box-shadow: var(--neu-raise-xs) !important;
    font-weight: 600 !important;
    text-align: center !important;
    transition: box-shadow .15s ease;
}
.community-zone-option:hover { background: var(--neu-bg) !important; }
.community-zone-option:active { box-shadow: var(--neu-press-xs) !important; }
.community-zone-option.is-current {
    background: var(--neu-inset) !important;
    color: var(--primary) !important;
    box-shadow: var(--neu-press-xs) !important;
    font-weight: 700 !important;
}

                                                               
                        
                                                                  

                                                     
.msg-header h1 { color: var(--text-1); font-weight: 800; }

                                              
                                        
.msg-list-wrap {
    background: transparent !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    padding: 10px 12px !important;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
                                                   
                                                          
                                                            
                                           
                                             

                       

            
.conv-avatar {
    border-radius: 16px;
    box-shadow: var(--neu-raise-xs);
}

            
.msg-action-btn {
    background: var(--neu-bg);
    border: none;
    border-radius: 12px;
    box-shadow: var(--neu-raise-xs);
    color: var(--text-2);
    font-weight: 600;
}
                                                                 
                                                               
.msg-action-btn:active { box-shadow: var(--neu-press-xs); }

         
.msg-empty-icon {
    color: var(--text-muted);
    background: var(--neu-inset);
    border-radius: 24px;
    box-shadow: var(--neu-press-sm);
    display: inline-grid;
    place-items: center;
}

                                                               
                     
                                                                  

.auth-card {
    background: var(--neu-bg) !important;
    border-radius: var(--neu-radius-card) !important;
    box-shadow: var(--neu-raise) !important;
    padding: 34px 28px !important;
}
.auth-card h1 { font-weight: 800; letter-spacing: -.01em; }
.auth-card label { color: var(--text-2); font-weight: 600; }
.auth-card input {
    background: var(--neu-inset);
    border: none;
    border-radius: var(--neu-radius-sub);
    box-shadow: var(--neu-press-sm);
}
.auth-card input:focus { border-color: transparent; }
.auth-card button:disabled { background: var(--neu-inset); color: var(--text-muted); filter: none; }
.auth-msg { color: var(--danger); }
.auth-captcha { color: var(--text-3); }
.auth-fallback {
    background: var(--neu-inset);
    border: none;
    border-radius: var(--neu-radius-sub);
    box-shadow: var(--neu-press-xs);
    color: var(--text-2);
}
.auth-switch { color: var(--text-3); }
.auth-switch a { color: var(--primary); font-weight: 700; }
.auth-home a { color: var(--text-muted); }

                                                               
                             
                                                                  

                   
                                                  
.ms-confirm { border-radius: var(--neu-radius-card); box-shadow: var(--neu-pop-shadow); }
.ms-confirm-actions button {
    background: var(--neu-bg);
    border: none;
    box-shadow: var(--neu-raise-xs);
    border-radius: 14px;
}
.ms-confirm-actions button.ms-confirm-ok {
    background: var(--neu-accent-grad);
    color: #fff;
    box-shadow: 4px 4px 10px var(--neu-sh-dark), -4px -4px 10px var(--neu-sh-light);
}

                   
.ms-toast {
    background: rgba(92, 64, 51, .95);
    border-radius: 14px;
    box-shadow: var(--neu-raise-sm);
}
.ms-toast.success { background: rgba(90, 161, 105, .96); }
.ms-toast.error { background: rgba(229, 62, 62, .96); }
.ms-toast.info { background: rgba(92, 64, 51, .96); }

                                              
                                                       
                                   
                                            
                                                         
                                             
.pv-head, .pc-head {
    background: var(--neu-float-bg) !important;
    border-bottom: none !important;
    box-shadow: 0 1px 0 var(--hairline),
                0 2px 10px rgba(163, 177, 198, .2) !important;
}
.pv-close { color: var(--text-2); }
.pv-close:active { background: var(--neu-inset); }

                                                
                                            

                                                               
                                   
                                                                  

                                                  
.app-view,
.app-view-community,
.app-view-messages,
.app-view-my {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}
.app-shell .app-view > .container { background: transparent; }

                                              
.app-canvas, .app-root {
    background: transparent !important;
}

                                                               
                                   
                                                               
                                         
                                            
                                              
                                     
                                              
                                             
                                                       
                                                                  

                   
.giv-img { background: var(--neu-inset); color: var(--text-muted); }
.giv-img.giv-emoji, .giv-img.pending { color: var(--text-3); }

                                     
                                                             
.giv-bact { color: var(--text-2); }
.giv-bact .giv-count { color: var(--text-muted); }

                            
.giv { color: var(--text-1); }
.giv-id-badge, .giv-ctime { color: var(--text-muted); }
.giv-ctime-btn { color: var(--primary); }
                                             
.giv-forked-from { color: var(--primary); }
.giv-forked-from:active { color: var(--primary-2); }
.giv-desc { color: var(--text-1); }
.giv-desc-placeholder { color: var(--text-muted); }

                                                 
.giv-outline-item { color: var(--text-1); }
.giv-outline-item[data-level="3"], .giv-outline-item[data-level="4"] { color: var(--text-2); }
.giv-outline-sep { background: var(--hairline); }
                                          
.giv-outline-item.cur { background: var(--neu-inset); color: var(--primary); }
.giv-outline-item.cur::before { background: var(--primary); }

                                             
.giv-mdtoc {
    background: var(--neu-inset);
    border: none;
    border-radius: var(--neu-radius-sub);
    box-shadow: var(--neu-press-sm);
}
.giv-mdtoc-title { color: var(--text-2); }
.giv-mdtoc .giv-mdtoc-item { color: var(--text-1); }

                                                      
                                                    
.skv-md { color: var(--text-1); }
.giv-desc ::selection, .skv-md ::selection { background: var(--tint-soak); }
.giv-desc h1, .giv-desc h2, .giv-desc h3, .giv-desc h4, .giv-desc h5, .giv-desc h6,
.skv-md h1, .skv-md h2, .skv-md h3, .skv-md h4, .skv-md h5, .skv-md h6 { color: var(--text-1); }
.giv-desc h3, .skv-md h3 { color: var(--primary); }
.giv-desc h5, .skv-md h5 { color: var(--text-2); }
.giv-desc h6, .skv-md h6 { color: var(--text-3); }
.giv-desc h1, .skv-md h1 {
    border-image: linear-gradient(90deg, var(--primary), var(--primary-tint)) 1;
}
.giv-desc h2::before, .skv-md h2::before {
    background: linear-gradient(180deg, var(--primary), var(--primary-2));
}
.giv-desc li::marker, .skv-md li::marker { color: var(--primary); }
.giv-desc li input[type="checkbox"], .skv-md li input[type="checkbox"] { accent-color: var(--primary); }
.giv-desc code, .skv-md code { background: var(--primary-tint); color: var(--primary-2); }
.giv-desc pre, .skv-md pre { background: var(--stripe); box-shadow: none; }
.giv-desc pre code, .skv-md pre code { color: var(--text-1); }
.giv-desc th, .giv-desc td, .skv-md th, .skv-md td { border-bottom-color: var(--hairline); }
.giv-desc th, .skv-md th { background: var(--stripe); color: var(--text-2); }
.giv-desc tbody tr:nth-child(even) td, .skv-md tbody tr:nth-child(even) td { background: var(--stripe); }
.giv-desc blockquote, .skv-md blockquote {
    background: var(--stripe);
    border-left-color: var(--tint-edge);
    color: var(--text-2);
}
.giv-desc a, .skv-md a { color: var(--primary); border-bottom-color: var(--tint-edge); }
.giv-desc a:hover, .skv-md a:hover { color: var(--primary-2); border-bottom-color: var(--primary-2); }
.giv-desc hr, .skv-md hr {
    background: linear-gradient(90deg, transparent, var(--hairline) 20%,
                var(--hairline) 80%, transparent);
}
.giv-desc kbd, .skv-md kbd {
    background: var(--neu-inset);
    border-color: var(--hairline);
    color: var(--primary);
}
.giv-desc strong, .skv-md strong { color: var(--text-1); }
.giv-desc del, .skv-md del { color: var(--text-3); }

                                                  
.giv-panel-empty { color: var(--text-muted); }
.giv-panel-title { color: var(--text-2); }
                      
.giv-entry {
    background: var(--neu-bg);
    border: none;
    border-radius: 10px;
    box-shadow: var(--neu-raise-xs);
}
.giv-entry.clickable-card:active { background: var(--neu-inset); box-shadow: var(--neu-press-xs); }
.giv-entry-menu-trigger:hover { background: var(--neu-inset); color: var(--primary); }
.giv-entry-menu-item { color: var(--text-1); }
                                      
.giv-entry-menu-popup {
    background: var(--neu-bg);
    border: none;
    border-radius: var(--neu-radius-sub);
    box-shadow: var(--neu-pop-shadow);
}
                                           
                               
.giv-vcard {
    background: var(--neu-bg);
    border: none;
    border-radius: 12px;
    box-shadow: var(--neu-raise-xs);
}
.giv-vcard.clickable-card:active { background: var(--neu-inset); }
.giv-vlist .giv-vcard { border-top-color: var(--hairline); box-shadow: none; }
.giv-vcard-avatar { background: var(--neu-inset); }
.giv-vbadge { color: var(--primary); }
.giv-vcard-title { color: var(--text-1); }
.giv-vcard-title.none, .giv-vcard-time, .giv-vcard-detail.none { color: var(--text-muted); }
.giv-vcard-detail { color: var(--text-3); }

                                          
.giv-clist .comment-time { color: var(--text-muted); }
.giv-clist .comment-time a, .giv-clist .comment-reply, .giv-clist .comment-toggle { color: var(--primary); }
                                     
.giv-clist .comment-reply-item { background: var(--neu-inset); border-radius: 10px; }
.giv-clist .comment-reply-to { background: var(--primary-tint); color: var(--primary); }
                                                             
                                                   
.giv-compose-guest { color: var(--text-3); }

                                             
.giv-cprev {
    background: var(--neu-bg);
    border: none;
    border-radius: var(--neu-radius-sub);
    box-shadow: var(--neu-raise-xs);
}
.giv-cprev-more { color: var(--primary); }
                                                            
                                                        

                                                               
                 
                                                                  

                             
.avatar { background: var(--neu-inset); color: var(--primary); }

         
.loading, .spinner { color: var(--primary); }

          
::selection { background: var(--tint-soak); }

                                                               
                                                          
                                                                  

                                             
.gct {
    color: var(--text-1) !important;
}

             
.gct-msgs { padding: 16px 14px 22px !important; }

                                       
                               
.gct-msg.user .gct-bubble {
    background: var(--neu-bg) !important;
    color: var(--text-1) !important;
    border-radius: 20px 20px 7px 20px !important;
    box-shadow: 5px 5px 11px var(--neu-sh-dark), -5px -5px 11px var(--neu-sh-light) !important;
}

          
.gct-msg.peer .gct-bubble {
    background: var(--neu-bg) !important;
    color: var(--text-1) !important;
    border-radius: 20px 20px 20px 7px !important;
    box-shadow: 5px 5px 11px var(--neu-sh-dark), -5px -5px 11px var(--neu-sh-light) !important;
}

          
.gct-bubble.error {
    background: var(--danger-tint) !important;
    color: var(--danger) !important;
    box-shadow: var(--neu-raise-xs) !important;
}

                                          
.gct-md code {
    background: var(--primary-tint) !important;
    color: var(--primary-2) !important;
}
.gct-md pre { background: var(--stripe) !important; border-radius: 12px !important; }
.gct-md a { color: var(--primary) !important; }
.gct-md blockquote { border-left-color: var(--tint-edge) !important; }
.gct-md mark { background: #FFE9A8 !important; }
.gct-md th, .gct-md td { border-color: var(--hairline) !important; }
.gct-md th { background: var(--stripe) !important; }
.gct-md hr { border-top-color: var(--hairline) !important; }
                                                
                                    
.gct-md video.md-video { max-width: 100%; border-radius: 12px !important; background: #000; }
.gct-md audio.md-audio { width: 100%; height: 40px; }

                       
.gct-time-divider .gct-time-text {
    background: var(--neu-inset) !important;
    color: var(--text-3) !important;
    border-radius: var(--neu-radius-pill) !important;
    box-shadow: var(--neu-press-xs) !important;
}

         
.gct-welcome { color: var(--text-3) !important; }

                                            
                               
.pv-overlay.pv-float .pv-scroll {
    border: none !important;
    border-radius: 22px !important;
    background: var(--neu-bg) !important;
    box-shadow: var(--neu-pop-shadow) !important;
}

                                                               
                                                   
                                                                  

.cib {
    background: var(--neu-bg) !important;
    border-top: none !important;
    box-shadow: -1px -1px 2px var(--neu-sh-light) inset, 10px 10px 24px var(--neu-sh-dark);
}

                    
.cib-input {
    background: var(--neu-inset) !important;
    border: none !important;
    border-radius: 18px !important;
    box-shadow: var(--neu-press-sm) !important;
    color: var(--text-1) !important;
    caret-color: var(--primary) !important;
}
.cib-input:focus { box-shadow: var(--neu-press), 0 0 0 2.5px var(--tint-focus) !important; }

                                                       
                           
.msg-friend-search {
    background: transparent !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
}
.msg-friend-search-icon { display: none !important; }

                
.cib-plus {
    background: var(--neu-bg) !important;
    border: none !important;
    border-radius: 15px !important;
    box-shadow: var(--neu-raise-xs) !important;
    color: var(--primary) !important;
    font-weight: 700 !important;
}
.cib-plus:active { box-shadow: var(--neu-press-xs) !important; }


.cib-guest { color: var(--text-3) !important; }

                                                               
                                                    
                                                                  

.gfp {
    background: transparent !important;
    color: var(--text-1) !important;
}

                                        
.gfp-head {
    padding: 18px 16px !important;
}

.gfp-name { color: var(--text-1) !important; font-weight: 800 !important; }
.gfp-name.editable:hover, .gfp-name.editable:focus { background: var(--primary-tint) !important; color: var(--primary-2) !important; }
.gfp-name-real, .gfp-uname, .gfp-since, .gfp-views { color: var(--text-3) !important; }

             
.gfp-name-edit {
    background: var(--neu-inset) !important;
    border: none !important;
    border-radius: 10px !important;
    box-shadow: var(--neu-press-xs) !important;
    color: var(--text-1) !important;
}
.gfp-name-edit:focus { box-shadow: var(--neu-press-xs), 0 0 0 2.5px var(--tint-focus) !important; }

                     
.gfp-tag-role {
    background: var(--neu-bg) !important;
    color: var(--text-2) !important;
    box-shadow: var(--neu-raise-xs) !important;
    font-weight: 700 !important;
}
.gfp-tag-role.is-admin {
    background: var(--neu-accent-grad) !important;
    color: #fff !important;
    box-shadow: 4px 4px 10px var(--neu-sh-dark), -4px -4px 10px var(--neu-sh-light) !important;
}

                                          
.gfp-actions .gfp-btn { border-radius: 15px !important; }
.gfp-chat-btn {
    background: var(--neu-accent-grad) !important;
    color: var(--text-1) !important;
    box-shadow: 4px 4px 10px var(--neu-sh-dark), -4px -4px 10px var(--neu-sh-light) !important;
}
.gfp-chat-btn:active { background: var(--neu-accent-grad) !important; filter: brightness(.92) !important; }
.gfp-friend-btn {
    background: var(--neu-bg) !important;
    color: var(--primary) !important;
    border: none !important;
    box-shadow: var(--neu-raise-xs) !important;
    font-weight: 700 !important;
}
.gfp-friend-btn:active { box-shadow: var(--neu-press-xs) !important; }
.gfp-friend-btn.added { background: var(--neu-bg) !important; color: var(--danger) !important; }
                                            
.gfp-friend-btn.pending {
    background: var(--neu-inset) !important;
    color: var(--text-1) !important;
    box-shadow: var(--neu-press-xs) !important;
}
.gfp-friend-btn.incoming { background: var(--neu-inset) !important; color: var(--text-muted) !important; box-shadow: var(--neu-press-xs) !important; }
.gfp-friend-btn.blocked, .gfp-friend-btn.blocked-by-me { background: var(--neu-bg) !important; color: var(--danger) !important; }
.gfp-actions .gfp-admin-wrap .gfp-btn {
    background: var(--neu-bg) !important;
    color: var(--text-2) !important;
    border: none !important;
    box-shadow: var(--neu-raise-xs) !important;
}

                                                                     

             
.gfp-section { color: var(--text-1) !important; font-weight: 700 !important; }
.gfp-section .gfp-count { color: var(--text-muted) !important; }
                                                       

                                 
.gfp .items-grid { margin-top: 4px; }

                                                               
                              
                                                                  

                                    
.item-card .item-info,
.item-card .item-info-top,
.item-card .item-tags,
.item-card .item-card-footer {
    background: transparent !important;
}

                                                               
                                                 
                                                                  

.conv-name { color: var(--text-1) !important; font-weight: 700 !important; }
.conv-preview, .conv-preview-empty { color: var(--text-3) !important; }
.conv-time { color: var(--text-muted) !important; }

                      
.conv-unread {
    background: var(--neu-accent-grad) !important;
    color: #fff !important;
    border-radius: var(--neu-radius-pill) !important;
    box-shadow: 2px 2px 5px var(--neu-sh-dark), -2px -2px 5px var(--neu-sh-light) !important;
    font-weight: 700 !important;
}

                            
.conv-card-pinned { background: var(--pin-wash) !important; }

                      
.conv-agent-dot[data-state="online"] { box-shadow: 0 0 0 2px var(--ok-tint) !important; }

                                                               
                                    
                                                               
                                             
                                  
                                                  
                                             
                                     
                  
                                                                  

                                        
                                                     
.bottom-tab-bar {
    bottom: calc(8px + env(safe-area-inset-bottom, 0px)) !important;
    width: calc(100% - 24px) !important;
    padding-bottom: 0 !important;
    height: var(--tab-h) !important;
    border-radius: 24px !important;
    background: var(--neu-float-bg) !important;
    box-shadow: 0 -1px 0 var(--hairline) !important;
}
.bottom-tab-bar .tab { color: var(--text-3); font-weight: 500; }
                              
.bottom-tab-bar .tab.active { color: var(--text-2); font-weight: 500; }

                                
                                          
                             
.msg-header,
.community-feed-nav {
    background: var(--neu-float-bg) !important;
    border-bottom: none !important;
    box-shadow: 0 1px 0 var(--hairline) !important;
}
                                                               
                      
                                                               
                                            
                                                       
                                                         
                                                 
                              
                                             
                                                                  
                                               
                                           
.app-canvas, .app-root {
    padding-bottom: 0 !important;
}
                                                     
.app-shell .app-view-my {
    overflow: hidden !important;
    padding: 0 !important;
}
                                                      
                                 
.app-shell .app-view-messages {
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    padding: 0 !important;
}
                                                     
.app-shell .app-view-my > .container {
    padding: 12px 10px !important;
    height: 100% !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    box-sizing: border-box;
}
                                 
.app-shell .app-view-my > .container::after,
.app-shell .app-view-messages::after,
.app-shell .community-feed-slide::after {
    content: '' !important;
    display: block !important;
    height: calc(var(--tab-h) + 20px + env(safe-area-inset-bottom, 0px)) !important;
    background: transparent !important;
    box-shadow: none !important;
    border: none !important;
    pointer-events: none !important;
}
                                                
                         

                                                               
                                    
                               
                                                                  

                                                               
                                       
                                                                  

.qe-emoji {
    background: var(--neu-bg) !important;
    border-radius: 18px !important;
    box-shadow: var(--neu-raise-sm) !important;
    border: none !important;
}
.qe-item:hover .qe-emoji { background: var(--neu-bg) !important; }
.qe-item:active .qe-emoji { box-shadow: var(--neu-press-sm) !important; }

                                                               
                                               
                                             
                                                                  

                                     
                                                  
                                     
.add-friend-form .cancel-btn {
    background: var(--neu-bg);
    box-shadow: var(--neu-raise-xs);
}
.add-friend-form .cancel-btn:active { background: var(--neu-inset); box-shadow: var(--neu-press-xs); }
.add-friend-form .submit-btn:active { background: var(--primary-2); }
.add-friend-form .submit-btn.danger {
    background: var(--neu-bg);
    border: none;
    color: var(--danger);
    box-shadow: var(--neu-raise-xs);
}
.add-friend-form .submit-btn.danger:active { background: var(--neu-inset); box-shadow: var(--neu-press-xs); }

                                 
.sf-list {
    background: var(--neu-bg);
    border: none;
    box-shadow: var(--neu-raise-xs);
}
.sf-row:not(:last-child) { border-bottom-color: var(--hairline); }
.sf-row:active { background: var(--neu-inset); }
.sf-cancel {
    background: var(--neu-bg);
    box-shadow: var(--neu-raise-xs);
}
.sf-cancel:active { background: var(--neu-inset); box-shadow: var(--neu-press-xs); }
.sf-submit:active { background: var(--primary-2); }

                                               
                                            
.msg-friend-group-head {
    background: var(--neu-inset);
    border-top-color: var(--hairline);
}
.msg-friend-item { background: transparent; border-bottom-color: var(--hairline); }
.msg-friend-item:hover { background: var(--primary-tint); }
.msg-friend-item:active { background: var(--neu-inset); }
.msg-friend-index {
    background: var(--neu-bg);
    box-shadow: var(--neu-raise-xs);
}

                   
@media (prefers-reduced-motion: reduce) {
    .card, .acc-cover, .fav-cover, .item-card, .community-feed-option,
    .msg-action-btn, .link-btn, .gct-bubble, .cib-input {
        transition: none !important;
    }
}
                                                               
                             
                                                               
                                         
                                        
                                    
             
                                                                  
                                           
:root[data-theme="dark"] .gct-md mark,
:root[data-theme="dark"] .giv-desc mark,
:root[data-theme="dark"] .skv-md mark,
:root[data-theme="dark"] mark {
    background: rgba(255, 233, 168, .22) !important;
    color: var(--text-1) !important;
}
                                            
                                            
:root[data-theme="dark"] .panel-scope .role-chip {
    background: rgba(90, 103, 216, .16);
    color: #a8b2f2;
    border-color: rgba(90, 103, 216, .38);
}
:root[data-theme="dark"] .panel-scope .role-chip-more,
:root[data-theme="dark"] .panel-scope .role-chip-locked,
:root[data-theme="dark"] .panel-scope .badge-locked {
    background: rgba(255, 255, 255, .07);
    border-color: rgba(255, 255, 255, .16);
}
:root[data-theme="dark"] .panel-scope .badge-locked { color: var(--text-3); }
