:root{--background: hsl(0, 0%, 100%);--foreground: hsl(0, 0%, 8%);--card: hsl(0, 0%, 100%);--card-foreground: hsl(0, 0%, 8%);--popover: hsl(0, 0%, 100%);--popover-foreground: hsl(0, 0%, 8%);--primary: hsl(350, 63%, 34%);--primary-foreground: hsl(0, 0%, 100%);--secondary: hsl(0, 0%, 96%);--secondary-foreground: hsl(0, 0%, 8%);--muted: hsl(0, 0%, 96%);--muted-foreground: hsl(0, 0%, 45%);--accent: hsl(350, 63%, 34%);--accent-foreground: hsl(0, 0%, 100%);--destructive: hsl(0, 84%, 60%);--destructive-foreground: hsl(0, 0%, 100%);--border: hsl(0, 0%, 90%);--input: hsl(0, 0%, 90%);--ring: hsl(350, 63%, 34%);--radius: 0px;--board-light: hsl(40, 33%, 97%);--board-dark: hsl(350, 30%, 40%);--chess-highlight: hsl(350, 63%, 80%);--tournament-green: hsl(350, 63%, 34%);--wood-accent: hsl(40, 70%, 50%);--sidebar-background: hsl(0, 0%, 98%);--sidebar-foreground: hsl(240, 5%, 26%);--sidebar-primary: hsl(350, 63%, 34%);--sidebar-primary-foreground: hsl(0, 0%, 98%);--sidebar-accent: hsl(240, 5%, 96%);--sidebar-accent-foreground: hsl(240, 6%, 10%);--sidebar-border: hsl(220, 13%, 91%);--sidebar-ring: hsl(217, 91%, 60%);--bg-primary: hsl(0, 0%, 100%);--bg-secondary: hsl(0, 0%, 98%);--bg-tertiary: hsl(0, 0%, 96%);--bg-card: hsl(0, 0%, 100%);--bg-hero: hsl(0, 0%, 8%);--bg-hero-secondary: hsl(0, 0%, 12%);--text-primary: hsl(0, 0%, 8%);--text-secondary: hsl(0, 0%, 45%);--text-tertiary: hsl(0, 0%, 55%);--text-inverse: hsl(0, 0%, 100%);--text-inverse-secondary: hsl(0, 0%, 75%);--border-color: hsl(0, 0%, 90%);--border-color-strong: hsl(0, 0%, 80%);--accent-hover: hsl(350, 63%, 28%);--accent-light: hsl(350, 63%, 95%);--success: hsl(142, 71%, 45%);--danger: hsl(0, 84%, 60%);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .07);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px rgba(0, 0, 0, .1);--shadow-glow: none;--radius-sm: calc(var(--radius) - 2px);--radius-md: var(--radius);--radius-lg: calc(var(--radius) + 4px);--radius-xl: calc(var(--radius) + 8px);--radius-full: 9999px;--gradient-hero: linear-gradient(135deg, hsl(0, 0%, 8%) 0%, hsl(0, 0%, 12%) 100%);--gradient-primary: linear-gradient(135deg, hsl(350, 63%, 34%) 0%, hsl(350, 63%, 45%) 100%);--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .3s cubic-bezier(.4, 0, .2, 1);--transition-bounce: .5s cubic-bezier(.34, 1.56, .64, 1)}[data-theme=dark]{--background: hsl(0, 0%, 5%);--foreground: hsl(0, 0%, 95%);--card: hsl(0, 0%, 8%);--card-foreground: hsl(0, 0%, 95%);--popover: hsl(0, 0%, 8%);--popover-foreground: hsl(0, 0%, 95%);--primary: hsl(350, 63%, 45%);--primary-foreground: hsl(0, 0%, 100%);--secondary: hsl(0, 0%, 15%);--secondary-foreground: hsl(0, 0%, 95%);--muted: hsl(0, 0%, 15%);--muted-foreground: hsl(0, 0%, 65%);--accent: hsl(350, 63%, 45%);--accent-foreground: hsl(0, 0%, 100%);--destructive: hsl(0, 62%, 30%);--destructive-foreground: hsl(0, 0%, 95%);--border: hsl(0, 0%, 20%);--input: hsl(0, 0%, 20%);--ring: hsl(350, 63%, 45%);--board-light: hsl(40, 20%, 70%);--board-dark: hsl(350, 25%, 30%);--chess-highlight: hsl(350, 55%, 60%);--tournament-green: hsl(350, 63%, 45%);--wood-accent: hsl(40, 55%, 48%);--sidebar-background: hsl(240, 6%, 10%);--sidebar-foreground: hsl(240, 5%, 96%);--sidebar-primary: hsl(350, 63%, 45%);--sidebar-primary-foreground: hsl(0, 0%, 100%);--sidebar-accent: hsl(240, 4%, 16%);--sidebar-accent-foreground: hsl(240, 5%, 96%);--sidebar-border: hsl(240, 4%, 16%);--sidebar-ring: hsl(217, 91%, 60%);--bg-primary: hsl(0, 0%, 5%);--bg-secondary: hsl(0, 0%, 10%);--bg-tertiary: hsl(0, 0%, 15%);--bg-hero: hsl(0, 0%, 3%);--bg-card: hsl(0, 0%, 8%);--text-primary: hsl(0, 0%, 95%);--text-secondary: hsl(0, 0%, 70%);--text-tertiary: hsl(0, 0%, 55%);--border-color: hsl(0, 0%, 20%);--border-color-strong: hsl(0, 0%, 30%);--accent-hover: hsl(350, 63%, 55%);--accent-light: hsl(350, 30%, 15%)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scrollbar-gutter:stable;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:var(--bg-primary);color:var(--text-primary);line-height:1.6;min-height:100vh;animation:pageFadeIn .35s ease-out}@keyframes pageFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}body.page-exit{opacity:0;transform:translateY(-4px);transition:opacity .2s ease-in,transform .2s ease-in}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer;border:none;background:none}img,svg{display:block;max-width:100%}.card{background:var(--card);color:var(--card-foreground);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.card-title{font-size:24px;font-weight:600;line-height:1;letter-spacing:-.02em}.card-description{font-size:14px;color:var(--muted-foreground)}.card-content{padding:0 24px 24px}.input,input[type=text],input[type=email],input[type=password],input[type=number],input[type=search],input[type=tel],input[type=url]{display:flex;width:100%;height:40px;padding:8px 12px;font-size:14px;background:var(--background);color:var(--foreground);border:1px solid var(--input);border-radius:var(--radius-md);outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.input::-moz-placeholder,input::-moz-placeholder{color:var(--muted-foreground)}.input::placeholder,input::placeholder{color:var(--muted-foreground)}.input:focus,input:focus{border-color:var(--ring);box-shadow:0 0 0 2px #8d203233}.input:disabled,input:disabled{cursor:not-allowed;opacity:.5}textarea,.textarea{display:flex;width:100%;min-height:80px;padding:8px 12px;font-size:14px;font-family:inherit;background:var(--background);color:var(--foreground);border:1px solid var(--input);border-radius:var(--radius-md);outline:none;resize:vertical;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}textarea:focus,.textarea:focus{border-color:var(--ring);box-shadow:0 0 0 2px #8d203233}label,.label{display:block;font-size:14px;font-weight:500;color:var(--foreground);margin-bottom:6px}select,.select{display:flex;width:100%;height:40px;padding:8px 36px 8px 12px;font-size:14px;background:var(--background);color:var(--foreground);border:1px solid var(--input);border-radius:var(--radius-md);cursor:pointer;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;background-size:16px}select:focus,.select:focus{border-color:var(--ring);box-shadow:0 0 0 2px #8d203233}input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent);cursor:pointer}.badge{display:inline-flex;align-items:center;padding:2px 10px;font-size:12px;font-weight:500;border-radius:var(--radius-full);background:var(--secondary);color:var(--secondary-foreground)}.separator{width:100%;height:1px;background:var(--border)}.avatar{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-full);overflow:hidden;background:var(--muted);color:var(--muted-foreground);font-weight:500}.avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.tabs{display:flex;flex-direction:column}.progress{width:100%;height:8px;background:var(--secondary);border-radius:var(--radius-full);overflow:hidden}.progress-bar{height:100%;background:var(--accent);border-radius:var(--radius-full);transition:width var(--transition-base)}.alert{position:relative;padding:16px;border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--background)}.skeleton{background:linear-gradient(90deg,var(--muted) 25%,hsl(36,20%,88%) 50%,var(--muted) 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite;border-radius:var(--radius-md)}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.hero{position:relative;min-height:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:144px 24px 80px;background:var(--gradient-hero);overflow:hidden}.hero-bg{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.hero-pattern{position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(ellipse 80% 50% at 50% -20%,rgba(255,255,255,.1),transparent),radial-gradient(ellipse 60% 40% at 100% 100%,rgba(0,0,0,.2),transparent)}.hero-content{position:relative;z-index:1;max-width:1400px;text-align:center}.hero-logo{margin-bottom:24px}.logo-container{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;width:120px;height:120px;background:linear-gradient(145deg,#2a2a2a,#1a1a1a);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-xl);color:#fafafa;box-shadow:0 0 0 1px #ffffff0d,0 20px 40px -10px #00000080,inset 0 1px #ffffff1a}.logo-container svg{width:60px;height:60px}.logo-text{font-size:10px;font-weight:700;letter-spacing:2px;margin-top:4px;opacity:.7}.hero-title{font-size:clamp(36px,6vw,64px);font-weight:800;line-height:1.1;color:var(--text-inverse);margin-bottom:16px;letter-spacing:-.02em}.hero-subtitle{font-size:18px;color:var(--text-inverse-secondary);max-width:560px;margin:0 auto 32px;line-height:1.7}.search-container{margin-bottom:24px}.search-box{position:relative;max-width:720px;margin:0 auto 16px}.search-icon{position:absolute;right:20px;top:50%;transform:translateY(-50%);width:20px;height:20px;color:#6b7280;pointer-events:none;transition:color var(--transition-fast)}.search-input{width:100%;height:56px;padding:0 50px 0 24px;font-size:16px;color:#1f1f1f;background:#fff;border:1px solid rgba(0,0,0,.1);border-radius:8px;outline:none;transition:all var(--transition-base)}.search-input::-moz-placeholder{color:#6b7280}.search-input::placeholder{color:#6b7280}.search-input:focus{background:#fff;border-color:var(--accent);box-shadow:0 0 0 4px #10b9811a;color:#1f1f1f}.search-input:focus+.search-icon,.search-box:focus-within .search-icon{color:var(--accent)}[data-theme=light] .search-input:focus{background:#fff;color:#1f1f1f;border-color:var(--accent)}.suggestion-tag{font-size:13px;padding:6px 12px;color:var(--text-inverse-secondary);background:#ffffff14;border-radius:var(--radius-full);transition:all var(--transition-fast)}.suggestion-tag:hover{background:#ffffff26;color:var(--text-inverse)}.hero-actions{display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap}.hero-btn{width:250px!important;height:48px!important;display:inline-flex!important;justify-content:center!important;align-items:center!important;padding:0!important;margin:0!important;text-align:center!important;box-sizing:border-box!important}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;font-size:14px;font-weight:500;border-radius:var(--radius-md);transition:all var(--transition-fast);white-space:nowrap;cursor:pointer;outline:none;border:none;box-shadow:none!important;text-decoration:none!important}.btn:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.btn:disabled{pointer-events:none;opacity:.5}.btn svg{width:16px;height:16px;flex-shrink:0}.btn-primary{background:var(--primary);color:var(--primary-foreground);box-shadow:none!important}.btn-primary:hover{background:#dc2828;color:#fff}[data-theme=dark] .btn-primary{background:var(--accent);color:var(--accent-foreground)}[data-theme=dark] .btn-primary:hover{background:var(--accent-hover);color:var(--accent-foreground)}.btn-secondary{background:var(--secondary);color:var(--secondary-foreground)}.btn-secondary:hover{background:#dc2828;color:#fff}[data-theme=dark] .btn-secondary{background:var(--secondary);color:var(--secondary-foreground)}.btn-outline{background:var(--background);color:var(--foreground);border:1px solid var(--input)}.btn-outline:hover{background:#dc2828;color:#fff;border-color:#dc2828}.btn-outline:active,.btn-outline:focus{transform:none!important;box-shadow:none!important}.btn-outline-danger{background:transparent;color:var(--destructive);border:1px solid var(--destructive)}.btn-outline-danger:hover{background:var(--destructive);color:#fff;border-color:var(--destructive)}.btn-sm{height:36px;padding:6px 12px;font-size:13px;border-radius:var(--radius-md)}.btn-lg{height:44px;padding:12px 32px;font-size:16px;border-radius:var(--radius-md)}.btn-icon{width:40px;height:40px;padding:0}button:active,button:focus,[type=button]:active,[type=button]:focus,[type=submit]:active,[type=submit]:focus,[class*=btn]:active,[class*=btn]:focus{transform:none!important;outline:none}button:active:before,button:focus:before,button:active:after,button:focus:after,[type=button]:active:before,[type=button]:focus:before,[type=button]:active:after,[type=button]:focus:after,[type=submit]:active:before,[type=submit]:focus:before,[type=submit]:active:after,[type=submit]:focus:after{opacity:0!important;display:none!important}.stats-section{padding:80px 24px;background:var(--bg-hero);border-top:1px solid rgba(255,255,255,.1)}.stats-container{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:center;gap:40px}.stat-item{text-align:center}.stat-number{display:block;font-size:40px;font-weight:800;color:var(--text-inverse);margin-bottom:8px;line-height:1}.stat-label{font-size:14px;color:var(--text-inverse-secondary);font-weight:500}.stat-divider{width:1px;height:48px;background:#ffffff1a}@media(max-width:768px){.stats-container{flex-direction:column;gap:24px}.stat-divider{width:48px;height:1px}}.featured-section{padding:60px 24px;background:var(--bg-primary)}.section-container{max-width:1200px;margin:0 auto}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:40px}.section-header.centered{flex-direction:column;text-align:center;gap:12px}.section-title{font-size:28px;font-weight:700;color:var(--text-primary)}.section-subtitle{font-size:16px;color:var(--text-secondary);max-width:500px}.view-all{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:500;color:var(--text-secondary);transition:color var(--transition-fast)}.view-all svg{width:16px;height:16px;transition:transform var(--transition-fast)}.view-all:hover{color:var(--text-primary)}.view-all:hover svg{transform:translate(4px)}.tournaments-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px}.tournament-card{background:var(--card);color:var(--card-foreground);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm)}.card-image{position:relative;height:160px;background:var(--bg-tertiary);display:flex;align-items:center;justify-content:center}.card-placeholder{color:var(--text-tertiary)}.card-placeholder svg{width:48px;height:48px}.card-badge{position:absolute;top:12px;right:12px;padding:4px 10px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;background:#8d2032;color:#fff;border-radius:var(--radius-full)}.card-badge.featured{background:var(--accent);color:var(--bg-secondary)}.card-content{padding:20px}.card-meta{display:flex;align-items:center;gap:16px;margin-bottom:12px}.card-date{font-size:13px;color:var(--text-tertiary)}.card-location{display:flex;align-items:center;gap:4px;font-size:13px;color:var(--text-tertiary)}.card-location svg{width:14px;height:14px}.card-title{font-size:16px;font-weight:600;color:var(--text-primary);margin-bottom:8px;line-height:1.4}.card-description{font-size:14px;color:var(--text-secondary);margin-bottom:16px;line-height:1.5}.card-stats{display:flex;gap:20px;font-size:13px;color:var(--text-tertiary)}.card-stats strong{color:var(--text-primary)}.features-section{padding:100px 24px;background:var(--bg-tertiary)}.features-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px;margin-top:60px}.feature-card{padding:32px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);transition:all var(--transition-base)}.feature-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.feature-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--accent-light);border-radius:var(--radius-md);margin-bottom:20px}.feature-icon svg{width:24px;height:24px;color:var(--accent)}.feature-title{font-size:18px;font-weight:600;color:var(--text-primary);margin-bottom:12px}.feature-description{font-size:14px;color:var(--text-secondary);line-height:1.6}.cta-section{padding:100px 24px;background:var(--bg-hero)}.cta-container{max-width:800px;margin:0 auto;text-align:center}.cta-title{font-size:clamp(28px,4vw,40px);font-weight:700;color:var(--text-inverse);margin-bottom:16px}.cta-subtitle{font-size:18px;color:var(--text-inverse-secondary);margin-bottom:32px}.cta-actions{display:flex;justify-content:center}.footer{padding:80px 24px 40px;background:var(--bg-secondary);border-top:1px solid var(--border-color)}.footer-container{max-width:1200px;margin:0 auto}.footer-main{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;margin-bottom:24px}.footer-brand{display:flex;flex-direction:column;gap:24px;max-width:320px}.footer-logo{display:flex;align-items:center;gap:10px;font-weight:700;font-size:20px;color:var(--text-primary)}.footer-logo svg{width:28px;height:28px}.footer-description{font-size:15px;line-height:1.6;color:var(--text-secondary)}.footer-social{display:flex;gap:16px;margin-top:8px}.footer-social a{display:flex;align-items:center;justify-content:center;width:36px;height:36px;color:var(--text-secondary);border-radius:var(--radius-md);background:var(--bg-tertiary);transition:all var(--transition-fast)}.footer-social a:hover{background:var(--text-primary);color:var(--bg-secondary);transform:translateY(-2px)}.footer-social svg{width:18px;height:18px}.footer-links{display:contents}.footer-column{display:flex;flex-direction:column;gap:16px}.footer-column h4{font-size:15px;font-weight:700;color:var(--text-primary);margin-bottom:8px}.footer-column a{font-size:14px;color:var(--text-secondary);transition:color var(--transition-fast);width:-moz-fit-content;width:fit-content}.footer-column a:hover{color:var(--text-primary)}.footer-bottom{display:flex;align-items:center;justify-content:space-between;padding-top:32px;border-top:1px solid var(--border-color)}.footer-bottom p{font-size:14px;color:var(--text-tertiary)}.footer-legal{display:flex;gap:24px}.footer-legal a{font-size:14px;color:var(--text-tertiary);text-decoration:underline;text-decoration-color:transparent;text-underline-offset:4px;transition:all var(--transition-fast)}.footer-legal a:hover{color:var(--text-secondary);text-decoration-color:var(--text-secondary)}@media(max-width:1024px){.nav-links{position:fixed;top:64px;left:0;right:0;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);padding:16px 24px;flex-direction:column;align-items:stretch;gap:8px;transform:translateY(-100%);opacity:0;visibility:hidden;transition:all var(--transition-base);z-index:999;box-shadow:var(--shadow-md)}.nav-links.active{transform:translateY(0);opacity:1;visibility:visible}.nav-links .nav-link{justify-content:flex-start;width:100%}.mobile-menu-btn{display:flex;margin-right:auto;margin-left:12px}.nav-links:not(.active){pointer-events:none}}@media(max-width:768px){.nav-container{padding:0 16px}.hero{padding:120px 16px 60px}.hero-title{font-size:32px}.hero-subtitle{font-size:16px}.hero-actions{flex-direction:column;width:100%;gap:12px}.hero-btn{width:100%!important}.stats-container{flex-direction:column;gap:32px}.stat-divider{width:48px;height:1px}.stat-number{font-size:32px}.tournaments-grid,.features-grid{grid-template-columns:1fr}.section-header{flex-direction:column;align-items:flex-start;gap:16px}.footer-main{grid-template-columns:1fr;gap:40px}.footer-links{display:flex;flex-direction:column;gap:32px}.footer-bottom{flex-direction:column;gap:24px;text-align:center}.footer-legal{flex-direction:column;gap:12px;align-items:center}}@media(max-width:480px){.logo-container{width:80px;height:80px}.logo-container svg{width:40px;height:40px}.nav-brand span{display:none}.nav-brand span{display:block}}.hero-content>*{animation:fadeInUp .6s ease-out backwards}.hero-logo{animation-delay:.1s}.hero-title{animation-delay:.2s}.hero-subtitle{animation-delay:.3s}.search-container{animation-delay:.4s}.hero-actions{animation-delay:.5s}.hero-stats{animation:fadeInUp .6s ease-out .6s backwards}.hidden{display:none!important}.toast-container{position:fixed;top:24px;right:24px;z-index:10000;display:flex;flex-direction:column;gap:10px}.toast{min-width:300px;max-width:400px;padding:16px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);display:flex;align-items:flex-start;gap:12px;position:relative;overflow:hidden}.toast:before{display:none}.toast.toast-success{border:1px solid #10b981;border-left:5px solid #10b981}.toast.toast-error{border:1px solid #8d2032;border-left:5px solid #8d2032}.toast.toast-warning{border:1px solid #f59e0b;border-left:5px solid #f59e0b}.toast.toast-info{border:1px solid var(--accent);border-left:5px solid var(--accent)}.toast-icon{flex-shrink:0;width:20px;height:20px}.toast-success .toast-icon{color:#10b981}.toast-error .toast-icon{color:#8d2032}.toast-warning .toast-icon{color:#f59e0b}.toast-info .toast-icon{color:var(--accent)}.toast-content{flex-grow:1}.toast-message{font-size:14px;color:var(--text-primary);line-height:1.4;word-break:break-word}.toast-close{flex-shrink:0;width:16px;height:16px;cursor:pointer;color:var(--text-tertiary);transition:color .2s}.toast-close:hover{color:var(--text-primary)}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes fadeOut{to{transform:translate(100%);opacity:0}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.btn{position:relative;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1);z-index:1}.btn:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;padding:2px;background:linear-gradient(45deg,var(--accent),transparent,var(--accent));background-size:200% 200%;animation:gradientShift 3s ease infinite;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .4s ease;z-index:2;pointer-events:none}span.ripple{position:absolute;border-radius:50%;transform:scale(0);animation:ripple .6s linear;background-color:#0000001a;pointer-events:none}@keyframes ripple{to{transform:scale(4);opacity:0}}.btn:hover:before{opacity:1}.btn:after{content:"";position:absolute;width:100%;height:100%;top:0;left:0;pointer-events:none;background-image:radial-gradient(circle,rgba(255,255,255,.2) 10%,transparent 10.01%);background-repeat:no-repeat;background-position:50%;transform:scale(10);opacity:0;transition:transform .5s,opacity 1s;z-index:-2}.btn:active:after{transform:scale(0);opacity:.3;transition:0s}.btn:active,.btn:focus{transform:none!important;outline:none}.btn:active:before,.btn:focus:before,.btn:active:after,.btn:focus:after{display:none!important}.btn-primary{box-shadow:0 4px 15px #2f8f6a4d;border:1px solid transparent}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 25px #2f8f6a66;background:var(--accent-hover)}.btn-primary:active,.btn-primary:focus{transform:none!important;box-shadow:0 4px 15px #2f8f6a4d!important}.btn-secondary{position:relative}.btn-secondary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #00000026;border-color:transparent}.btn-secondary:active,.btn-secondary:focus{transform:none!important;box-shadow:none!important}.card,[class*=card]{transition:all .3s cubic-bezier(.4,0,.2,1)}.card:hover,[class*=card]:hover{transform:translateY(-4px)}.nav-link{position:relative}.hero{animation:fadeIn .8s ease-out}.hero-content{animation:fadeInUp .8s ease-out .2s backwards}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #2f8f6a26;transition:all .3s ease}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-tertiary)}::-webkit-scrollbar-thumb{background:var(--border-color-strong);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--accent)}main,.main-content,.page-content{animation:fadeIn .4s ease-out}section{animation:fadeInUp .6s ease-out backwards}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes pulse-ring{0%{transform:scale(.8);opacity:1}to{transform:scale(1.5);opacity:0}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton,.loading-placeholder{background:linear-gradient(90deg,var(--bg-tertiary) 25%,var(--bg-secondary) 50%,var(--bg-tertiary) 75%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite}.modal-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;color:var(--text-tertiary);transition:all .2s ease;cursor:pointer;background:transparent;border:none}.modal-close:hover{background:var(--bg-tertiary);color:var(--text-primary)}.modal-close svg{width:20px;height:20px}.modal-container{background:var(--bg-card);width:100%;max-width:500px;border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);border:1px solid var(--border-color)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--border-color)}.modal-header h3{font-size:18px;font-weight:700;color:var(--text-primary);margin:0}.modal-body{padding:24px}.modal{animation:fadeIn .2s ease-out}.modal-content{animation:scaleIn .3s ease-out}[data-tooltip]:after{transition:opacity .2s ease,transform .2s ease}[data-tooltip]:hover:after{transform:translateY(-2px)}input[type=checkbox]:checked,input[type=radio]:checked{animation:checkPop .3s ease}@keyframes checkPop{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1)}}.footer a{transition:color .2s ease,transform .2s ease}.footer a:hover{color:var(--accent);transform:translate(4px)}table tbody tr{transition:background-color .2s ease}table tbody tr:hover{background-color:var(--bg-tertiary)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.usage-warning{color:#f59e0b!important;font-weight:600;animation:pulse-warning 2s ease-in-out infinite}@keyframes pulse-warning{0%,to{opacity:1}50%{opacity:.7}}#ocrUsageDisplay,#gameUsageDisplay{font-size:13px;font-weight:500;padding:4px 10px;border-radius:var(--radius-sm);background:var(--bg-tertiary);transition:all var(--transition-fast)}#ocrUsageDisplay.usage-warning,#gameUsageDisplay.usage-warning{background:#f59e0b26;border:1px solid rgba(245,158,11,.3)}
