*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}:root{--bg-primary: #ffffff;--bg-secondary: #f5f5f5;--text-primary: #000000;--text-secondary: #666666;--border: #e0e0e0;--shadow: rgba(0, 0, 0, .08)}.app.dark-mode{--bg-primary: #000000;--bg-secondary: #1a1a1a;--text-primary: #ffffff;--text-secondary: #999999;--border: #333333;--shadow: rgba(255, 255, 255, .05)}body{font-family:"Instrument Serif",serif;background:var(--bg-primary);color:var(--text-primary);transition:background .4s ease,color .4s ease;font-display:swap}.app{min-height:100vh;padding-bottom:80px;background:var(--bg-primary);transition:background .4s ease}.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}.navbar{position:sticky;top:0;background:var(--bg-primary);border-bottom:1px solid var(--border);padding:1rem 2rem;z-index:100;backdrop-filter:blur(10px);transition:all .3s ease}.navbar-container{max-width:1400px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}.logo{font-family:Monsieur La Doulaise,cursive;font-size:2.5rem;color:var(--text-primary);text-decoration:none;transition:transform .3s ease}.logo:hover{transform:scale(1.05)}.logo:focus{outline:2px solid var(--text-primary);outline-offset:4px;border-radius:4px}.navbar-actions{display:flex;gap:1rem;align-items:center}.theme-toggle,.menu-toggle{background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-primary);cursor:pointer;padding:.6rem;border-radius:50%;transition:all .3s ease;display:flex;align-items:center;justify-content:center}.theme-toggle:hover,.menu-toggle:hover{transform:scale(1.1) rotate(10deg);border-color:var(--text-primary)}.theme-toggle:active,.menu-toggle:active{transform:scale(.95)}.theme-toggle:focus,.menu-toggle:focus{outline:2px solid var(--text-primary);outline-offset:2px}.dropdown-menu{position:absolute;top:100%;right:2rem;background:var(--bg-primary);border:1px solid var(--border);border-radius:12px;padding:.5rem;margin-top:.5rem;box-shadow:0 8px 24px var(--shadow);min-width:200px;animation:slideDown .3s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.dropdown-menu a{display:block;padding:.75rem 1rem;color:var(--text-primary);text-decoration:none;border-radius:8px;transition:all .2s ease}.dropdown-menu a:hover{background:var(--bg-secondary);transform:translate(5px)}.dropdown-menu a:focus{outline:2px solid var(--text-primary);outline-offset:-2px}.main-content{max-width:1400px;margin:0 auto;padding:2rem;background:var(--bg-primary);transition:background .4s ease}.page-container{background:var(--bg-primary);transition:background .4s ease}.page-container h1{font-family:"Instrument Serif",serif;font-size:2.5rem;margin-bottom:2rem;color:var(--text-primary);font-weight:600;transition:color .4s ease}.wallpaper-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.wallpaper-card{position:relative;overflow:hidden;border-radius:12px;cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 12px var(--shadow);border:1px solid var(--border);animation:fadeInUp .5s ease backwards;aspect-ratio:16 / 9;width:100%;min-height:0}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.wallpaper-card:nth-child(1){animation-delay:.05s}.wallpaper-card:nth-child(2){animation-delay:.1s}.wallpaper-card:nth-child(3){animation-delay:.15s}.wallpaper-card:nth-child(4){animation-delay:.2s}.wallpaper-card:nth-child(5){animation-delay:.25s}.wallpaper-card:nth-child(6){animation-delay:.3s}.wallpaper-card:hover{transform:translateY(-8px);box-shadow:0 12px 28px var(--shadow);border-color:var(--text-primary)}.wallpaper-card:focus{outline:2px solid var(--text-primary);outline-offset:2px}.wallpaper-card:focus:not(:focus-visible){outline:none}.wallpaper-card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease,opacity .3s ease;aspect-ratio:16 / 9}.wallpaper-card:hover img{transform:scale(1.05)}.wallpaper-skeleton{position:absolute;top:0;left:0;width:100%;height:100%;background:var(--bg-secondary);border-radius:12px;overflow:hidden}.skeleton-shimmer{width:100%;height:100%;background:linear-gradient(90deg,var(--bg-secondary) 0%,var(--border) 50%,var(--bg-secondary) 100%);background-size:200% 100%;animation:shimmer 1.5s infinite}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.categories-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.5rem}.category-card{background:var(--bg-secondary);border:2px solid var(--border);border-radius:12px;padding:3rem 2rem;cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1);text-align:center;animation:fadeInUp .5s ease backwards;font-family:"Instrument Serif",serif;color:var(--text-primary)}.category-card:hover{background:var(--text-primary);color:var(--bg-primary);transform:translateY(-8px) scale(1.02);box-shadow:0 12px 28px var(--shadow);border-color:var(--text-primary)}.category-card:focus{outline:2px solid var(--text-primary);outline-offset:2px}.category-card h3{font-size:1.5rem;font-weight:600;transition:transform .3s ease;font-family:"Instrument Serif",serif;color:inherit}.category-card:hover h3{transform:scale(1.1)}.back-btn,.shuffle-btn{background:var(--text-primary);color:var(--bg-primary);border:none;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-size:1rem;transition:all .3s ease;font-family:"Instrument Serif",serif;display:inline-flex;align-items:center;gap:.5rem;font-weight:600}.back-btn{margin-bottom:2rem}.back-btn:hover{transform:translate(-5px);box-shadow:0 4px 12px var(--shadow)}.shuffle-btn:hover{transform:translateY(-2px) rotate(5deg);box-shadow:0 4px 12px var(--shadow)}.back-btn:active,.shuffle-btn:active{transform:scale(.95)}.back-btn:focus,.shuffle-btn:focus{outline:2px solid var(--text-primary);outline-offset:2px}.shuffle-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.shuffle-btn:disabled:hover{transform:none;box-shadow:none}.modal-overlay{position:fixed;inset:0;background:#000000f2;display:flex;justify-content:center;align-items:center;z-index:1000;padding:2rem;animation:fadeIn .3s ease;backdrop-filter:blur(10px)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{position:relative;max-width:90vw;max-height:90vh;background:var(--bg-primary);border-radius:12px;overflow:hidden;display:flex;flex-direction:column;border:1px solid var(--border);animation:scaleIn .4s cubic-bezier(.4,0,.2,1)}@keyframes scaleIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.modal-content img{max-width:100%;max-height:calc(90vh - 80px);object-fit:contain}.modal-close{position:absolute;top:1rem;right:1rem;background:var(--bg-primary);border:1px solid var(--border);color:var(--text-primary);padding:.6rem;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:10;transition:all .3s ease}.modal-close:hover{transform:scale(1.1) rotate(90deg);background:var(--text-primary);color:var(--bg-primary)}.modal-close:focus{outline:2px solid var(--text-primary);outline-offset:2px}.download-btn{background:var(--text-primary);color:var(--bg-primary);border:none;padding:1rem 2rem;margin:1rem;border-radius:8px;cursor:pointer;display:flex;align-items:center;gap:.5rem;justify-content:center;font-size:1rem;font-weight:600;transition:all .3s ease;font-family:"Instrument Serif",serif}.download-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px var(--shadow)}.download-btn:active{transform:scale(.98)}.download-btn:focus{outline:2px solid var(--text-primary);outline-offset:2px}.bottom-nav{position:fixed;bottom:0;left:0;right:0;background:var(--bg-primary);border-top:1px solid var(--border);display:flex;justify-content:space-around;padding:1rem;box-shadow:0 -2px 12px var(--shadow);z-index:100;backdrop-filter:blur(10px);transition:all .4s ease}.nav-item{display:flex;flex-direction:column;align-items:center;gap:.25rem;color:var(--text-secondary);text-decoration:none;padding:.5rem 1rem;border-radius:8px;transition:all .3s ease;font-size:.875rem}.nav-item.active{color:var(--text-primary);background:var(--bg-secondary);transform:translateY(-3px)}.nav-item:hover{color:var(--text-primary);transform:translateY(-3px)}.nav-item:active{transform:scale(.95)}.nav-item:focus{outline:2px solid var(--text-primary);outline-offset:2px}.about-page p{font-size:1.125rem;line-height:1.8;margin-bottom:2rem;color:var(--text-secondary)}.social-links{margin-top:3rem}.social-links h2{font-size:1.5rem;margin-bottom:1.5rem}.social-links a{display:flex;align-items:center;gap:1rem;padding:1rem;margin-bottom:1rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;color:var(--text-primary);text-decoration:none;transition:all .3s ease}.social-links a:hover{background:var(--text-primary);color:var(--bg-primary);transform:translate(10px);box-shadow:0 4px 12px var(--shadow)}.social-links a:focus{outline:2px solid var(--text-primary);outline-offset:2px}.loading{text-align:center;padding:4rem;font-size:1.25rem;color:var(--text-secondary);animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.5}50%{opacity:1}}@media (max-width: 768px){.navbar{padding:1rem}.logo{font-size:2rem}.main-content{padding:1rem}.page-container h1{font-size:2rem}.wallpaper-grid{grid-template-columns:1fr;gap:1rem}.wallpaper-card,.wallpaper-card img{aspect-ratio:9 / 16}.categories-grid{grid-template-columns:1fr}.modal-content{margin:1rem}.shuffle-btn{padding:.5rem 1rem;font-size:.875rem}}@media (min-width: 769px){.wallpaper-card,.wallpaper-card img{aspect-ratio:16 / 9}}
