@charset "utf-8";

:root{
  --zinc-50:#fafafa;  --zinc-100:#f4f4f5; --zinc-200:#e4e4e7; --zinc-300:#d4d4d8;
  --zinc-400:#a1a1aa; --zinc-500:#71717a; --zinc-600:#52525b; --zinc-700:#3f3f46;
  --zinc-800:#27272a; --zinc-900:#18181b; --zinc-950:#09090b;
}

:root{
  
  --bg:#fafafa;               
  --surface:#ffffff;          
  --surface-2:#f4f4f5;        
  --surface-3:#fafafa;        
  --surface-hover:#ebebec;    
  --surface-active:#fafafa;   /* 选中/激活高光底（App 底导航 tile、tonal 钮、reco 徽标；夜间=白10%） */
  
  --border:#e4e4e7;           
  --border-strong:#d4d4d8;    
  
  --text:#09090b;             
  --text-body:#3f3f46;        
  --text-2:#71717a;           
  --text-3:#71717a;   /* 20261108 对比度回灌：浅色态 ≥4.5:1（原 zinc-400） */
  --text-read:#d4d4d8;             
  
  --primary:#18181b;          
  --primary-hover:#27272a;    
  --on-primary:#ffffff;
  
  --link:#09090b;
  --link-hover:#52525b;
  --link-ext:#2563eb;        
  --link-ext-hover:#1d4ed8;       
  
  --success:#10b981;                
  --success-text:#059669;           
  --tint-ok:rgba(16,185,129,.12);       
  --tint-ok-strong:rgba(16,185,129,.24);
  --warning:#f59e0b;                
  --warning-text:#b45309;
  --warning-bg:#fffbeb;
  --danger:#dc2626;
  --danger-hover:#b91c1c;
  --danger-text:#dc2626;
  --danger-bg:rgba(220,38,38,.08);  
  --vip:#b45309;
  
  --ring:#e4e4e7;
  --ring-strong:#d4d4d8;
  --shadow-ring:0 0 0 1px var(--ring);
  --shadow-ring-sm:0 0 0 1px var(--ring),0 1px 2px rgba(0,0,0,.04);
  --shadow-ring-strong:0 0 0 1px var(--ring-strong),0 1px 2px rgba(0,0,0,.04);
  --shadow-ring-lg:0 0 0 1px var(--ring),0 8px 30px rgba(0,0,0,.08);
  --shadow-ring-pop:0 0 0 1.5px var(--primary),0 1px 2px rgba(0,0,0,.04);
  --shadow-pop:0 0 0 1px var(--border),0 8px 30px rgba(0,0,0,.08); 
  
  --focus-ring:#71717a;
  --focus-halo:rgba(24,24,27,.08);
  
  --radius-lg:12px;           
  --radius:8px;               
  --radius-sm:6px;            
  --radius-pill:999px;        
  
  --sp-1:4px; --sp-2:8px; --sp-3:12px; --sp-4:16px;
  --sp-5:20px; --sp-6:24px; --sp-7:32px; --sp-8:40px;

  --tint-newest:rgba(20,163,239,.06);   
  --tint-newer:#f9f9fa;                 
  --fs-12:calc(.75rem*var(--fscale,1)); --fs-13:calc(.8125rem*var(--fscale,1)); --fs-14:calc(.875rem*var(--fscale,1)); --fs-15:calc(.9375rem*var(--fscale,1));
  --fs-16:calc(1rem*var(--fscale,1)); --fs-18:calc(1.125rem*var(--fscale,1)); --fs-22:calc(1.375rem*var(--fscale,1)); --fs-28:calc(1.75rem*var(--fscale,1));
  
  --fw-400:400; --fw-500:500; --fw-600:600; --fw-700:700;
  
  --dur-fast:.15s; --dur:.2s; --ease:cubic-bezier(.4,0,.2,1);
  
  --font:-apple-system,BlinkMacSystemFont,"PingFang SC","MiSans",
    "HarmonyOS Sans SC","Microsoft YaHei","Segoe UI",Roboto,sans-serif;
  
  --container:1280px;         
  --header-total:60px;        
  --header-h:56px;            
  color-scheme:light;
}

