@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}:root{--spacing-xs:0.25rem;--spacing-sm:0.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--primary-color:#2471A3;--primary-light:#3b82f6;--text-primary:#1f2937;--text-secondary:#4b5563;--text-muted:#6b7280;--background-secondary:#f9fafb;--border-color:#d1d5db;--border-radius-full:50px;--transition-base:0.3s ease;--shadow-sm:0 2px 4px rgba(0,0,0,0.1)}[data-theme=dark]{--text-primary:#f1f5f9;--text-secondary:#cbd5e1;--text-muted:#94a3b8;--background-secondary:#1e293b;--border-color:#475569}.tutorial-card,.tutorial-content,.tutorial-description,.tutorial-difficulty,.tutorial-icon,.tutorial-meta,.tutorial-title,.tutorials-hero,.tutorials-section{box-sizing:border-box}.tutorials-hero{background:linear-gradient(135deg,#667eea 0,#764ba2 100%,#f093fb 100%);color:#fff;padding:120px 0 80px;text-align:center;position:relative;overflow:hidden;margin-top:0;box-shadow:0 10px 30px rgba(0,0,0,.1)}.tutorials-hero::before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1000 1000"><polygon fill="rgba(255,255,255,0.08)" points="0,1000 1000,0 1000,1000"/></svg>');background-size:cover}.tutorials-hero::after{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.1) 1px,transparent 1px);background-size:50px 50px;animation:float 20s ease-in-out infinite;opacity:.3}.tutorials-hero .container{position:relative;z-index:1}.tutorials-hero h1{font-size:clamp(2.5rem,5vw,4rem);font-weight:700;margin-bottom:1.5rem;text-shadow:2px 2px 4px rgba(0,0,0,.3);color:#fff}.tutorials-hero p{font-size:1.25rem;margin-bottom:2rem;opacity:.9;max-width:600px;margin-left:auto;margin-right:auto;color:#fff}.tutorials-stats{display:flex;justify-content:center;gap:2rem;margin-top:2rem}.stat-item{text-align:center}.stat-number{display:block;font-size:2.5rem;font-weight:700;color:#fff}.stat-label{font-size:.9rem;opacity:.8;text-transform:uppercase;letter-spacing:1px}.tutorials-section{padding:4rem 0;background:linear-gradient(180deg,#f8f9fa 0,#fff 100%);position:relative}.tutorials-section::before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1000 1000" opacity="0.03"><circle cx="200" cy="200" r="3" fill="%23667eea"/><circle cx="600" cy="400" r="2" fill="%23764ba2"/><circle cx="800" cy="100" r="2" fill="%238b5cf6"/><circle cx="300" cy="600" r="3" fill="%23667eea"/><circle cx="900" cy="700" r="2" fill="%23764ba2"/></svg>');background-size:300px 300px;animation:float 30s ease-in-out infinite}.container{max-width:1200px;margin:0 auto;padding:0 1rem}.tutorials-filters{margin-bottom:var(--spacing-xl);display:flex;flex-wrap:wrap;gap:var(--spacing-lg);align-items:center}.search-box{position:relative;flex-grow:1;min-width:250px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.search-input{width:100%;padding:1.25rem 1.25rem 1.25rem 55px;border:2px solid var(--border-color);border-radius:25px;font-size:1rem;transition:all .4s ease;background:rgba(255,255,255,.95);color:var(--text-primary);backdrop-filter:blur(10px);box-shadow:0 4px 15px rgba(0,0,0,.08)}.search-input::placeholder{color:var(--text-muted);font-weight:500}.search-input:focus{outline:0;border-color:var(--primary-color);box-shadow:0 0 0 4px rgba(37,99,235,.15),0 8px 25px rgba(0,0,0,.1);transform:translateY(-2px);background:#fff}.search-icon{position:absolute;top:50%;left:15px;transform:translateY(-50%);color:var(--text-secondary);font-size:1.1rem}.filter-tags{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.filter-tag{min-height:48px;display:inline-flex;align-items:center;justify-content:center;background-color:rgba(255,255,255,.95);color:var(--text-secondary);padding:12px 20px;border-radius:30px;cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1);font-weight:700;border:2px solid var(--border-color);appearance:none;font-size:.9rem;backdrop-filter:blur(10px);box-shadow:0 4px 15px rgba(0,0,0,.05);text-transform:capitalize;letter-spacing:.5px}.filter-tag:hover{background-color:var(--primary-color);color:#fff;border-color:var(--primary-color);transform:translateY(-3px);box-shadow:0 8px 25px rgba(37,99,235,.3)}.filter-tag.active,.filter-tag[aria-pressed=true]{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-light) 100%);color:#fff;border-color:var(--primary-color);box-shadow:0 6px 20px rgba(37,99,235,.25);transform:translateY(-2px)}.tutorials-section .tutorials-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:2.5rem;margin-top:3rem;position:relative;z-index:1}.tutorials-section .tutorial-card,.tutorials-section .tutorial-image{overflow:hidden;position:relative;display:flex;backdrop-filter:blur(10px)}.tutorials-section .tutorial-card{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-light) 50%,#8b5cf6 100%);border-radius:20px;box-shadow:0 8px 32px rgba(0,0,0,.12);transition:all .4s cubic-bezier(.4,0,.2,1);text-decoration:none;color:#fff;min-height:480px;flex-direction:column;border:1px solid rgba(255,255,255,.1)}.tutorials-section .tutorial-card:hover{transform:translateY(-15px) scale(1.03);box-shadow:0 25px 50px rgba(0,0,0,.15);border-color:rgba(255,255,255,.3)}.tutorials-section .tutorial-card::before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,rgba(255,255,255,.1)0,rgba(255,255,255,.05) 100%);opacity:0;transition:opacity .3s ease}.tutorials-section .tutorial-card:hover::before{opacity:1}.tutorials-section .tutorial-image{height:220px;align-items:center;justify-content:center;background:linear-gradient(135deg,rgba(255,255,255,.9)0,rgba(248,249,250,.9) 100%)}.tutorials-section .tutorial-card .tutorial-image .tutorial-img,.tutorials-section .tutorial-card .tutorial-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease;display:block}.tutorials-section .tutorial-badge{position:absolute;top:12px;right:12px;background:linear-gradient(135deg,#667eea 0,#764ba2 100%);color:#fff;padding:6px 12px;border-radius:20px;font-size:.7rem;font-weight:600}.tutorials-section .tutorial-content{padding:20px;flex:1;display:flex;flex-direction:column}.tutorials-section .tutorial-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.tutorials-section .tutorial-category{display:flex;align-items:center;gap:8px;font-size:.85rem;font-weight:700;color:#fff;text-transform:capitalize;background:rgba(255,255,255,.25);padding:6px 12px;border-radius:20px;border:1px solid rgba(255,255,255,.2);backdrop-filter:blur(10px);text-shadow:0 1px 2px rgba(0,0,0,.1)}.tutorials-section .tutorial-category i{font-size:1rem}.tutorials-section .tutorial-footer{margin-top:auto;padding-top:16px;border-top:1px solid rgba(255,255,255,.2)}.tutorials-section .tutorial-link{display:inline-flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font-weight:700;font-size:.95rem;transition:all .4s cubic-bezier(.4,0,.2,1);padding:12px 20px;background:rgba(255,255,255,.25);border-radius:25px;border:1px solid rgba(255,255,255,.3);backdrop-filter:blur(15px);position:relative;overflow:hidden;text-shadow:0 1px 2px rgba(0,0,0,.1)}.tutorials-section .tutorial-link:hover{color:var(--primary-color);background:rgba(255,255,255,.95);border-color:rgba(255,255,255,.8);transform:translateX(6px) translateY(-2px);box-shadow:0 8px 20px rgba(0,0,0,.15)}.tutorials-section .tutorial-link::before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.tutorials-section .tutorial-link:hover::before{left:100%}.tutorials-section .tutorial-link i{transition:transform .3s ease}.tutorials-section .tutorial-link:hover i{transform:translateX(4px)}.tutorials-section .tutorial-title{font-size:1.25rem;font-weight:700;color:#fff;margin-bottom:12px;line-height:1.4;height:calc(1.4em*2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.tutorials-section .tutorial-description{color:rgba(255,255,255,.9);font-size:1rem;line-height:1.6;margin-bottom:16px;flex-grow:1;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.tutorials-section .tutorial-meta{display:flex;align-items:center;justify-content:space-between;font-size:.85rem;padding-top:1rem;margin-top:auto;border-top:1px solid #e9ecef}.tutorials-section .tutorial-difficulty{display:flex;align-items:center;gap:8px;font-weight:600}.difficulty-dot{width:12px;height:12px;border-radius:50%;background:rgba(255,255,255,.3);transition:all .3s ease;border:1px solid rgba(255,255,255,.4)}.difficulty-dot.active{background:#fff;transform:scale(1.3);box-shadow:0 0 8px rgba(255,255,255,.7),0 0 15px rgba(255,255,255,.4);border-color:rgba(255,255,255,.8)}.tutorials-section .tutorial-icon{font-size:18px;color:#3b82f6;background:linear-gradient(135deg,rgba(59,130,246,.1)0,rgba(147,51,234,.1) 100%);border-radius:50%;display:flex;align-items:center;justify-content:center;width:40px;height:40px;min-width:40px}.tutorial-card:hover .tutorial-icon{transform:rotate(5deg) scale(1.1);box-shadow:0 4px 12px rgba(59,130,246,.3)}.tutorial-card:hover .tutorial-image img{transform:scale(1.05)}@media (max-width:1024px){.tutorials-section .tutorials-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2rem}.tutorials-filters{flex-direction:column;gap:1.5rem;align-items:stretch}.filter-tags{justify-content:center}}@media (max-width:768px){.tutorials-hero{padding:100px 0 50px}.tutorials-hero h1{font-size:clamp(2rem,6vw,3rem)}.tutorials-hero p{font-size:1.1rem;padding:0 1rem}.tutorials-stats{flex-direction:column;gap:1.5rem}.stat-item{padding:1rem;background:rgba(255,255,255,.1);border-radius:15px;backdrop-filter:blur(10px)}.tutorials-section .tutorials-grid{grid-template-columns:1fr;gap:2rem}.tutorials-section .tutorial-card{min-height:400px;margin:0 1rem}.search-input{padding:1rem 1rem 1rem 45px;font-size:.95rem}.filter-tags{justify-content:flex-start;overflow-x:auto;padding-bottom:.5rem}.filter-tag{min-height:48px;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;flex-shrink:0;font-size:.85rem;padding:10px 16px}}@media (max-width:480px){.tutorials-hero{padding:80px 0 40px}.tutorials-section{padding:2rem 0}.tutorials-section .tutorial-card{min-height:380px;margin:0 .5rem;border-radius:16px}.tutorials-section .tutorial-content{padding:16px}.tutorials-section .tutorial-title{font-size:1.1rem}.tutorials-section .tutorial-description{font-size:.9rem}.search-box{min-width:200px}.container{padding:0 .75rem}}@media (prefers-reduced-motion:reduce){*,::after,::before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.tutorials-hero::after,.tutorials-section::before{animation:none!important}}[data-theme=dark] .tutorials-hero{background:linear-gradient(135deg,#1e293b 0,#334155 50%,#0f172a 100%);box-shadow:0 10px 30px rgba(0,0,0,.3)}[data-theme=dark] .tutorials-section{background:linear-gradient(180deg,#0f172a 0,#1e293b 100%)}[data-theme=dark] .search-input{background:rgba(30,41,59,.9);border-color:#475569;color:#e2e8f0}[data-theme=dark] .search-input::placeholder{color:#94a3b8}[data-theme=dark] .search-input:focus{background:#1e293b;border-color:#3b82f6;box-shadow:0 0 0 4px rgba(59,130,246,.15),0 8px 25px rgba(0,0,0,.2)}[data-theme=dark] .filter-tag{min-height:48px;display:inline-flex;align-items:center;justify-content:center;background:rgba(30,41,59,.9);color:#e2e8f0;border-color:#475569}[data-theme=dark] .filter-tag:hover{background:#3b82f6;color:#fff;box-shadow:0 8px 25px rgba(59,130,246,.3)}[data-theme=dark] .tutorials-section .tutorial-card{background:linear-gradient(135deg,#1e293b 0,#334155 50%,#0f172a 100%);border-color:rgba(71,85,105,.3)}[data-theme=dark] .tutorials-section .tutorial-card:hover{border-color:rgba(59,130,246,.5);box-shadow:0 25px 50px rgba(0,0,0,.4)}[data-theme=dark] .no-results{color:#94a3b8}[data-theme=dark] .no-results h3{color:#e2e8f0}[data-theme=dark] .search-loading{background:rgba(30,41,59,.95);color:#e2e8f0;border-color:#475569}.filter-tag:focus-visible,.search-input:focus-visible,.tutorial-card:focus-visible{outline:3px solid #3b82f6;outline-offset:2px;border-radius:8px}@media (prefers-contrast:high){.tutorials-section .tutorial-card{border:2px solid currentColor}.filter-tag{min-height:48px;display:inline-flex;align-items:center;justify-content:center}.filter-tag,.search-input{border-width:2px}.difficulty-dot{border:2px solid currentColor}}