:root{--primary: #ffffff;--secondary: #94a3b8;--accent: #ffffff;--accent-hover: #e2e8f0;--accent-2: #ef4444;--accent-3: #3b82f6;--bg-main: #18191c;--bg-card: #202226;--bg-subtle: #292c33;--text-main: #f8fafc;--text-muted: #94a3b8;--border-color: rgba(255, 255, 255, .12);--border-light: rgba(255, 255, 255, .06);--glass-bg: rgba(24, 25, 28, .88);--glass-border: rgba(255, 255, 255, .12);--bias-left: #ef4444;--bias-objective: #cbd5e1;--bias-right: #3b82f6;--font-main: "Outfit", "Inter", -apple-system, sans-serif;--font-heading: "Plus Jakarta Sans", "Playfair Display", Georgia, serif;--font-serif: "Playfair Display", Georgia, serif;--radius-sm: 3px;--radius-md: 4px;--radius-lg: 6px;--shadow-sm: 0 4px 14px -2px rgba(0, 0, 0, .35);--shadow-md: 0 10px 28px -4px rgba(0, 0, 0, .45);--shadow-lg: 0 20px 50px -8px rgba(0, 0, 0, .6);--shadow-glow: 0 0 20px rgba(255, 255, 255, .15);--focus-ring: 0 0 0 3px rgba(255, 255, 255, .25);--hero-from: #18191c;--hero-to: #202226}[data-theme=light]{--primary: #0f172a;--secondary: #475569;--accent: #0f172a;--accent-hover: #334155;--accent-2: #dc2626;--accent-3: #2563eb;--bg-main: #f8fafc;--bg-card: #ffffff;--bg-subtle: #f1f5f9;--text-main: #0f172a;--text-muted: #64748b;--border-color: rgba(15, 23, 42, .12);--border-light: rgba(15, 23, 42, .05);--glass-bg: rgba(248, 250, 252, .88);--glass-border: rgba(15, 23, 42, .12);--bias-left: #dc2626;--bias-objective: #0f172a;--bias-right: #2563eb;--shadow-sm: 0 4px 14px -2px rgba(15, 23, 42, .06);--shadow-md: 0 10px 28px -4px rgba(15, 23, 42, .1);--shadow-lg: 0 20px 50px -8px rgba(15, 23, 42, .15);--shadow-glow: 0 0 20px rgba(15, 23, 42, .1);--hero-from: #f8fafc;--hero-to: #f1f5f9}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-main);background-color:var(--bg-main);color:var(--text-main);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color .4s ease,color .4s ease;overflow-x:hidden}a{text-decoration:none;color:inherit}ul{list-style:none}#root{min-height:100vh;display:flex;flex-direction:column}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:700;letter-spacing:-.01em;line-height:1.25}h1{font-size:clamp(2.2rem,4.5vw,4rem);font-weight:900;line-height:1.12}*:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:4px}input:focus-visible,button:focus-visible{outline:none;box-shadow:var(--focus-ring)}.skip-link{position:absolute;top:-100%;left:20px;z-index:9999;background:var(--accent);color:#000;padding:12px 24px;border-radius:0 0 12px 12px;font-family:var(--font-heading);font-weight:700;transition:top .3s cubic-bezier(.16,1,.3,1);box-shadow:var(--shadow-md)}.skip-link:focus{top:0}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(30px);filter:blur(4px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}.animate-in{opacity:0}.animate-in.visible{animation:fadeSlideUp .8s cubic-bezier(.16,1,.3,1) forwards}.animate-delay-1{animation-delay:.15s}.animate-delay-2{animation-delay:.3s}.animate-delay-3{animation-delay:.45s}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--bg-main)}::-webkit-scrollbar-thumb{background:#3f3f46;border-radius:5px}::-webkit-scrollbar-thumb:hover{background:#52525b}.navbar{background-color:var(--glass-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--glass-border);height:80px;display:flex;align-items:center;position:sticky;top:0;z-index:1000;transition:background-color .4s ease}.navbar-container{width:100%;max-width:1200px;margin:0 auto;padding:0 24px;display:flex;justify-content:space-between;align-items:center;gap:24px}.navbar-brand .brand-link{font-size:1.8rem;font-family:var(--font-heading);font-weight:900;color:var(--primary);letter-spacing:-1px;display:flex;align-items:center}.navbar-brand .brand-suffix{background:linear-gradient(135deg,#fff,#cbd5e1,#94a3b8);-webkit-background-clip:text;background-clip:text;color:transparent;font-weight:900;margin-left:2px}@keyframes subtleGradient{0%{background-position:0% 50%}to{background-position:100% 50%}}.navbar-search{flex:1;max-width:620px;margin:0 24px;position:relative;display:flex;align-items:center}.navbar-search input{width:100%;height:38px;padding:0 42px 0 14px;border:1px solid var(--border-color);border-radius:3px;font-family:var(--font-main);font-size:.9rem;line-height:1;background-color:#0003;color:var(--text-main);transition:border-color .2s ease,background-color .2s ease}.navbar-search input:focus{outline:none;border-color:var(--accent);background-color:#0006}.search-submit-btn{position:absolute;right:16px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color .3s ease,transform .2s ease;padding:0}.search-submit-btn:hover{color:var(--accent);transform:translateY(-50%) scale(1.1)}.search-submit-btn-mobile{position:absolute;right:16px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}.theme-toggle-icon{color:var(--text-main);transition:color .3s}.theme-toggle:hover .theme-toggle-icon{color:var(--accent)}.navbar-links ul{display:flex;gap:32px}.navbar-links a{font-size:.95rem;font-weight:500;color:var(--text-muted);transition:color .3s ease,transform .2s ease;padding:8px 4px;position:relative}.navbar-links a:hover{color:var(--primary)}.navbar-links a.active{color:var(--primary);font-weight:700}.navbar-links a:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:right;transition:transform .3s ease}.navbar-links a.active:after,.navbar-links a:hover:after{transform:scaleX(1);transform-origin:left}.theme-toggle{background:var(--bg-subtle);border:1px solid var(--border-color);border-radius:2px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.1rem;transition:all .2s ease;box-shadow:var(--shadow-sm);margin-left:20px}.theme-toggle:hover{transform:scale(1.05) rotate(10deg);border-color:var(--accent);box-shadow:var(--shadow-glow)}.theme-toggle:active{transform:scale(.95)}.navbar-actions{display:flex;align-items:center;gap:8px}.navbar-hamburger{display:none;flex-direction:column;justify-content:center;gap:6px;background:none;border:none;cursor:pointer;padding:8px;z-index:1002;-webkit-tap-highlight-color:transparent}.hamburger-line{display:block;width:26px;height:2px;background-color:var(--primary);border-radius:2px;transition:transform .4s cubic-bezier(.16,1,.3,1),opacity .4s}.navbar-hamburger.active .hamburger-line:nth-child(1){transform:translateY(8px) rotate(45deg)}.navbar-hamburger.active .hamburger-line:nth-child(2){opacity:0}.navbar-hamburger.active .hamburger-line:nth-child(3){transform:translateY(-8px) rotate(-45deg)}.navbar-search-mobile{display:none}.navbar-overlay{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:999}@media(max-width:860px){.navbar-search{display:none}.navbar-hamburger{display:flex;margin-left:16px}.navbar-links{position:fixed;top:0;right:-320px;width:300px;height:100vh;background-color:var(--bg-card);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-left:1px solid var(--border-color);box-shadow:-10px 0 30px #0000004d;z-index:1001;transition:right .4s cubic-bezier(.16,1,.3,1);padding:100px 24px 24px}.navbar-links.open{right:0}.navbar-search-mobile{display:block;margin-bottom:24px;position:relative}.navbar-search-mobile input{width:100%;padding:14px 20px;border:1px solid var(--border-color);border-radius:25px;font-family:inherit;font-size:1rem;background-color:#0003;color:var(--text-main)}.navbar-search-mobile input:focus{border-color:var(--accent);outline:none}.navbar-links ul{flex-direction:column;gap:12px}.navbar-links a{display:block;padding:14px 16px;font-size:1.1rem;border-radius:12px;transition:background .3s}.navbar-links a:hover{background:#ffffff0d}.navbar-links a.active:after{display:none}.navbar-links a.active{color:var(--primary);background:linear-gradient(90deg,rgba(253,224,71,.1),transparent);border-left:3px solid var(--accent)}}.main-content{flex:1}footer{background-color:var(--bg-card);border-top:1px solid var(--border-color);color:var(--text-muted);padding:40px 20px;text-align:center;margin-top:60px}.footer-container{max-width:1200px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:12px}.footer-logo{font-size:1.5rem;font-family:var(--font-heading);font-weight:800;margin-bottom:4px;display:block;color:var(--text-main);text-decoration:none}.footer-logo span{color:var(--text-muted);font-weight:900}.footer-copy{font-size:.8rem;color:var(--text-muted);opacity:.8}.footer-admin-link{font-size:.75rem;color:var(--text-main);text-decoration:none;font-weight:700;padding:5px 14px;border-radius:20px;background:var(--bg-subtle);border:1px solid var(--border-color);transition:all .2s ease;margin-top:4px}.footer-admin-link:hover{background:var(--text-main);color:var(--bg-main);border-color:var(--text-main)}.page-loader{display:flex;align-items:center;justify-content:center;min-height:40vh}.loader-spinner{width:36px;height:36px;border:3px solid var(--border-color);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.feed-coverage-caveat svg,.coverage-caveat svg,.news-card-coverage-note svg{position:absolute;left:0;top:3px;flex-shrink:0}.feed-coverage-caveat,.coverage-caveat,.news-card-coverage-note{position:relative;padding-left:20px;margin:8px 0;font-size:.74rem;line-height:1.5;color:var(--text-muted)}.filter-btn[disabled]{opacity:.45;cursor:not-allowed}.stacked-perspective-card.is-empty{border-style:dashed;opacity:.85}.perspective-empty-body{display:flex;align-items:flex-start;gap:10px;padding:14px 0 4px;color:var(--text-muted)}.perspective-empty-body svg{flex-shrink:0;margin-top:2px}.perspective-empty-body p{margin:0;font-size:.84rem;line-height:1.5}.perspective-tone-note,.perspective-more-outlets{margin-top:8px;font-size:.72rem;color:var(--text-muted)}.comparison-caption{margin:-6px 0 16px;font-size:.82rem;color:var(--text-muted)}.detail-image-disclaimer{position:absolute;right:8px;bottom:8px;padding:3px 8px;font-size:.65rem;font-weight:700;color:#fff;background:#000000a6;border-radius:3px}.detail-article-list ul{display:flex;flex-direction:column;gap:2px;margin-top:12px}.detail-article-list a{display:flex;align-items:baseline;gap:10px;padding:10px 12px;border-bottom:1px solid var(--border-light);transition:background .2s ease}.detail-article-list a:hover{background:var(--bg-subtle)}.article-outlet{flex-shrink:0;min-width:110px;font-size:.73rem;font-weight:800;color:var(--text-muted)}.article-headline{flex:1;font-size:.86rem;line-height:1.45}.verdict-note{font-size:.74rem;color:var(--text-muted)}.admin-gate{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:60vh;padding:40px 20px;text-align:center}.admin-gate-form{display:flex;flex-direction:column;gap:8px;width:100%;max-width:300px;margin-top:12px;text-align:left}.admin-gate-form label{font-size:.78rem;font-weight:700}.admin-gate-form input{padding:10px 12px;font-family:inherit;font-size:.9rem;color:var(--text-main);background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-sm)}.admin-gate-form button{padding:10px;font-family:inherit;font-weight:700;color:var(--bg-main);background:var(--text-main);border:none;border-radius:var(--radius-sm);cursor:pointer}.admin-gate-form span[role=alert]{font-size:.78rem;color:var(--bias-left)}.admin-gate-form button:disabled{cursor:progress;opacity:.6}.admin-gate-note{max-width:340px;font-size:.72rem;color:var(--text-muted)}.admin-session-bar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;padding:10px 14px;margin-bottom:16px;font-size:.8rem;color:var(--text-muted);background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-sm)}.admin-logout{display:inline-flex;gap:6px;align-items:center;padding:6px 12px;font-family:inherit;font-size:.78rem;font-weight:700;color:var(--text-main);cursor:pointer;background:transparent;border:1px solid var(--border-color);border-radius:var(--radius-sm)}.admin-logout:hover{color:var(--bg-main);background:var(--text-main)}.admin-storage-warning{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;margin-bottom:18px;font-size:.82rem;line-height:1.5;color:var(--text-muted);background:var(--bg-subtle);border:1px solid var(--border-color);border-left:3px solid var(--bias-left);border-radius:var(--radius-sm)}.admin-storage-warning svg{flex-shrink:0;margin-top:2px}.admin-header-actions{display:flex;flex-wrap:wrap;gap:10px}.scraper-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:16px}.scraper-badge.tone-ok{color:#22c55e;border-color:#22c55e}.scraper-badge.tone-warn{color:#f59e0b;border-color:#f59e0b}.scraper-badge.tone-off{color:var(--text-muted);border-color:var(--border-color)}.scraper-status{font-size:.8rem;font-weight:600}.scraper-status.tone-ok{color:#22c55e}.scraper-status.tone-error{color:var(--bias-left)}.editing-note{padding:10px 12px;margin:12px 0;font-size:.78rem;line-height:1.5;color:var(--text-muted);background:var(--bg-subtle);border-radius:var(--radius-sm)}.category-empty{padding:24px;text-align:center;color:var(--text-muted)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.animate-in{opacity:1!important}}.empty-state{display:flex;flex-direction:column;gap:10px;align-items:center;max-width:460px;margin:32px auto;padding:28px 24px;text-align:center;color:var(--text-muted);background:var(--bg-card);border:1px dashed var(--border-color);border-radius:var(--radius-sm)}.empty-state h2{font-size:1rem;color:var(--text-main)}.empty-state-reason{font-size:.84rem;font-weight:600;color:var(--text-main)}.empty-state-hint{font-size:.78rem;line-height:1.5}.trend-empty{padding:8px 0;font-size:.78rem;color:var(--text-muted)}
