:root{--bg-color: #ffffff;--bg-subtle: #f8fafc;--bg-card: #ffffff;--border-color: #e2e8f0;--border-hover: #94a3b8;--text-main: #0f172a;--text-muted: #64748b;--text-active: #0f172a;--color-primary: #0f172a;--color-accent: #2563eb;--font-heading: "Space Grotesk", sans-serif;--font-body: "Outfit", sans-serif}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{background-color:var(--bg-color);color:var(--text-main);font-family:var(--font-body);height:100%}body{height:100%;overflow:hidden;position:relative;line-height:1.6}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#e2e8f0;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#cbd5e1}h1,h2,h3,h4{font-family:var(--font-heading);font-weight:700;letter-spacing:-.01em;color:var(--text-main)}a{color:inherit;text-decoration:none}.app-container{display:flex;width:100%;height:100vh;overflow:hidden;position:relative}.sidebar{width:300px;height:100%;border-right:1px solid var(--border-color);padding:3.5rem 3rem;display:flex;flex-direction:column;justify-content:flex-start;background:rgba(255,255,255,.65);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);z-index:10}.brand{margin-bottom:5rem}.brand-title{font-size:2.2rem;font-weight:700;letter-spacing:-.03em;color:var(--text-main);font-family:var(--font-heading)}.menu-nav{display:flex;flex-direction:column;gap:1.8rem}.menu-item{background:transparent;border:none;padding:0;outline:none;font-family:var(--font-heading);font-size:1.25rem;font-weight:400;color:var(--text-muted);cursor:pointer;transition:all .25s cubic-bezier(.16,1,.3,1);position:relative;display:inline-flex;align-items:center;width:fit-content}.menu-item:before{content:"";position:absolute;left:-1.3rem;top:50%;transform:translateY(-50%) scaleY(0);width:3px;height:18px;background-color:var(--text-main);transition:transform .25s cubic-bezier(.16,1,.3,1);transform-origin:center}.menu-item:hover{color:var(--text-main);transform:translate(3px)}.menu-item.active{color:var(--text-active);font-weight:600}.menu-item.active:before{transform:translateY(-50%) scaleY(1)}.github-menu-icon{display:inline-flex;align-items:center;color:var(--text-muted);width:fit-content;transition:color .25s ease,transform .25s ease}.github-menu-icon:hover{color:var(--text-main);transform:scale(1.1)}.main-content{flex:1;height:100%;overflow-y:auto;padding:5rem 6rem;position:relative;z-index:5}.content-container{position:relative;width:100%;max-width:800px}.tab-content{position:absolute;top:0;left:0;width:100%;height:0;overflow:hidden;opacity:0;pointer-events:none;transform:translateY(15px);transition:opacity .35s ease,transform .35s cubic-bezier(.16,1,.3,1),height 0s .35s,overflow 0s .35s}.tab-content.active{position:relative;height:auto;overflow:visible;opacity:1;pointer-events:auto;transform:translateY(0);transition:opacity .35s ease,transform .35s cubic-bezier(.16,1,.3,1)}#cube-canvas{position:fixed;top:0;left:0;width:100%;height:100%;z-index:1;pointer-events:none}.section-title{font-size:2.5rem;margin-bottom:2rem;font-weight:800;letter-spacing:-.02em}.section-desc{font-size:1.1rem;color:var(--text-muted);line-height:1.8;margin-bottom:2.5rem}.content-grid{display:grid;grid-template-columns:1fr;gap:2rem}.card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;padding:2.5rem;transition:all .25s ease}.card.has-image{display:flex;flex-direction:row;gap:2.5rem;align-items:stretch;justify-content:space-between}.card-body{flex:1;display:flex;flex-direction:column}.card-image-container{width:240px;flex-shrink:0;border-radius:6px;overflow:hidden;border:1px solid var(--border-color);background:var(--bg-subtle);display:flex;align-items:center;justify-content:center;aspect-ratio:10 / 9;transition:border-color .25s ease}.card:hover .card-image-container{border-color:var(--border-hover)}.card-image{width:100%;height:100%;object-fit:cover}.carousel{position:relative;width:100%;height:100%;overflow:hidden}.carousel-track{display:flex;width:100%;height:100%;transition:transform .4s cubic-bezier(.16,1,.3,1)}.carousel-slide-image{width:100%;height:100%;object-fit:cover;flex-shrink:0}.carousel-btn{position:absolute;top:50%;transform:translateY(-50%);background:rgba(15,23,42,.5);color:#fff;border:none;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:2;transition:background-color .25s,opacity .25s;opacity:0}.card-image-container:hover .carousel-btn{opacity:1}.carousel-btn:hover{background:rgba(15,23,42,.85)}.carousel-btn.prev{left:8px}.carousel-btn.next{right:8px}.carousel-dots{position:absolute;bottom:8px;left:50%;transform:translate(-50%);display:flex;gap:6px;z-index:2;background:rgba(15,23,42,.3);padding:4px 8px;border-radius:20px;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.carousel-dot{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.4);border:none;padding:0;cursor:pointer;transition:background-color .25s,transform .25s}.carousel-dot.active{background:#ffffff;transform:scale(1.2)}.card:hover{border-color:var(--border-hover);box-shadow:0 4px 20px #00000005}.btn{display:inline-flex;align-items:center;gap:.6rem;padding:.8rem 1.8rem;border-radius:6px;font-family:var(--font-heading);font-weight:600;font-size:.95rem;cursor:pointer;transition:all .25s ease}.btn-primary{background:var(--color-primary);color:#fff;border:1px solid var(--color-primary)}.btn-primary:hover{background:#1e293b;border-color:#1e293b}.btn-secondary{background:transparent;color:var(--text-main);border:1px solid var(--border-color)}.btn-secondary:hover{background:var(--bg-subtle);border-color:var(--text-main)}.text-link{background:none;border:none;padding:0;font-family:var(--font-heading);font-size:1.05rem;font-weight:600;color:var(--text-main);cursor:pointer;position:relative;display:inline-flex;align-items:center;transition:opacity .25s ease}.text-link:after{content:"";position:absolute;bottom:-4px;left:0;width:100%;height:2px;background-color:var(--text-main);transform:scaleX(0);transform-origin:right;transition:transform .3s cubic-bezier(.16,1,.3,1)}.text-link:hover:after{transform:scaleX(1);transform-origin:left}.text-link:hover{opacity:.7}@media (max-width: 768px){body{overflow:auto;height:auto}.app-container{flex-direction:column;height:auto;overflow:visible}.sidebar{width:100%;height:auto;border-right:none;border-bottom:1px solid var(--border-color);padding:1.5rem 2rem;position:sticky;top:0;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:rgba(255,255,255,.75);flex-direction:row;justify-content:space-between;align-items:center}.brand{margin-bottom:0}.brand-title{font-size:1.6rem}.menu-nav{flex-direction:row;align-items:center;gap:1.2rem}.menu-item{font-size:1rem}.menu-item:before{display:none}.menu-item.active{border-bottom:2px solid var(--text-main);padding-bottom:2px}.main-content{padding:3rem 2rem;height:auto;overflow-y:visible}.card.has-image{flex-direction:column-reverse;gap:1.5rem;padding:2rem}.card-image-container{width:100%;height:180px;aspect-ratio:auto}.carousel-btn{opacity:1;width:28px;height:28px}}.markdown-content p{margin-bottom:1.2rem}.markdown-content p:last-child{margin-bottom:0}.markdown-content a{color:var(--color-accent);text-decoration:underline;text-underline-offset:4px;transition:color .2s ease,text-decoration-color .2s ease}.markdown-content a:hover{color:var(--text-main);text-decoration-color:var(--text-main)}.markdown-content h1,.markdown-content h2,.markdown-content h3,.markdown-content h4{margin-top:1.8rem;margin-bottom:.5rem}.markdown-content h1:first-child,.markdown-content h2:first-child,.markdown-content h3:first-child,.markdown-content h4:first-child{margin-top:0}.markdown-content ul,.markdown-content ol{margin-bottom:1.2rem;padding-left:1.5rem}.markdown-content li{margin-bottom:.4rem;list-style-type:disc}.markdown-content li:last-child{margin-bottom:0}
