.sidebar{background:var(--panel);flex-direction:column;grid-area:sidebar;transition:background .3s;display:flex}.sidebar nav{flex-direction:column;gap:1.4rem;padding:3rem 1.25rem;display:flex}.sidebar nav a{color:var(--muted);align-items:center;gap:.8rem;font-weight:600;text-decoration:none;transition:color .2s,transform .2s;display:flex;position:relative}.sidebar nav a .nav-icon{flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex}.sidebar nav a .nav-icon svg{display:block}.sidebar nav a .nav-label{line-height:1;display:inline}.sidebar nav a:hover{color:var(--accent);transform:translate(4px)}.sidebar nav a.active{color:var(--accent)}.sidebar nav a.active:before{content:"";background:var(--accent);border-radius:999px;width:4px;height:28px;position:absolute;top:50%;left:-1.25rem;transform:translateY(-50%)}.page.menu-collapsed .sidebar nav{align-items:center;padding-inline:0}.page.menu-collapsed .sidebar nav a{justify-content:center;width:100%}.page.menu-collapsed .sidebar nav a .nav-label{display:none}.page.menu-collapsed .sidebar nav a .nav-icon{display:block}.page.menu-collapsed .sidebar nav a.active:before{left:0}@media (width<=800px){.sidebar{width:100%}.sidebar nav{flex-direction:column;gap:0;padding:0;display:flex}.sidebar nav a{border-top:1px solid var(--border);align-items:center;padding:1rem 2rem;display:flex}.sidebar nav a .nav-icon{display:none}.sidebar nav a .nav-label{display:inline}.sidebar nav a.active:before{left:0}.page.menu-collapsed .sidebar{display:none}}header{background:var(--panel);grid-area:header;justify-content:space-between;align-items:center;padding:0 2rem;transition:background .3s;display:flex}header .brand-wrapper{align-items:center;gap:18px;display:flex}header .brand-wrapper .menu-toggle{width:32px;height:32px;color:var(--accent);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;font-size:2rem;font-weight:800;line-height:1;display:inline-flex}header .brand-wrapper .menu-toggle .desktop-menu-symbol{transition:transform .25s;display:block}header .brand-wrapper .menu-toggle .mobile-menu-symbol{display:none}header .brand-wrapper .menu-toggle.collapsed .desktop-menu-symbol{transform:scaleX(-1)}header .brand-wrapper .brand{letter-spacing:-.04em;font-size:clamp(1.35rem,2vw,2rem);font-weight:800}header .brand-wrapper .closing-bracket{color:var(--accent);font-size:2rem;font-weight:800}header .theme-toggle{border:1px solid var(--border);width:44px;height:44px;color:var(--text);cursor:pointer;background:0 0;border-radius:50%;justify-content:center;align-items:center;padding:0;display:inline-flex}header .theme-toggle svg{display:block}header .theme-toggle{transition:border-color .2s,color .2s,transform .2s}header .theme-toggle:hover{border-color:var(--accent);color:var(--accent);transform:rotate(10deg)}@media (width<=800px){header{padding:0 1rem}header .brand-wrapper{gap:12px}header .brand-wrapper .menu-toggle .desktop-menu-symbol{display:none}header .brand-wrapper .menu-toggle .mobile-menu-symbol{transition:transform .25s;display:block}header .brand-wrapper .menu-toggle.open .mobile-menu-symbol{transform:rotate(-90deg)}header .brand-wrapper .menu-toggle.collapsed .mobile-menu-symbol{transform:rotate(0)}}.page{--accent:dodgerblue;--background:#0d0f13;--panel:#12151b;--text:#f4f7fb;--muted:#939baa;--border:#20252d;background:var(--background);min-height:100vh;color:var(--text);grid-template:"header header"88px"sidebar main"1fr/160px 1fr;transition:grid-template-columns .3s,background .3s,color .3s;display:grid}.page.light{--background:#f5f7fa;--panel:#fff;--text:#15171c;--muted:#687181;--border:#dde2e8}.page.menu-collapsed{grid-template-columns:72px 1fr}.page main{background:radial-gradient(circle at 78% 38%, #1e90ff4d, transparent 24rem), radial-gradient(circle at 20% 20%, #1e90ff17, transparent 25rem), var(--background);grid-area:main;align-items:center;padding:clamp(3rem,7vw,8rem);display:flex;position:relative;overflow:hidden}@media (width<=800px){.page{grid-template:"header"76px"sidebar""main"1fr/1fr}.page.menu-collapsed{grid-template-columns:1fr}.page main{padding:2rem}}.home{grid-template-columns:minmax(0,1.4fr) minmax(280px,.8fr);align-items:center;gap:clamp(3rem,6vw,7rem);width:100%;height:100%;display:grid}.hero{z-index:1;max-width:760px;position:relative}.hero .eyebrow{color:var(--accent);text-transform:uppercase;letter-spacing:.3em;margin:0 0 1.5rem;font-size:.8rem;font-weight:700}.hero h1{letter-spacing:-.065em;max-width:760px;margin:0;font-size:clamp(3.4rem,6vw,6.4rem);line-height:.95}.hero h1 span{color:var(--accent);display:block}.hero .intro{max-width:610px;color:var(--muted);margin:2rem 0;font-size:clamp(1rem,1.3vw,1.2rem);line-height:1.6}.hero .actions{flex-wrap:wrap;gap:1rem;display:flex}.hero .actions a{border-radius:999px;padding:.9rem 1.4rem;font-weight:700;text-decoration:none;transition:transform .2s,box-shadow .2s,border-color .2s}.hero .actions a:hover{transform:translateY(-2px)}.hero .actions a.primary{background:var(--accent);color:#fff;box-shadow:0 8px 30px #1e90ff38}.hero .actions a.primary:hover{box-shadow:0 12px 40px #1e90ff59}.hero .actions a.secondary{border:1px solid var(--border);color:var(--text)}.hero .actions a.secondary:hover{border-color:var(--accent)}.home-panels{gap:1rem;display:grid}.home-panel{border:1px solid var(--border);background:color-mix(in srgb, var(--panel) 88%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:18px;padding:1.5rem}.home-panel h2{margin:.4rem 0 .75rem;font-size:1.35rem}.home-panel p{color:var(--muted);margin:0;line-height:1.55}.home-panel a{color:var(--accent);margin-top:1.1rem;font-weight:700;text-decoration:none;display:inline-block}.panel-label{text-transform:uppercase;letter-spacing:.18em;font-size:.7rem;font-weight:800;color:var(--accent)!important}.currently-building ul{margin:.9rem 0 0;padding:0;list-style:none}.currently-building ul li{border-bottom:1px solid var(--border);padding:.55rem 0}.currently-building ul li:last-child{border-bottom:0}@media (width<=1000px){.home{grid-template-columns:1fr;gap:2.5rem;overflow-y:auto}.home-panels{grid-template-columns:1fr 1fr}}@media (width<=800px){.home{display:block}.hero h1{font-size:clamp(3rem,14vw,5rem)}.home-panels{grid-template-columns:1fr;margin-top:3rem;display:grid}}.project-card{border:1px solid var(--border);background:color-mix(in srgb, var(--panel) 88%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:18px;padding:1.5rem;transition:transform .2s,border-color .2s}.project-card:hover{border-color:var(--accent);transform:translateY(-3px)}.project-card.featured{padding:clamp(1.5rem,2vw,2rem)}.project-card.exploring{border-style:dashed}.project-card h2{margin:.5rem 0 .9rem;font-size:clamp(1.3rem,2vw,1.8rem);line-height:1.15}.project-card a{color:var(--accent);margin-top:1.4rem;font-weight:700;text-decoration:none;display:inline-block}.project-heading{justify-content:space-between;align-items:center;gap:1rem;display:flex}.project-type{color:var(--accent);text-transform:uppercase;letter-spacing:.16em;margin:0;font-size:.7rem;font-weight:800}.project-status{border:1px solid var(--border);color:var(--muted);border-radius:999px;padding:.25rem .55rem;font-size:.7rem;font-weight:700}.project-description{color:var(--muted);margin:0;line-height:1.55}.tech-list{flex-wrap:wrap;gap:.5rem;margin-top:1rem;display:flex}.tech-list span{border:1px solid var(--border);color:var(--muted);border-radius:999px;padding:.35rem .6rem;font-size:.72rem;font-weight:600}.project-details{border-top:1px solid var(--border);grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.4rem;padding-top:1.2rem;display:grid}.project-details div{flex-direction:column;gap:.25rem;display:flex}.project-details div span{color:var(--muted);font-size:.72rem}.project-details div strong{font-size:.85rem;line-height:1.4}@media (width<=800px){.project-details{grid-template-columns:1fr}}.projects-page{grid-template-columns:minmax(260px,.65fr) minmax(0,1.35fr);align-items:center;gap:clamp(3rem,6vw,7rem);width:100%;height:100%;display:grid}.projects-intro{max-width:480px}.projects-intro .eyebrow{color:var(--accent);text-transform:uppercase;letter-spacing:.3em;margin:0 0 1rem;font-size:.8rem;font-weight:700}.projects-intro h1{letter-spacing:-.06em;margin:0;font-size:clamp(3rem,5vw,5.5rem);line-height:.95}.projects-intro h1 span{color:var(--accent);display:block}.projects-intro .projects-description{max-width:440px;color:var(--muted);margin:1.5rem 0 0;font-size:1.05rem;line-height:1.6}.projects-grid{grid-template-columns:minmax(0,1.2fr) minmax(250px,.8fr);gap:1rem;display:grid}.smaller-projects{gap:1rem;display:grid}@media (width<=1100px){.projects-page{grid-template-columns:1fr;align-items:start;overflow-y:auto}.projects-intro{max-width:680px}.projects-grid{grid-template-columns:1fr 1fr}}@media (width<=800px){.projects-page{display:block}.projects-intro h1{font-size:clamp(3rem,13vw,4.8rem)}.projects-grid{grid-template-columns:1fr;margin-top:3rem}.smaller-projects{grid-template-columns:1fr}}*{box-sizing:border-box}html,body,#root{min-height:100%}html{scroll-behavior:smooth}body{min-width:320px;min-height:100vh;margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,a{font:inherit}a{color:inherit}
