:root{--background: 0 0% 100%;--foreground: 222.2 84% 4.9%;--card: 0 0% 100%;--card-foreground: 222.2 84% 4.9%;--popover: 0 0% 100%;--popover-foreground: 222.2 84% 4.9%;--primary: 222.2 47.4% 11.2%;--primary-foreground: 210 40% 98%;--secondary: 210 40% 96.1%;--secondary-foreground: 222.2 47.4% 11.2%;--muted: 210 40% 96.1%;--muted-foreground: 215.4 16.3% 46.9%;--accent: 210 40% 96.1%;--accent-foreground: 222.2 47.4% 11.2%;--destructive: 0 84.2% 60.2%;--destructive-foreground: 210 40% 98%;--border: 214.3 31.8% 91.4%;--input: 214.3 31.8% 91.4%;--ring: 222.2 84% 4.9%;--radius: .75rem;--font-family-primary: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-family-secondary: "JetBrains Mono", "Fira Code", Monaco, "Cascadia Code", monospace;--font-family-display: "Inter", "SF Pro Display", -apple-system, sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 2rem;--font-size-4xl: 2.5rem;--font-size-5xl: 3rem;--font-weight-thin: 100;--font-weight-light: 300;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-weight-extrabold: 800;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: .75rem;--spacing-lg: 1rem;--spacing-xl: 1.5rem;--spacing-2xl: 2rem;--spacing-3xl: 3rem;--spacing-4xl: 4rem;--spacing-5xl: 6rem;--z-base: 1;--z-dropdown: 10;--z-sticky: 100;--z-modal: 1000;--z-tooltip: 9999;--radius-none: 0;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-full: 50%;--shadow-xs: 0 1px 2px hsl(var(--foreground) / .04);--shadow-sm: 0 1px 3px hsl(var(--foreground) / .04), 0 1px 2px hsl(var(--foreground) / .04);--shadow-md: 0 4px 6px -1px hsl(var(--foreground) / .04), 0 2px 4px -1px hsl(var(--foreground) / .04);--shadow-lg: 0 10px 15px -3px hsl(var(--foreground) / .04), 0 4px 6px -2px hsl(var(--foreground) / .03);--shadow-xl: 0 20px 25px -5px hsl(var(--foreground) / .04), 0 8px 10px -6px hsl(var(--foreground) / .03);--shadow-2xl: 0 25px 50px -12px hsl(var(--foreground) / .15);--shadow-glow: 0 0 20px hsl(var(--primary) / .3);--shadow-accent: 0 0 20px hsl(var(--accent) / .2);--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .25s cubic-bezier(.4, 0, .2, 1);--transition-slow: .4s cubic-bezier(.4, 0, .2, 1);--transition-bounce: .3s cubic-bezier(.68, -.55, .265, 1.55);--transition-elastic: .4s cubic-bezier(.68, -.6, .32, 1.6);--float-offset: -2px;--scale-hover: 1.02;--scale-active: .98;font-family:var(--font-family-primary);line-height:1.6;font-weight:var(--font-weight-normal);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"liga" 1,"calt" 1;font-variant-ligatures:common-ligatures}[data-theme=dark]{--background: 222.2 84% 8%;--foreground: 210 40% 98%;--card: 222.2 84% 4.9%;--card-foreground: 210 40% 98%;--popover: 222.2 84% 4.9%;--popover-foreground: 210 40% 98%;--primary: 210 40% 98%;--primary-foreground: 222.2 47.4% 11.2%;--secondary: 217.2 32.6% 12%;--secondary-foreground: 210 40% 98%;--muted: 217.2 32.6% 15%;--muted-foreground: 215 20.2% 65.1%;--accent: 217.2 32.6% 12%;--accent-foreground: 210 40% 98%;--destructive: 0 62.8% 30.6%;--destructive-foreground: 210 40% 98%;--border: 217.2 32.6% 25%;--input: 217.2 32.6% 17.5%;--ring: 210 40% 98%}.btn-text{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-2xl);border:none;border-radius:var(--radius-lg);background:hsl(var(--primary));color:hsl(var(--primary-foreground));font-family:var(--font-family-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:1.5;cursor:pointer;text-decoration:none;transition:all var(--transition-base);box-shadow:none;border:1px solid transparent}.btn-text:hover{background:hsl(var(--primary) / .9);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-text:active{transform:translateY(0);box-shadow:var(--shadow-sm)}.btn-secondary{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-xl);border:1px solid hsl(var(--border));border-radius:var(--radius-lg);background:hsl(var(--background));color:hsl(var(--foreground));font-family:var(--font-family-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:1.5;cursor:pointer;text-decoration:none;transition:all var(--transition-base);box-shadow:none}.btn-secondary:hover{border-color:hsl(var(--primary));color:hsl(var(--primary));background:hsl(var(--primary) / .1);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn-minimal{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);border:1px solid hsl(var(--border));border-radius:var(--radius-lg);background:transparent;color:hsl(var(--muted-foreground));font-family:var(--font-family-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:1.5;cursor:pointer;text-decoration:none;transition:all var(--transition-base);box-shadow:none}.btn-minimal:hover{border-color:hsl(var(--primary));color:hsl(var(--primary));background:hsl(var(--primary) / .1)}.btn-link,.btn-source{display:inline-flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);background:transparent;border:1px solid hsl(var(--border));border-radius:var(--radius-lg);color:hsl(var(--muted-foreground));font-family:var(--font-family-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:1.5;cursor:pointer;text-decoration:none;transition:all var(--transition-base);box-shadow:none}.btn-link:hover,.btn-source:hover{border-color:hsl(var(--primary));color:hsl(var(--primary));background:hsl(var(--primary) / .1)}@keyframes gentle-float{0%,to{transform:translateY(0)}50%{transform:translateY(var(--float-offset))}}@keyframes pulse-glow{0%,to{box-shadow:var(--shadow-sm);transform:scale(1)}50%{box-shadow:var(--shadow-glow);transform:scale(var(--scale-hover))}}@keyframes slide-in-down{0%{transform:translateY(-10px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes fade-in-scale{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}@keyframes slide-in-up{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes skeleton-loading{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}@keyframes skeleton-pulse{0%,to{opacity:.6}50%{opacity:1}}.skeleton{background:linear-gradient(90deg,hsl(var(--muted)) 0%,hsl(var(--muted) / .5) 50%,hsl(var(--muted)) 100%);background-size:200px 100%;animation:skeleton-loading 1.2s ease-in-out infinite;border-radius:var(--radius-sm)}[data-theme=dark] .skeleton{background:linear-gradient(90deg,hsl(var(--secondary)) 0%,hsl(var(--secondary) / .5) 50%,hsl(var(--secondary)) 100%);background-size:200px 100%}.skeleton-card{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius-xl);padding:var(--spacing-xl);margin-bottom:var(--spacing-xl);animation:skeleton-pulse 1.5s ease-in-out infinite}.skeleton-image{width:100%;height:220px;margin-bottom:var(--spacing-lg);border-radius:var(--radius-lg)}.skeleton-title{height:24px;width:85%;margin-bottom:var(--spacing-md)}.skeleton-text{height:16px;width:100%;margin-bottom:var(--spacing-sm)}.skeleton-text.short{width:70%}.skeleton-text.medium{width:85%}.skeleton-meta{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg)}.skeleton-tag{height:20px;width:60px;border-radius:var(--radius-sm)}.skeleton-button{height:36px;width:100px;border-radius:var(--radius-lg);margin-top:var(--spacing-lg)}@media screen and (max-width: 768px){.skeleton-image{height:160px}.skeleton-title{height:20px}.skeleton-text{height:14px}}.lazy{transition:opacity .3s ease-in-out;opacity:.6;filter:blur(2px)}.lazy.loaded{opacity:1;filter:blur(0)}.lazy.loading{opacity:.8}.card-image{position:relative;overflow:hidden}.card-image img{transition:filter .3s ease,opacity .3s ease}.card-image:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:hsl(var(--muted));background-image:linear-gradient(45deg,transparent 25%,hsl(var(--muted-foreground) / .1) 25%,hsl(var(--muted-foreground) / .1) 50%,transparent 50%,transparent 75%,hsl(var(--muted-foreground) / .1) 75%);background-size:20px 20px;animation:loading-pattern 1s linear infinite;z-index:1;pointer-events:none;opacity:0;transition:opacity .3s ease}.card-image img.lazy:before{opacity:1}@keyframes loading-pattern{0%{background-position:0 0}to{background-position:20px 20px}}.btn-text,.btn-secondary,.btn-minimal,.btn-link,.btn-source{position:relative;overflow:hidden}.btn-text:after,.btn-secondary:after,.btn-minimal:after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background:hsl(var(--primary-foreground) / .1);border-radius:50%;transform:translate(-50%,-50%);transition:all var(--transition-fast)}.btn-text:active:after,.btn-secondary:active:after,.btn-minimal:active:after{width:120%;height:120%;transition:all .1s ease-out}.btn-sm{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-xs);border-radius:var(--radius-md)}.btn-lg{padding:var(--spacing-lg) var(--spacing-2xl);font-size:var(--font-size-lg);border-radius:var(--radius-xl)}.btn-xl{padding:var(--spacing-xl) var(--spacing-3xl);font-size:var(--font-size-xl);border-radius:var(--radius-2xl)}.glass{background:hsl(var(--card) / .7);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid hsl(var(--border) / .2);box-shadow:0 8px 32px 0 hsl(var(--foreground) / .1)}[data-theme=dark] .glass{background:hsl(var(--card) / .7);border:1px solid hsl(var(--border) / .1);box-shadow:0 8px 32px 0 hsl(var(--foreground) / .3)}.glass-light{background:hsl(var(--card) / .9);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid hsl(var(--border) / .3)}[data-theme=dark] .glass-light{background:hsl(var(--card) / .9);border:1px solid hsl(var(--border) / .2)}.glass-heavy{background:hsl(var(--card) / .5);backdrop-filter:blur(30px);-webkit-backdrop-filter:blur(30px);border:1px solid hsl(var(--border) / .1);box-shadow:0 8px 32px 0 hsl(var(--foreground) / .1)}[data-theme=dark] .glass-heavy{background:hsl(var(--card) / .8);border:1px solid hsl(var(--border) / .05)}.btn-text:disabled,.btn-secondary:disabled,.btn-accent:disabled,.btn-minimal:disabled{opacity:.5;cursor:not-allowed;transform:none!important;box-shadow:var(--shadow-sm)!important;pointer-events:none}.btn-icon{display:inline-flex;align-items:center;gap:var(--spacing-sm)}.btn-icon svg,.btn-icon img{width:1rem;height:1rem;transition:transform var(--transition-base)}.btn-icon:hover svg,.btn-icon:hover img{transform:scale(1.1)}*{margin:0;padding:0;box-sizing:border-box}*:before,*:after{box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;padding:0;background:hsl(var(--background));color:hsl(var(--foreground));font-family:var(--font-family-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);line-height:1.6;transition:background-color var(--transition-base);min-height:100vh;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app{width:100%;min-height:100vh;background:hsl(var(--background));position:relative}.card-glass{background:hsl(var(--card) / .7);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid hsl(var(--border) / .2)}h1,h2,h3,h4,h5,h6{font-family:var(--font-family-display);font-weight:var(--font-weight-bold);line-height:1.2;margin-bottom:var(--spacing-lg);color:hsl(var(--foreground))}h1{font-size:var(--font-size-5xl)}h2{font-size:var(--font-size-4xl)}h3{font-size:var(--font-size-3xl)}h4{font-size:var(--font-size-2xl)}h5{font-size:var(--font-size-xl)}h6{font-size:var(--font-size-lg)}p{margin-bottom:var(--spacing-lg);line-height:1.7}a{color:hsl(var(--primary));text-decoration:none;transition:color var(--transition-base)}a:hover{color:hsl(var(--primary) / .9);text-decoration:underline}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:hsl(var(--muted))}::-webkit-scrollbar-thumb{background:hsl(var(--border));border-radius:var(--radius-full);border:2px solid hsl(var(--muted))}::-webkit-scrollbar-thumb:hover{background:hsl(var(--primary))}@media screen and (max-width: 768px){html{font-size:14px}body{overflow-x:hidden;width:100%}#app{width:100%;overflow-x:hidden}h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}h4{font-size:var(--font-size-lg)}h5{font-size:var(--font-size-base)}h6{font-size:var(--font-size-sm)}.btn{padding:var(--spacing-sm) var(--spacing-lg);font-size:var(--font-size-sm)}.card{border-radius:var(--radius-lg)}}@media screen and (max-width: 480px){.btn-lg{padding:var(--spacing-md) var(--spacing-xl);font-size:var(--font-size-base)}.btn-xl{padding:var(--spacing-lg) var(--spacing-2xl);font-size:var(--font-size-lg)}}@media screen and (max-width: 360px){.search-section,.articles-section{padding:var(--spacing-sm)}.search-input{padding:var(--spacing-sm) var(--spacing-md);font-size:16px}.article-card{border-radius:var(--radius-md)}.card-header,.card-content,.card-footer{padding-left:var(--spacing-md);padding-right:var(--spacing-md)}}@media screen and (max-height: 500px) and (orientation: landscape){.search-section{padding:var(--spacing-md) var(--spacing-xl)}.search-container{margin-bottom:var(--spacing-sm)}}*:focus{outline:2px solid hsl(var(--primary));outline-offset:2px;border-radius:var(--radius-sm)}.skip-link{position:absolute;top:-40px;left:6px;background:hsl(var(--primary));color:hsl(var(--primary-foreground));padding:8px;text-decoration:none;border-radius:var(--radius-sm);z-index:var(--z-tooltip);font-weight:var(--font-weight-medium)}.skip-link:focus{top:6px}.article-card:focus{outline:2px solid hsl(var(--primary));outline-offset:2px;transform:translateY(-3px);box-shadow:var(--shadow-lg)}.article-card:focus-within{outline:1px solid hsl(var(--primary));outline-offset:1px}.search-input:focus{outline:2px solid hsl(var(--primary));outline-offset:-2px;box-shadow:0 0 0 4px hsl(var(--primary) / .1)}button{outline:none!important}button:focus{outline:none!important;box-shadow:0 0 0 2px hsl(var(--primary) / .2)!important}.btn-secondary:focus,.btn-minimal:focus{outline:none!important;box-shadow:0 0 0 2px hsl(var(--primary) / .2)!important}button:focus-visible{outline:2px solid hsl(var(--primary))!important;outline-offset:2px!important}a,router-link{outline:none!important}a:focus,router-link:focus{outline:none!important;box-shadow:none!important}a:focus-visible,router-link:focus-visible{outline:2px solid hsl(var(--primary))!important;outline-offset:2px!important}.suggestion-item:focus,.suggestion-item.active{background:hsl(var(--primary));color:hsl(var(--primary-foreground));outline:none}.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}@media (prefers-contrast: high){.article-card,.btn-secondary,.search-input{border:2px solid hsl(var(--foreground))}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.article-card:hover{box-shadow:var(--shadow-lg)}.skeleton,.loading-spinner{animation:none}}
