:root{--color-bg:#f8fafc;--color-surface:#fff;--color-surface-hover:#f1f5f9;--color-text:#0f172a;--color-text-muted:#64748b;--color-primary:#3b82f6;--color-primary-hover:#2563eb;--color-accent:#8b5cf6;--color-border:#e2e8f0;--font-sans:"Inter", system-ui, -apple-system, sans-serif;--radius-sm:.375rem;--radius-md:.5rem;--radius-lg:1rem;--radius-xl:1.5rem;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--glass-bg:#ffffffb3;--glass-border:#ffffff80;--header-height:80px;--transition-fast:.15s ease-in-out;--transition-normal:.3s ease-in-out}[data-theme=dark]{--color-bg:#0b0f19;--color-surface:#1e293b;--color-surface-hover:#334155;--color-text:#f8fafc;--color-text-muted:#94a3b8;--color-primary:#60a5fa;--color-primary-hover:#93c5fd;--color-accent:#a78bfa;--color-border:#334155;--shadow-sm:0 1px 2px 0 #0000004d;--shadow-md:0 4px 6px -1px #0006, 0 2px 4px -2px #0000004d;--glass-bg:#0b0f19b3;--glass-border:#ffffff1a}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--color-bg);color:var(--color-text);min-width:320px;transition:background-color var(--transition-normal), color var(--transition-normal);-webkit-font-smoothing:antialiased;line-height:1.6;overflow-x:hidden}a{color:inherit;transition:color var(--transition-fast);text-decoration:none}.glass-panel{background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);transition:transform var(--transition-normal), box-shadow var(--transition-normal)}.text-gradient{background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-accent) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.app-container{flex-direction:column;min-height:100vh;display:flex}.main-content{padding:calc(var(--header-height) + 3rem) 2rem 2rem 2rem;box-sizing:border-box;flex:1;width:100%;max-width:1200px;margin:0 auto}.page-container{word-wrap:break-word;max-width:100%}.navbar{width:100%;max-width:none;min-height:var(--header-height);z-index:1000;border-bottom:1px solid var(--color-border);border-radius:0;justify-content:center;align-items:center;margin:0;padding:1rem 2rem;display:flex;position:fixed;top:0;left:0}.navbar-container{justify-content:space-between;align-items:center;width:100%;display:flex}.brand{letter-spacing:-.5px;font-size:1.5rem;font-weight:800}.nav-links{gap:2rem;display:flex}.nav-links a{color:var(--color-text-muted);padding:.5rem 0;font-weight:500;position:relative}.nav-links a:hover{color:var(--color-text)}.nav-links a.active-link{color:var(--color-primary)}.nav-links a.active-link:after{content:"";background:var(--color-primary);border-radius:2px;width:100%;height:2px;position:absolute;bottom:0;left:0}.nav-controls{align-items:center;gap:1rem;display:flex}.control-btn{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text);cursor:pointer;width:40px;height:40px;transition:all var(--transition-fast);box-shadow:var(--shadow-sm);border-radius:50%;justify-content:center;align-items:center;display:flex}.control-btn:hover{background:var(--color-surface-hover);transform:scale(1.05)}.control-btn .lang-text{margin-top:2px;font-size:.75rem;font-weight:700;position:absolute}.control-btn svg{opacity:.8}.hero-section{text-align:center;flex-direction:column;justify-content:center;align-items:center;margin-top:2rem;padding:4rem 2rem;display:flex}.hero-section h1{margin-bottom:1rem;font-size:3.5rem;line-height:1.2}.subtitle{color:var(--color-text-muted);max-width:600px;margin-bottom:2rem;font-size:1.25rem}.cta-group{gap:1rem;display:flex}.btn{border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);justify-content:center;align-items:center;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;display:inline-flex}.btn-primary{background:var(--color-primary);color:#fff;border:none;box-shadow:0 4px 14px #3b82f663}.btn-primary:hover{background:var(--color-primary-hover);color:#fff;transform:translateY(-2px);box-shadow:0 6px 20px #3b82f666}.btn-secondary{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border)}.btn-secondary:hover{background:var(--color-surface-hover);transform:translateY(-2px)}.footer{text-align:center;border-radius:var(--radius-xl);color:var(--color-text-muted);margin:2rem;padding:2rem}.fade-in{animation:.5s ease-out forwards fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.portfolio-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:2rem;margin-top:2rem;display:grid}.project-card{flex-direction:column;height:100%;display:flex;overflow:hidden}.project-img-wrapper{border-radius:var(--radius-lg) var(--radius-lg) 0 0;height:200px;overflow:hidden}.project-img-wrapper img{object-fit:cover;width:100%;height:100%;transition:transform var(--transition-normal)}.project-card:hover .project-img-wrapper img{transform:scale(1.05)}.project-content{flex-direction:column;flex:1;padding:1.5rem;display:flex}.project-content h3{margin-bottom:.5rem;font-size:1.25rem}.project-content p{color:var(--color-text-muted);margin-bottom:1rem;font-size:.95rem}.tags{flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem;display:flex}.tag{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);color:var(--color-primary);padding:.25rem .75rem;font-size:.8rem;font-weight:500}.project-detail{margin-top:1rem;padding:2rem}.btn-back{color:var(--color-text-muted);align-items:center;gap:.5rem;margin-bottom:2rem;font-weight:500;display:inline-flex}.btn-back:hover{color:var(--color-primary)}.detail-hero{flex-direction:column;gap:2rem;margin-bottom:2rem;display:flex}@media (width>=900px){.detail-hero{flex-direction:row;align-items:flex-start}}.detail-img{border-radius:var(--radius-lg);width:100%;max-width:500px;box-shadow:var(--shadow-md);object-fit:cover;cursor:pointer;transition:transform var(--transition-fast);flex:1}.detail-img:hover{transform:scale(1.02)}.detail-header{word-wrap:break-word;flex:1.5;min-width:0}.detail-header h1{margin-bottom:1rem;font-size:2.5rem}.detail-tag{padding:.4rem 1rem;font-size:.9rem}.detail-body{border-top:1px solid var(--color-border);padding-top:2rem}.lead{color:var(--color-text-muted);margin-bottom:1.5rem;font-size:1.25rem;font-weight:500}.full-desc{font-size:1.05rem;line-height:1.8}.calculators-grid{grid-template-columns:1fr;gap:2rem;max-width:800px;margin:0 auto;display:grid}.calc-card{border-radius:var(--radius-lg);flex-direction:column;display:flex;overflow:hidden}.calc-header{border-bottom:1px solid var(--color-border);background:#00000005;padding:1.5rem}.calc-header h3{color:var(--color-primary);margin:0}.calc-body{flex-direction:column;gap:2rem;padding:1.5rem;display:flex}@media (width>=600px){.calc-body{flex-direction:row;align-items:center}}.calc-schematic{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);flex:1;justify-content:center;align-items:center;padding:1rem;display:flex}.calc-schematic svg{max-width:100%;height:auto}.calc-inputs{flex-direction:column;flex:1.5;gap:1rem;display:flex}@media (width<=768px){.navbar{padding:1rem}.navbar-container{flex-direction:column;gap:1rem}.nav-links{flex-wrap:wrap;justify-content:center;gap:.5rem}.main-content{padding:200px 1rem 1rem}.hero-section{text-align:center!important;flex-direction:column!important}.hero-content h1{text-align:center!important;font-size:2.5rem!important}.hero-content p{text-align:center!important}.cta-group{flex-wrap:wrap;justify-content:center}.detail-header h1{font-size:2rem}.calc-header{text-align:center;flex-direction:column;gap:1rem}.calc-card,.project-card,.detail-body{padding:1.5rem 1rem}input,select,button{box-sizing:border-box;max-width:100%}}@media (width<=380px){.main-content{padding-top:240px}}.input-group{flex-direction:column;gap:.5rem;display:flex}.input-group label{color:var(--color-text-muted);font-size:.9rem;font-weight:500}.input-group input{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);transition:border var(--transition-fast), box-shadow var(--transition-fast);padding:.75rem 1rem;font-size:1rem}.input-group input:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #3b82f633}.calc-result{color:#10b981;border-radius:var(--radius-sm);text-align:center;background:#10b9811a;border:1px solid #10b98133;margin-top:1rem;padding:1rem;font-size:1.1rem}
