:root{--color-bg-primary: #0a0505;--color-bg-secondary: #120808;--color-bg-card: #150a0a;--color-bg-hover: #1c0e0e;--color-bg-elevated: #221212;--color-text-primary: #fafafa;--color-text-secondary: #a1a1a1;--color-text-muted: #6b6b6b;--color-text-inverse: #0a0a0a;--color-accent: #e60000;--color-accent-hover: #ff1a1a;--color-accent-dim: rgba(230, 0, 0, .15);--color-accent-subtle: rgba(230, 0, 0, .06);--color-success: #22c55e;--color-success-dim: rgba(34, 197, 94, .15);--color-danger: #ef4444;--color-danger-dim: rgba(239, 68, 68, .15);--color-info: #3b82f6;--color-border: #2a1515;--color-border-subtle: #1a0c0c;--font-sans: "Noto Sans SC", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-serif: "Noto Serif SC", "Georgia", serif;--font-size-xs: 11px;--font-size-sm: 13px;--font-size-base: 15px;--font-size-lg: 17px;--font-size-xl: 20px;--font-size-2xl: 24px;--font-size-3xl: 32px;--font-size-4xl: 42px;--font-weight-light: 300;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.3;--line-height-normal: 1.7;--line-height-relaxed: 1.8;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--space-20: 80px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .5);--shadow-glow: 0 0 20px rgba(212, 168, 83, .15);--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease;--transition-spring: .4s cubic-bezier(.34, 1.56, .64, 1);--max-width: 800px;--container-padding: var(--space-6);--z-base: 1;--z-elevated: 10;--z-overlay: 100}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}body{font-family:var(--font-sans);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);line-height:var(--line-height-normal);color:var(--color-text-primary);background-color:var(--color-bg-primary);min-height:100vh;overflow-x:hidden}::selection{background:var(--color-accent-dim);color:var(--color-accent)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}h1,h2,h3,h4,h5,h6{font-family:var(--font-serif);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);color:var(--color-text-primary)}h1{font-size:var(--font-size-4xl)}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-2xl)}h4{font-size:var(--font-size-xl)}h5{font-size:var(--font-size-lg)}h6{font-size:var(--font-size-base)}p{margin-bottom:var(--space-4);color:var(--color-text-secondary)}a{color:var(--color-accent);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-accent-hover)}.container{max-width:var(--max-width);margin:0 auto;padding:var(--space-20) var(--container-padding);position:relative;z-index:var(--z-base)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.gradient-text{background:linear-gradient(135deg,var(--color-accent) 0%,#ff3333 50%,var(--color-accent) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-in{animation:fadeInUp .5s ease-out forwards;opacity:0}.animate-in:nth-child(1){animation-delay:0ms}.animate-in:nth-child(2){animation-delay:.1s}.animate-in:nth-child(3){animation-delay:.2s}.animate-in:nth-child(4){animation-delay:.3s}.animate-in:nth-child(5){animation-delay:.4s}.animate-in:nth-child(6){animation-delay:.5s}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.skeleton{background:linear-gradient(90deg,var(--color-bg-card) 25%,var(--color-bg-hover) 50%,var(--color-bg-card) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-sm)}.skeleton-text{height:16px;margin-bottom:var(--space-2)}.skeleton-title{height:24px;width:60%;margin-bottom:var(--space-3)}.skeleton-meta{height:12px;width:40%}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);font-family:var(--font-sans);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:1;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);user-select:none;-webkit-tap-highlight-color:transparent}.btn:active{transform:scale(.97)}.btn-primary{background:var(--color-accent);color:var(--color-text-inverse)}.btn-primary:hover{background:var(--color-accent-hover);box-shadow:var(--shadow-glow)}.btn-ghost{background:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border)}.btn-ghost:hover{background:var(--color-bg-hover);color:var(--color-text-primary);border-color:var(--color-border-subtle)}.card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.card-hover{transition:all var(--transition-base)}.card-hover:hover{background:var(--color-bg-hover);border-color:var(--color-border-subtle);transform:translateY(-2px);box-shadow:var(--shadow-md)}.tag{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);border-radius:var(--radius-sm);white-space:nowrap}.tag-accent{background:var(--color-accent-dim);color:var(--color-accent)}.tag-success{background:var(--color-success-dim);color:var(--color-success)}.tag-danger{background:var(--color-danger-dim);color:var(--color-danger)}@media(max-width:640px){:root{--container-padding: var(--space-4)}body{font-size:var(--font-size-sm)}h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}}
