:root{--primary-color: #7138cc;--primary-hover: #8e47ff;--bg-color: #1f1f23;--bg-secondary: #2a2a2e;--bg-tertiary: #3a3a3e;--text-color: #e4e4e7;--text-secondary: #a1a1aa;--border-color: #404040;--hover-color: rgba(139, 92, 246, .1);--accent-color: #8b5cf6}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-color);color:var(--text-color)}.app{max-width:1200px;margin:0}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 1rem;box-sizing:border-box}h1,h2,h3,h4,h5,h6{color:var(--text-color);margin-bottom:1rem}a{color:var(--primary-color);text-decoration:none;transition:opacity .2s ease}a:hover{opacity:.8}.button{background:var(--primary-color);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:6px;cursor:pointer;transition:all .2s ease;font-weight:500}.button:hover{background:var(--primary-hover);transform:translateY(-1px)}.back-link{display:inline-block;margin-top:1rem;padding:.5rem 1rem;border:1px solid var(--primary-color);border-radius:6px;transition:all .2s ease}.back-link:hover{background:var(--hover-color);transform:translateY(-1px)}.main-nav{background:var(--bg-color);border-bottom:1px solid var(--border-color);padding:1rem 0;margin-bottom:1rem}.main-nav ul{list-style:none;padding:0;margin:0;display:flex;justify-content:center}.main-nav a{color:var(--text-color);text-decoration:none;padding:.5rem 1rem;border-radius:4px;transition:all .2s ease}.main-nav a:hover{background:var(--hover-color);opacity:1}.main-nav a.active{color:var(--primary-color);background:var(--hover-color)}.main-nav{margin-bottom:1rem}.dropdown{position:relative;width:250px;margin:0 auto}.dropdown-toggle{width:100%;padding:12px 20px;background:var(--bg-secondary);border:1px solid var(--primary-color);border-radius:6px;color:var(--text-color);font-size:1rem;cursor:pointer;display:flex;justify-content:space-between;align-items:center}.dropdown-toggle:hover{background:var(--bg-tertiary)}.dropdown-arrow{margin-left:10px;font-size:.8rem}.dropdown-menu{position:absolute;top:100%;left:0;right:0;margin-top:4px;background:var(--bg-secondary);border:1px solid var(--primary-color);border-radius:6px;padding:8px 0;list-style:none;z-index:1000}.dropdown-menu li{padding:0}.dropdown-menu a{display:block;padding:8px 20px;color:var(--text-color);text-decoration:none;transition:background-color .2s}.dropdown-menu a:hover{background:var(--bg-tertiary)}.dropdown-menu a.active{background:var(--primary-color);color:var(--bg-color)}.main-nav{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:var(--bg-color);border-bottom:1px solid var(--border-color);position:relative;z-index:100}.nav-logo{color:var(--primary-color);text-decoration:none;font-size:1.25rem;font-weight:600}.hamburger-menu{position:relative}.menu-toggle{display:flex;flex-direction:column;justify-content:space-between;width:30px;height:21px;background:transparent;border:none;cursor:pointer;padding:0}.hamburger-line{width:100%;height:3px;background-color:var(--primary-color);transition:all .3s ease}.menu-items{position:absolute;right:0;top:100%;margin-top:.5rem;background:var(--bg-secondary);z-index:100;border:1px solid var(--border-color);border-radius:8px;padding:0;list-style:none;min-width:240px;box-shadow:0 4px 6px #0000004d;display:flex;flex-direction:column}.menu-items li a{display:block;padding:.75rem 1.5rem;color:var(--text-color);text-decoration:none;transition:all .2s ease;width:100%;box-sizing:border-box;font-size:1.1rem}.menu-items li:not(:last-child):after{content:"";display:block;width:80%;height:1px;background:var(--border-color);margin:0 auto}.menu-items li a:hover{background:var(--hover-color);color:var(--primary-color)}.menu-items li a.active{color:var(--primary-color);background:var(--hover-color)}.container h1{text-align:center}.error-container{display:flex;align-items:center;justify-content:center;min-height:50vh;padding:2rem}.error-content{text-align:center;max-width:500px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:2rem}.error-content h2{color:#ef4444;margin-bottom:1rem}.error-content p{color:var(--text-secondary);margin-bottom:1.5rem;line-height:1.5}.error-details{margin-top:1rem;text-align:left}.error-details summary{cursor:pointer;color:var(--text-secondary);margin-bottom:.5rem}.error-details pre{background:var(--bg-color);border:1px solid var(--border-color);border-radius:4px;padding:1rem;font-size:.875rem;color:var(--text-color);overflow-x:auto}.project-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:1.5rem;transition:all .3s ease;box-shadow:0 4px 6px #0003;position:relative;z-index:1;display:block;text-decoration:none;color:inherit}.project-card:hover{transform:translateY(-4px);box-shadow:0 0 20px #7138cc4d;border-color:var(--primary-color);opacity:1}.project-card h2{color:var(--primary-color);margin:0 0 1rem;font-size:1.25rem}.project-card p{color:var(--text-secondary);margin:0;line-height:1.5}.project-index h1{color:var(--text-color);font-size:2.5rem;margin-bottom:2rem;text-align:center}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;gap:1rem}.loading-spinner{border:3px solid var(--border-color);border-top:3px solid var(--primary-color);border-radius:50%;animation:spin 1s linear infinite}.loading-spinner--small{width:24px;height:24px;border-width:2px}.loading-spinner--medium{width:40px;height:40px;border-width:3px}.loading-spinner--large{width:60px;height:60px;border-width:4px}.loading-message{color:var(--text-secondary);font-size:1rem;margin:0;text-align:center}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}body{margin:0;font-family:Poppins,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#1f1f23;color:#e4e4e7}.app{max-width:1200px;margin:0 auto}.project-index h1{color:#e4e4e7;font-size:2.5rem;margin-bottom:2rem;text-align:center}.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2rem;margin-top:2rem}.project-card{background:#2a2a2e;border:1px solid #404040;border-radius:12px;padding:1.5rem;transition:all .3s ease;box-shadow:0 4px 6px #0003;position:relative;z-index:1}.project-card:hover{transform:translateY(-4px);box-shadow:0 0 20px #8b5cf64d;border-color:#8b5cf6}.project-card h2{color:#8b5cf6;margin:0 0 1rem}