html.night{
  
  --bg:#18181b;
  --surface:#1f1f23;
  --surface-2:#27272a;
  --surface-3:#232327;
  --surface-hover:#3f3f46;
  --surface-active:rgba(250,250,250,.10);
  --border:#2e2e33;
  --border-strong:#3f3f46;
  --text:#fafafa;
  --text-body:#d4d4d8;        
  --text-2:#a1a1aa;
  --text-3:#a1a1aa;   /* 20261108 对比度回灌：夜态对深底更清晰（原 zinc-500） */
  --text-read:#52525b;             
  --primary:#fafafa;
  --primary-hover:#e4e4e7;
  --on-primary:#18181b;
  --link:#fafafa;
  --link-hover:#a1a1aa;
  --link-ext:#60a5fa;        
  --link-ext-hover:#93c5fd;       
  --success:#34d399;
  --success-text:#34d399;
  --tint-ok:rgba(52,211,153,.16);
  --tint-ok-strong:rgba(52,211,153,.30);
  --warning:#fbbf24;
  --warning-text:#fbbf24;
  --warning-bg:rgba(251,191,36,.12);
  --danger:#ff7076;
  --danger-hover:#ff7076;     
  --danger-text:#ff7076;
  --danger-bg:rgba(255,112,118,.14);
  --vip:#fbbf24;              
  --ring:#2e2e33;
  --ring-strong:#3f3f46;
  --shadow-ring:0 0 0 1px var(--ring);
  --shadow-ring-sm:0 0 0 1px var(--ring),0 1px 2px rgba(0,0,0,.16);
  --shadow-ring-strong:0 0 0 1px var(--ring-strong),0 1px 2px rgba(0,0,0,.16);
  --shadow-ring-lg:0 0 0 1px var(--ring),0 8px 30px rgba(0,0,0,.5);
  --shadow-ring-pop:0 0 0 1.5px var(--primary),0 1px 2px rgba(0,0,0,.16);
  --shadow-pop:0 0 0 1px var(--border),0 8px 30px rgba(0,0,0,.5);
  --focus-ring:#a1a1aa;
  --focus-halo:rgba(250,250,250,.08);
  
  --tint-newest:rgba(20,163,239,.14);
  --tint-newer:rgba(255,255,255,.05);
  color-scheme:dark;
}

:root{
  --background:var(--bg);
  --foreground:var(--text);
  --card:var(--surface);
  --muted:var(--surface-2);
  --muted-hover:var(--surface-hover);
  --muted-foreground:var(--text-2);
  --subtle:var(--text-3);
  
}
html.night{
  --background:var(--bg);
  --foreground:var(--text);
  --card:var(--surface);
  --muted:var(--surface-2);
  --muted-hover:var(--surface-hover);
  --muted-foreground:var(--text-2);
  --subtle:var(--text-3);
}

:root{
  --radius-card:var(--radius-lg);
  --radius-control:var(--radius);
  --radius-badge:var(--radius-pill);
  
  --c-primary:var(--primary);
  --c-primary-dark:#3f3f46;   
  --shadow:var(--shadow-ring-sm);
  
  --header-bg:rgba(255,255,255,.86);
  
  --row-pad-y:9px;
  --row-gap:10px;
  
  --row-border:#ececef;
}
html.night{
  --radius-card:var(--radius-lg);
  --radius-control:var(--radius);
  --radius-badge:var(--radius-pill);
  --c-primary:var(--primary);
  --c-primary-dark:#e4e4e7;
  --shadow:var(--shadow-ring-sm);
  --header-bg:rgba(24,24,27,.86);
  
  --row-border:#27272a;
}

@font-face{
  font-family:"PMZD";
  src:url("design_fonts_pangmen-logo.woff2") format("woff2");
  font-weight:400;font-style:normal;font-display:block;
}
:root{
  --logo-ink:#14a3ef;           
  --logo-star-h:27px;           
  --logo-text-size:31.8px;      
  --logo-gap:8px;
  --logo-font:"PMZD",-apple-system,BlinkMacSystemFont,"PingFang SC","MiSans","HarmonyOS Sans SC","Microsoft YaHei",sans-serif;
}
html.night{--logo-ink:#fafafa}   
@media (max-width:1100px){:root{--logo-star-h:23px;--logo-text-size:27px;--logo-gap:6px}}

.xb-logo{display:inline-flex;align-items:center;gap:var(--logo-gap);flex:none;text-decoration:none;
  -webkit-user-drag:none;user-select:none;-webkit-tap-highlight-color:transparent}
.xb-logo:hover{text-decoration:none}
.xb-logo__star{height:var(--logo-star-h);width:auto;max-width:none;display:block;flex:none}
.xb-logo__name{font-family:var(--logo-font);font-size:var(--logo-text-size);font-weight:400;line-height:1;
  color:var(--logo-ink);white-space:nowrap}
.xb-logo--sm{--logo-star-h:22px;--logo-text-size:25.5px;--logo-gap:6px}
.xb-logo--lg{--logo-star-h:26px;--logo-text-size:30.5px;--logo-gap:7px}
