:root{--bg-primary: #0f1419;--bg-secondary: #1a1f2c;--bg-card: #242b38;--bg-card-hover: #2d3648;--text-primary: #c5c8c6;--text-secondary: #969896;--text-accent: #81a2be;--border-color: #373b41;--border-radius: 12px;--spacing-xs: .5rem;--spacing-sm: 1rem;--spacing-md: 1.5rem;--spacing-lg: 2rem;--spacing-xl: 3rem;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, sans-serif;--font-mono: "Fira Code", "Consolas", monospace;--max-width: 1200px;--header-height: 64px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font-sans);background-color:var(--bg-primary);color:var(--text-primary);line-height:1.6;min-height:100vh}a{color:var(--text-accent);text-decoration:none;transition:color .2s ease}a:hover{color:#a3c9e8}#app{display:flex;flex-direction:column;min-height:100vh}.main{flex:1;width:100%;max-width:var(--max-width);margin:0 auto;padding:var(--spacing-lg)}.header{background-color:var(--bg-secondary);border-bottom:1px solid var(--border-color);position:sticky;top:0;z-index:100;height:var(--header-height)}.header-content{max-width:var(--max-width);margin:0 auto;padding:0 var(--spacing-lg);height:100%;display:flex;align-items:center;justify-content:space-between}.logo{display:flex;align-items:center;gap:var(--spacing-sm)}.logo-icon{font-size:2rem}.logo h1{font-size:1.5rem;font-weight:600;color:var(--text-primary)}.nav{display:flex;align-items:center;gap:var(--spacing-md)}.nav-link{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);border-radius:8px;color:var(--text-secondary);transition:all .2s ease}.nav-link:hover{color:var(--text-primary);background-color:var(--bg-card)}.nav-link svg{width:20px;height:20px}.hero{text-align:center;padding:var(--spacing-xl) 0;margin-bottom:var(--spacing-lg)}.hero h2{font-size:2rem;font-weight:600;margin-bottom:var(--spacing-md);color:var(--text-primary)}.hero p{font-size:1.125rem;color:var(--text-secondary);max-width:600px;margin:0 auto;line-height:1.8}.projects-section h3{font-size:1.25rem;font-weight:600;margin-bottom:var(--spacing-md);color:var(--text-secondary)}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--spacing-md)}.loading,.no-projects{grid-column:1 / -1;text-align:center;padding:var(--spacing-xl);color:var(--text-secondary)}.project-card{--card-color: var(--text-accent);display:flex;flex-direction:column;background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:var(--spacing-md);transition:all .3s ease;cursor:pointer;text-decoration:none;color:inherit;position:relative;overflow:hidden}.project-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--card-color);transform:scaleX(0);transition:transform .3s ease}.project-card:hover{background-color:var(--bg-card-hover);border-color:var(--card-color);transform:translateY(-4px);box-shadow:0 12px 24px #0000004d}.project-card:hover:before{transform:scaleX(1)}.project-card.card-clicked{transform:scale(.98)}.card-icon{font-size:2.5rem;margin-bottom:var(--spacing-sm)}.card-content{flex:1}.card-title{font-size:1.25rem;font-weight:600;margin-bottom:var(--spacing-xs);color:var(--text-primary)}.card-description{font-size:.9rem;color:var(--text-secondary);line-height:1.6}.card-footer{margin-top:var(--spacing-md);padding-top:var(--spacing-sm);border-top:1px solid var(--border-color)}.card-link{display:inline-flex;align-items:center;gap:var(--spacing-xs);color:var(--card-color);font-weight:500;font-size:.9rem;transition:gap .2s ease}.project-card:hover .card-link{gap:var(--spacing-sm)}.card-link svg{transition:transform .2s ease}.project-card:hover .card-link svg{transform:translate(4px)}.card-lock{margin-left:.5rem;font-size:.9rem;color:var(--text-accent);vertical-align:middle}.footer{background-color:var(--bg-secondary);border-top:1px solid var(--border-color);padding:var(--spacing-md);text-align:center}.footer p{color:var(--text-secondary);font-size:.875rem}.footer a{color:var(--text-accent)}@media (max-width: 768px){:root{--spacing-lg: 1.5rem;--spacing-xl: 2rem}.hero h2{font-size:1.5rem}.hero p{font-size:1rem}.projects-grid{grid-template-columns:1fr}.logo h1{font-size:1.25rem}.nav-link span{display:none}}@media (max-width: 480px){.header-content{padding:0 var(--spacing-sm)}.main{padding:var(--spacing-sm)}}
