@import url(https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&display=swap);@import url(https://fonts.googleapis.com/css2?family=Source+Code+Pro:ital,wght@1,700&display=swap);@import url(https://fonts.googleapis.com/css2?family=Montserrat&display=swap);@import url(https://fonts.googleapis.com/css2?family=Fasthand&display=swap);:root{--md-sys-color-primary:#6750a4;--md-sys-color-on-primary:#fff;--md-sys-color-primary-container:#e8def8;--md-sys-color-on-primary-container:#21005e;--md-sys-color-secondary:#625b71;--md-sys-color-on-secondary:#fff;--md-sys-color-secondary-container:#e8def8;--md-sys-color-on-secondary-container:#1e192b;--md-sys-color-tertiary:#7d5260;--md-sys-color-on-tertiary:#fff;--md-sys-color-tertiary-container:#ffd8e4;--md-sys-color-on-tertiary-container:#31101d;--md-sys-color-error:#ba1a1a;--md-sys-color-on-error:#fff;--md-sys-color-error-container:#ffdad6;--md-sys-color-on-error-container:#410002;--md-sys-color-surface:#fef7ff;--md-sys-color-on-surface:#1d1b20;--md-sys-color-surface-variant:#e7e0ec;--md-sys-color-on-surface-variant:#49454f;--md-sys-color-surface-container-lowest:#fff;--md-sys-color-surface-container-low:#f7f2fa;--md-sys-color-surface-container:#f3edf7;--md-sys-color-surface-container-high:#ece6f0;--md-sys-color-surface-container-highest:#e6e0e9;--md-sys-color-outline:#79747e;--md-sys-color-outline-variant:#cac4d0;--md-sys-color-shadow:#000;--md-sys-color-scrim:#000}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#fef7ff;background:var(--md-sys-color-surface);color:#1d1b20;color:var(--md-sys-color-on-surface);font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:14px;height:100vh;left:0;line-height:20px;margin:0;overflow-x:hidden;overflow-y:hidden;padding:0;top:0;width:100vw}@media (min-width:600px){body{font-size:16px;line-height:24px}}.main{background:var(--md-sys-color-surface-container-low);border-radius:0;bottom:0;left:0;margin:0;padding:16px;position:absolute;right:0;top:64px}@media (min-width:600px){.main{border-radius:16px;bottom:16px;left:16px;margin:0;padding:24px;right:16px;top:80px}}@media (min-width:1024px){.main{border-radius:24px;bottom:5vmin;left:5vmin;padding:32px;right:5vmin;top:80px}}.scroll{align-items:flex-start;direction:ltr;display:flex;flex-direction:column;flex-wrap:nowrap;height:100%;justify-content:flex-start;margin:0;overflow-x:hidden;overflow-y:auto;padding:8px;scroll-behavior:smooth}@media (min-width:600px){.scroll{margin:16px;padding:16px}}@media (min-width:1024px){.scroll{align-items:center;justify-content:space-between;margin:5vmin;padding:5vmin}}::-webkit-scrollbar{width:8px}@media (min-width:600px){::-webkit-scrollbar{width:12px}}@media (min-width:1024px){::-webkit-scrollbar{width:2vmin}}::-webkit-scrollbar-track{background-color:#e7e0ec;background-color:var(--md-sys-color-surface-variant,#e7e0ec);border-radius:8px}::-webkit-scrollbar-thumb{background-color:#79747e;background-color:var(--md-sys-color-outline,#79747e);border-radius:8px}::-webkit-scrollbar-thumb:hover{background-color:#49454f;background-color:var(--md-sys-color-on-surface-variant,#49454f)}.center{Left:50%;height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;position:relative;top:50%;transform:translate(-50%,-50%);width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.modern-header{background:var(--md-sys-color-surface-container);box-shadow:0 2px 4px -1px #0003,0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f;color:var(--md-sys-color-on-surface);height:64px;left:0;position:fixed;right:0;top:0;z-index:1000}.header-content{height:100%;justify-content:space-between;margin:0 auto;max-width:1200px;overflow:hidden;padding:0 16px;width:100%}.header-content,.nav-section{align-items:center;display:flex;gap:16px}.nav-section{flex:1 1;justify-content:flex-end}.logo{color:var(--md-sys-color-primary);flex-shrink:0;font-family:Roboto,sans-serif;font-size:20px;font-weight:500;min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content;text-decoration:none;transition:color .2s ease}.logo:hover{color:var(--md-sys-color-on-primary-container)}.desktop-nav{display:none;flex:1 1;flex-wrap:nowrap;gap:4px;justify-content:center;max-width:600px;overflow:hidden;white-space:nowrap}.nav-item{align-items:center;border-radius:24px;color:var(--md-sys-color-on-surface);display:flex;flex-shrink:0;font-size:13px;font-weight:500;gap:6px;min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content;padding:6px 10px;text-decoration:none;transition:all .2s cubic-bezier(.4,0,.2,1);white-space:nowrap}.nav-item img{filter:brightness(0) saturate(100%) invert(27%) sepia(8%) saturate(1265%) hue-rotate(237deg) brightness(95%) contrast(87%);flex-shrink:0;height:18px;transition:filter .2s ease;width:18px}@media (min-width:900px) and (max-width:1200px){.nav-item span{display:none}.nav-item{gap:0;justify-content:center;min-width:36px;padding:8px}.nav-item img{height:20px;width:20px}.desktop-nav{gap:2px}.linkedin-icon-button{height:36px;width:36px}.linkedin-icon-button svg{height:18px;width:18px}}@media (max-width:900px){.linkedin-icon-button{border-radius:6px;height:36px;width:36px}.linkedin-icon-button svg{height:18px;width:18px}}@media (min-width:1200px){.desktop-nav{gap:6px}.nav-item{font-size:14px;gap:8px;padding:8px 12px}.nav-item img{height:20px;width:20px}.linkedin-icon-button{height:44px;width:44px}.linkedin-icon-button svg{height:22px;width:22px}}@media (min-width:1400px){.nav-item{font-size:15px;padding:10px 16px}.nav-item img{height:22px;width:22px}.desktop-nav{gap:8px}.linkedin-icon-button{height:48px;width:48px}.linkedin-icon-button svg{height:24px;width:24px}}.nav-item:hover{background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container)}.nav-item:hover img{filter:brightness(0) saturate(100%) invert(40%) sepia(21%) saturate(1265%) hue-rotate(237deg) brightness(95%) contrast(87%)}.nav-item.active{background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container)}.nav-item.active img{filter:brightness(0) saturate(100%) invert(13%) sepia(55%) saturate(6613%) hue-rotate(262deg) brightness(97%) contrast(101%)}.linkedin-icon-button{align-items:center;background:#0077b5;border:none;border-radius:8px;box-shadow:0 2px 4px #0077b533;color:#fff;cursor:pointer;display:flex;flex-shrink:0;height:40px;justify-content:center;transition:all .2s cubic-bezier(.4,0,.2,1);width:40px}.linkedin-icon-button svg{fill:#fff;height:20px;width:20px}.linkedin-icon-button:hover{background:#005582;box-shadow:0 4px 12px #0077b54d;transform:translateY(-2px)}.linkedin-icon-button:active{background:#004471;transform:translateY(0)}.mobile-linkedin-icon-button{display:none}.mobile-menu-button{align-items:center;background:#0000;border:none;border-radius:20px;cursor:pointer;display:flex;height:40px;justify-content:center;transition:background .2s ease;width:40px}.mobile-menu-button:hover{background:var(--md-sys-color-secondary-container)}.hamburger{display:flex;flex-direction:column;height:16px;position:relative;width:20px}.hamburger span{background:var(--md-sys-color-on-surface);border-radius:1px;height:2px;position:absolute;transition:all .3s cubic-bezier(.4,0,.2,1);width:100%}.hamburger span:first-child{top:0}.hamburger span:nth-child(2){top:7px}.hamburger span:nth-child(3){top:14px}.hamburger.open span:first-child{top:7px;transform:rotate(45deg)}.hamburger.open span:nth-child(2){opacity:0}.hamburger.open span:nth-child(3){top:7px;transform:rotate(-45deg)}.mobile-nav{background:var(--md-sys-color-surface-container);box-shadow:0 4px 8px #0000001a;left:0;max-height:calc(100vh - 64px);overflow-y:auto;position:fixed;right:0;top:-100%;transition:top .3s cubic-bezier(.4,0,.2,1);z-index:999}.mobile-nav.open{top:64px}.mobile-nav-content{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin:0 auto;max-width:500px;padding:16px}.mobile-nav-item{align-items:center;border-radius:16px;color:var(--md-sys-color-on-surface);display:flex;font-size:16px;font-weight:500;gap:16px;padding:16px;text-decoration:none;transition:all .2s cubic-bezier(.4,0,.2,1)}.mobile-nav-item img{filter:brightness(0) saturate(100%) invert(27%) sepia(8%) saturate(1265%) hue-rotate(237deg) brightness(95%) contrast(87%);height:24px;width:24px}.mobile-nav-item:hover{background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container)}.mobile-nav-item.active{background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container)}.mobile-nav-item.active img{filter:brightness(0) saturate(100%) invert(13%) sepia(55%) saturate(6613%) hue-rotate(262deg) brightness(97%) contrast(101%)}.mobile-nav-overlay{animation:fadeIn .3s ease forwards;background:#00000080;bottom:0;left:0;opacity:0;position:fixed;right:0;top:0;z-index:998}@keyframes fadeIn{to{opacity:1}}@media (min-width:1050px){.mobile-menu-button{display:none}.desktop-nav{display:flex}.mobile-nav{display:none}.header-content{padding:0 24px}.logo{font-size:24px}}@media (min-width:1200px){.header-content{padding:0 32px}}@media (min-width:1400px){.header-content{padding:0 48px}}.certs-grid{grid-gap:16px;box-sizing:border-box;display:grid;gap:16px;grid-template-columns:1fr;padding:16px;width:100%}@media (min-width:600px){.certs-grid{gap:20px;grid-template-columns:repeat(2,1fr);padding:24px}}@media (min-width:1024px){.certs-grid{gap:24px;grid-template-columns:repeat(3,1fr);padding:32px}}.cert-card{align-items:center;aspect-ratio:4/3;background:#fff;background:var(--md-sys-color-surface-container-low,#fff);border-radius:16px;box-shadow:0 1px 2px #0000004d,0 1px 3px 1px #00000026;cursor:pointer;display:flex;justify-content:center;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1)}.cert-card:hover{box-shadow:0 2px 6px 2px #00000026,0 1px 2px #0000004d;transform:translateY(-4px)}.cert-card:active{transform:translateY(-2px)}.cert-image{display:block;height:100%;object-fit:cover;width:100%}.cert-pdf{background:#e8def8;background:var(--md-sys-color-primary-container,#e8def8);color:#21005e;color:var(--md-sys-color-on-primary-container,#21005e)}.cert-pdf-preview{align-items:center;display:flex;flex-direction:column;height:100%;justify-content:center;padding:24px;text-align:center;width:100%}.pdf-icon{color:#6750a4;color:var(--md-sys-color-primary,#6750a4);height:64px;margin-bottom:16px;width:64px}@media (min-width:600px){.pdf-icon{height:80px;width:80px}}.cert-name{color:#21005e;color:var(--md-sys-color-on-primary-container,#21005e);font-size:14px;font-weight:500;letter-spacing:.1px;line-height:20px;margin:0;word-break:break-word}@media (min-width:600px){.cert-name{font-size:16px;line-height:24px}}.cert{border-radius:16px;box-shadow:0 1px 2px #0000004d,0 1px 3px 1px #00000026;width:100%}.certs-header{margin-bottom:24px;text-align:center}.certs-header h2{color:var(--md-sys-color-on-surface);font-size:1.5rem;font-weight:500;margin:0 0 8px}.certs-header p{color:var(--md-sys-color-on-surface-variant);font-size:.875rem;margin:0}.cert-image-container{height:100%;overflow:hidden;position:relative;width:100%}.cert-overlay{background:linear-gradient(0deg,#000c,#0000);bottom:0;color:#fff;left:0;opacity:0;padding:16px;position:absolute;right:0;transition:opacity .3s ease}.cert-card:hover .cert-overlay{opacity:1}.cert-type{font-size:.75rem;margin:4px 0 0;opacity:.8}.cert-type,.loading-container{color:var(--md-sys-color-on-surface-variant)}.loading-container{align-items:center;display:flex;flex-direction:column;gap:1rem;height:200px;justify-content:center}.loading-spinner{animation:spin 1s linear infinite;border-top:3px solid var(--md-sys-color-outline-variant);border:3px solid var(--md-sys-color-outline-variant);border-radius:50%;border-top-color:var(--md-sys-color-primary);height:32px;width:32px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.empty-state{align-items:center;color:var(--md-sys-color-on-surface-variant);display:flex;flex-direction:column;justify-content:center;min-height:300px;padding:2rem;text-align:center}.empty-icon{color:var(--md-sys-color-outline);height:80px;margin-bottom:1rem;width:80px}.empty-state h3{color:var(--md-sys-color-on-surface);font-size:1.25rem;font-weight:500;margin:0 0 .5rem}.empty-state p{line-height:1.5;margin:0;max-width:400px}.empty-state code{background:var(--md-sys-color-surface-variant);border-radius:4px;color:var(--md-sys-color-on-surface-variant);font-family:Courier New,monospace;font-size:.875rem;padding:2px 6px}@media (min-width:600px){.certs-header{text-align:left}.certs-header h2{font-size:2rem}}.cert-pdf-with-thumbnail{background:var(--md-sys-color-surface-container-highest)}.cert-pdf-with-thumbnail .cert-image{object-fit:cover}.cert-pdf-overlay{align-items:flex-start;background:linear-gradient(0deg,#000000e6,#0000004d);display:flex;flex-direction:column;justify-content:space-between;min-height:80px;padding:12px 16px}.pdf-badge{align-items:center;align-self:flex-end;background:#ffffffe6;border-radius:12px;color:var(--md-sys-color-error);display:flex;font-size:.75rem;font-weight:600;gap:6px;padding:4px 8px}.pdf-badge svg{fill:var(--md-sys-color-error);height:16px;width:16px}.pdf-thumbnail-loading{align-items:center;color:var(--md-sys-color-on-primary-container);display:flex;flex-direction:column;gap:12px;justify-content:center;padding:20px}.pdf-thumbnail-loading p{font-size:.875rem;margin:0;opacity:.8}.pdf-thumbnail-loading .loading-spinner{border-top:2px solid var(--md-sys-color-outline-variant);border:2px solid var(--md-sys-color-outline-variant);border-top-color:var(--md-sys-color-primary);height:24px;width:24px}.wrapper{background-color:#2c3531;background-image:linear-gradient(90deg#2C3531,#485461,#28313b,#2c3531);border-radius:10px;height:540px;left:50vw;max-height:70vh;max-width:40vw;padding:10px;position:absolute;top:50vh;transform:translate(10%,-50%);width:340px;z-index:100}@media only screen and (max-width:800px){.wrapper{background-color:#2c3531;background-image:linear-gradient(90deg#2C3531,#485461,#28313b,#2c3531);border-radius:10px;height:540px;left:25vw;max-height:70vh;max-width:40vw;padding:10px;position:absolute;top:50vh;transform:translate(10%,-50%);width:340px;z-index:100}}.screen{max-lines:2;align-items:center;background-color:#116466;border-radius:10px;box-sizing:border-box;color:#d1e8e2;display:flex;font-family:Source Code Pro,monospace;font-size:calc(2vmax + 2vh);font-weight:700;height:100px;justify-content:flex-end;margin-bottom:10px;padding:0 10px;width:100%}.buttonBox{grid-gap:10px;display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(5,1fr);height:calc(100% - 110px);width:100%}*,:after,:before{box-sizing:border-box}button{background-color:#ffcb9a;border:none;border-radius:10px;color:#2c3531;cursor:pointer;font-family:Montserrat,sans-serif;font-size:1.5vmax;font-weight:700;outline:none}button:hover{background-color:#cba37c}.equals{background-color:#d9b08c;grid-column:3/5}.equals:hover{background-color:#976265}#background{align-content:space-between;align-items:flex-end;display:flex;flex-direction:column;flex-wrap:wrap-reverse;height:75vh;justify-content:space-around;overflow:visible;position:absolute;right:50vw;top:0;transform:translateY(20%);width:40vw}@media only screen and (max-width:800px){#background{height:0;position:absolute;right:0;top:0;width:0}}.backgroundBox{color:#2c3531;font-size:5vh;height:7vh;padding:.2vw}.backgroundBox,.latest{display:flexbox;float:left;font-family:Fasthand;justify-content:center;position:relative;text-align:right;transform:rotate(5deg);width:auto}.latest{color:#976265;font-size:6vh;height:5vw;text-decoration:underline}@media only screen and (max-width:800px){.backgroundBox,.latest{display:none;height:0;visibility:invisible;width:0}}.apps-header{margin-bottom:32px;text-align:center}.apps-header h1{color:var(--md-sys-color-on-surface);font-size:1.75rem;font-weight:500;margin:0 0 8px}.apps-header p{color:var(--md-sys-color-on-surface-variant);font-size:1rem;margin:0;opacity:.8}.apps-navigation{align-items:center;background:var(--md-sys-color-surface-container-low);border-radius:12px;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:32px;min-height:56px;padding:8px}.apps-content{flex:1 1}.app-section{background:var(--md-sys-color-surface-container-highest);border:1px solid var(--md-sys-color-outline-variant);border-radius:16px;padding:24px}.app-section h2{color:var(--md-sys-color-primary);font-size:1.25rem;font-weight:500;margin:0 0 16px}.app-section h3{font-size:1.1rem;font-weight:500;margin:0 0 12px}.app-section h3,.app-section p{color:var(--md-sys-color-on-surface)}.app-section p{font-size:.95rem;line-height:1.6;margin:0 0 16px}.app-section p:last-of-type,.team-header{margin-bottom:24px}.team-header{text-align:center}.northcoders-logo{height:60px;margin-bottom:16px}.team-description{margin-bottom:24px}.video-container{background:var(--md-sys-color-surface-container);border:1px solid var(--md-sys-color-outline-variant);border-radius:12px;margin:24px 0;max-width:100%;overflow:hidden;width:100%}.video-container iframe{border:none;height:250px;width:100%}@media (min-width:600px){.apps-header{margin-bottom:40px;text-align:left}.apps-header h1{font-size:2.25rem}.apps-header p{font-size:1.125rem}.apps-navigation{justify-content:flex-start;margin-bottom:40px;min-height:64px}.nav-button{font-size:1rem;min-height:48px;padding:16px 24px}.app-section{padding:32px}.app-section h2{font-size:1.5rem}.app-section h3{font-size:1.3rem}.app-section p{font-size:1rem}.northcoders-logo{height:80px}.video-container iframe{height:350px}.image-gallery{gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.image-item img{max-height:200px}}@media (min-width:1024px){.video-container iframe{height:450px}.image-gallery{gap:24px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.image-item img{max-height:250px}}.servers-header{margin-bottom:32px;text-align:center}.servers-header h1{color:var(--md-sys-color-on-surface);font-size:1.75rem;font-weight:500;margin:0 0 8px}.servers-header p{color:var(--md-sys-color-on-surface-variant);font-size:1rem;margin:0;opacity:.8}.servers-navigation{align-items:center;background:var(--md-sys-color-surface-container-low);border-radius:12px;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:32px;min-height:56px;padding:8px}.servers-content{flex:1 1}.server-section{background:var(--md-sys-color-surface-container-highest);border:1px solid var(--md-sys-color-outline-variant);border-radius:16px;padding:24px}.server-section h2{color:var(--md-sys-color-primary);font-size:1.25rem;font-weight:500;margin:0 0 16px}.server-section h3{color:var(--md-sys-color-on-surface);font-size:1.1rem;font-weight:500;margin:24px 0 12px}.server-section p{color:var(--md-sys-color-on-surface);font-size:.95rem;line-height:1.6;margin:0 0 16px}.server-section p:last-of-type{margin-bottom:24px}.repo-link{background:var(--md-sys-color-primary-container);border-radius:8px;color:var(--md-sys-color-primary);margin:8px 8px 8px 0;padding:8px 16px}.repo-link:hover{background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);text-decoration:none}.repo-links{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.features-list{background:var(--md-sys-color-surface-container-low);border:1px solid var(--md-sys-color-outline-variant);border-radius:12px;margin:24px 0;padding:20px}.features-list h3{color:var(--md-sys-color-primary);margin-bottom:16px;margin-top:0}.features-list ul{color:var(--md-sys-color-on-surface);padding-left:20px}.features-list li{margin-bottom:8px}.image-gallery{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr;margin:24px 0}.image-item{background:var(--md-sys-color-surface-container);border:1px solid var(--md-sys-color-outline-variant);border-radius:12px;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1)}.image-item:hover{box-shadow:0 4px 8px 0 #0000001a,0 6px 20px 4px #00000026;transform:translateY(-2px)}.image-item img{background:var(--md-sys-color-surface);cursor:pointer;display:block;height:auto;max-height:300px;object-fit:contain;transition:transform .2s ease;width:100%}.image-item img:hover{transform:scale(1.02)}.image-item p{background:var(--md-sys-color-surface-container-low);color:var(--md-sys-color-on-surface);font-size:.9rem;font-weight:500;margin:0;padding:12px;text-align:center}.fullscreen-modal{background:#000000e6;cursor:pointer;height:100vh;left:0;position:fixed;top:0;width:100vw;z-index:10000}.fullscreen-content,.fullscreen-modal{align-items:center;display:flex;justify-content:center}.fullscreen-content{max-height:95vh;max-width:95vw;position:relative}.fullscreen-content img{border-radius:8px;box-shadow:0 8px 32px #00000080;cursor:default;max-height:100%;max-width:100%;object-fit:contain}.close-button{align-items:center;background:var(--md-sys-color-primary);border:none;border-radius:50%;box-shadow:0 2px 8px #0000004d;color:var(--md-sys-color-on-primary);cursor:pointer;display:flex;font-size:24px;font-weight:700;height:40px;justify-content:center;position:absolute;right:-10px;top:-10px;transition:all .2s ease;width:40px}.close-button:hover{background:var(--md-sys-color-error);transform:scale(1.1)}@media (min-width:600px){.servers-header{margin-bottom:40px;text-align:left}.servers-header h1{font-size:2.25rem}.servers-header p{font-size:1.125rem}.servers-navigation{justify-content:flex-start;margin-bottom:40px;min-height:64px}.nav-button{font-size:1rem;min-height:48px;padding:16px 24px}.server-section{padding:32px}.server-section h2{font-size:1.5rem}.server-section h3{font-size:1.3rem}.server-section p{font-size:1rem}.image-gallery{gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.image-item img{max-height:200px}}@media (min-width:1024px){.image-gallery{gap:24px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.image-item img{max-height:250px}}.websites-header{margin-bottom:32px;text-align:center}.websites-header h2{color:var(--md-sys-color-on-surface);font-size:1.75rem;font-weight:500;margin:0 0 8px}.websites-header p{color:var(--md-sys-color-on-surface-variant);font-size:1rem;margin:0;opacity:.8}.websites-navigation{align-items:center;background:var(--md-sys-color-surface-container-low);border-radius:12px;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:32px;min-height:56px;padding:8px}.nav-button{align-items:center;background:var(--md-sys-color-surface-container);border-radius:8px;color:var(--md-sys-color-on-surface);display:flex;justify-content:center;min-height:40px;min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content;padding:14px 20px}.nav-button:hover{background:var(--md-sys-color-surface-container-high)}.nav-button.active{background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary)}.websites-content{flex:1 1}.website-section{background:var(--md-sys-color-surface-container-highest);border:1px solid var(--md-sys-color-outline-variant);border-radius:16px;padding:24px}.website-section h3{color:var(--md-sys-color-primary);font-size:1.25rem;font-weight:500;margin:0 0 16px}.website-section p{color:var(--md-sys-color-on-surface);font-size:.95rem;line-height:1.6;margin:0 0 16px}.website-section p:last-of-type{margin-bottom:24px}.website-section a{color:var(--md-sys-color-primary);font-weight:500;text-decoration:none}.website-section a:hover{text-decoration:underline}.website-links{display:flex;flex-direction:column;gap:12px}.website-link{align-items:center;background:var(--md-sys-color-primary-container);border:1px solid var(--md-sys-color-outline-variant);border-radius:12px;color:var(--md-sys-color-on-primary-container);display:flex;gap:16px;padding:16px;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1)}.website-link:hover{background:var(--md-sys-color-primary);box-shadow:0 4px 8px 0 #0000001a,0 6px 20px 4px #00000026;color:var(--md-sys-color-on-primary);transform:translateY(-2px)}.link-icon{align-items:center;background:var(--md-sys-color-surface-container);border-radius:8px;display:flex;flex-shrink:0;font-size:1.5rem;height:40px;justify-content:center;width:40px}.website-link:hover .link-icon{background:var(--md-sys-color-surface-container-high)}.website-link div{display:flex;flex-direction:column;gap:4px}.website-link strong{font-size:1rem;font-weight:500}.website-link small{font-size:.85rem;opacity:.8}.website-container{background:var(--md-sys-color-surface-container);height:500px;margin-top:16px;overflow:hidden}.calculator-embed,.website-container{border:1px solid var(--md-sys-color-outline-variant);border-radius:12px;width:100%}.calculator-embed{align-items:center;background:var(--md-sys-color-surface-container-low);display:flex;justify-content:center;margin-top:24px;min-height:600px;overflow:visible;padding:24px;position:relative}.calculator-embed>div{max-height:none!important;max-width:none!important;transform:scale(.75)!important;transform-origin:center!important}.calculator-embed .wrapper,.calculator-embed>div{left:auto!important;position:relative!important;top:auto!important}.calculator-embed .wrapper{margin:0 auto!important;transform:none!important;z-index:auto!important}.calculator-embed #background{display:none!important}@media (min-width:480px){.calculator-embed #background{align-items:flex-end!important;display:flex!important;flex-direction:column!important;height:300px!important;justify-content:flex-start!important;left:50%!important;overflow:visible!important;padding-right:10px!important;position:absolute!important;right:auto!important;top:50%!important;transform:translate(-200px,-50%)!important;width:150px!important}.calculator-embed .backgroundBox,.calculator-embed .latest{display:block!important;font-size:.9rem!important;height:auto!important;margin:6px 0!important;visibility:visible!important;width:auto!important}.calculator-embed .latest{font-size:1rem!important}}@media (min-width:600px){.websites-header{margin-bottom:40px;text-align:left}.websites-header h2{font-size:2.25rem}.websites-header p{font-size:1.125rem}.websites-navigation{justify-content:flex-start;margin-bottom:40px;min-height:64px}.nav-button{font-size:1rem;min-height:48px;padding:16px 24px}.website-section{padding:32px}.website-section h3{font-size:1.5rem}.website-section p{font-size:1rem}.website-links{flex-direction:row;flex-wrap:wrap}.website-link{flex:1 1;min-width:280px}.calculator-embed{min-height:650px;padding:32px}.calculator-embed>div{transform:scale(.8)!important}.calculator-embed #background{height:350px!important;padding-right:15px!important;transform:translate(-230px,-50%)!important;width:180px!important}.calculator-embed .backgroundBox,.calculator-embed .latest{font-size:1.1rem!important;margin:8px 0!important}.calculator-embed .latest{font-size:1.3rem!important}.website-container{height:600px}}@media (min-width:1024px){.calculator-embed{min-height:700px;padding:40px}.calculator-embed>div{transform:scale(.9)!important}.calculator-embed #background{height:400px!important;padding-right:20px!important;transform:translate(-280px,-50%)!important;width:220px!important}.calculator-embed .backgroundBox,.calculator-embed .latest{font-size:1.3rem!important;margin:10px 0!important}.calculator-embed .latest{font-size:1.5rem!important}.website-container{height:700px}}@media (min-width:1200px){.calculator-embed>div{transform:scale(1)!important}.calculator-embed #background{height:450px!important;transform:translate(-320px,-50%)!important;width:250px!important}.calculator-embed .backgroundBox,.calculator-embed .latest{font-size:1.4rem!important}.calculator-embed .latest{font-size:1.6rem!important}}.tech-stack{background:var(--md-sys-color-surface-container-low);border-radius:12px;margin:16px 0;padding:16px}.tech-tag{align-items:center;background:var(--md-sys-color-surface-container);color:var(--md-sys-color-on-surface);display:inline-flex;font-size:.875rem;gap:6px;transition:all .2s ease}.tech-tag:hover{background:var(--md-sys-color-surface-container-high);transform:translateY(-1px)}.tech-icon{flex-shrink:0;font-size:1rem}.tech-tag.javascript .tech-icon{color:#f7df1e}.tech-tag.react .tech-icon{color:#61dafb}.tech-tag.html .tech-icon{color:#e34f26}.tech-tag.css .tech-icon{color:#1572b6}.tech-tag.firebase .tech-icon{color:#ffca28}.tech-tag.calculator .tech-icon{color:var(--md-sys-color-primary)}.firmware-header{margin-bottom:32px;text-align:center}.firmware-header h1{font-size:2rem}.firmware-header h1,.firmware-header h2{color:var(--md-sys-color-on-surface);font-weight:500;margin:0 0 8px}.firmware-header h2{font-size:1.75rem}.firmware-header p{color:var(--md-sys-color-on-surface-variant);font-size:1rem;margin:0;opacity:.8}.firmware-navigation{display:flex;gap:8px;justify-content:center;margin-bottom:32px;padding:0 16px}.nav-button{background:var(--md-sys-color-surface-container-high);border:1px solid var(--md-sys-color-outline-variant);border-radius:20px;color:var(--md-sys-color-on-surface-variant);cursor:pointer;font-size:.9rem;font-weight:500;padding:12px 24px;transition:all .3s cubic-bezier(.4,0,.2,1);white-space:nowrap}.nav-button:hover{background:var(--md-sys-color-surface-container-highest);border-color:var(--md-sys-color-outline);transform:translateY(-1px)}.nav-button.active{background:var(--md-sys-color-primary-container);border-color:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary-container);font-weight:600}.firmware-content{display:flex;flex-direction:column;gap:24px}.firmware-section{background:var(--md-sys-color-surface-container-highest);border:1px solid var(--md-sys-color-outline-variant);border-radius:16px;padding:24px}.firmware-section h2{color:var(--md-sys-color-primary);font-size:1.5rem;font-weight:500;margin:0 0 24px;text-align:center}.project-card{background:var(--md-sys-color-surface-container);border:1px solid var(--md-sys-color-outline-variant);border-radius:12px;margin-bottom:24px;padding:24px;transition:all .3s cubic-bezier(.4,0,.2,1)}.project-card:hover{border-color:var(--md-sys-color-outline);box-shadow:0 4px 8px 0 #0000001a,0 6px 20px 4px #00000026;transform:translateY(-2px)}.project-card h3{color:var(--md-sys-color-primary);font-size:1.25rem;font-weight:500;margin:0 0 12px}.project-card p{color:var(--md-sys-color-on-surface);font-size:.95rem;line-height:1.6;margin:0 0 16px}.features-list{margin:20px 0}.features-list h4{color:var(--md-sys-color-on-surface);font-size:1rem;font-weight:500;margin:0 0 8px}.features-list ul{list-style:none;margin:0;padding:0}.features-list li{color:var(--md-sys-color-on-surface-variant);font-size:.9rem;line-height:1.5;margin-bottom:4px;padding-left:16px;position:relative}.features-list li:before{color:var(--md-sys-color-primary);content:"→";font-weight:700;left:0;position:absolute}.code-snippet{margin:20px 0}.code-snippet h4{color:var(--md-sys-color-on-surface);font-size:1rem;font-weight:500;margin:0 0 8px}.code-snippet pre{background:var(--md-sys-color-surface-container-low);border:1px solid var(--md-sys-color-outline-variant);border-radius:8px;margin:0;overflow-x:auto;padding:16px}.code-snippet code{color:var(--md-sys-color-on-surface);font-family:Courier New,monospace;font-size:.85rem;line-height:1.4}.tech-stack{margin:20px 0}.tech-stack h4{color:var(--md-sys-color-on-surface);font-size:1rem;font-weight:500;margin:0 0 12px}.tech-tags{display:flex;flex-wrap:wrap;gap:8px}.tech-tag{background:var(--md-sys-color-secondary-container);border:1px solid var(--md-sys-color-outline-variant);border-radius:16px;color:var(--md-sys-color-on-secondary-container);font-size:.8rem;font-weight:500;padding:6px 12px}.build-instructions{margin:20px 0}.build-instructions h4{color:var(--md-sys-color-on-surface);font-size:1rem;font-weight:500;margin:0 0 8px}.build-instructions pre{background:var(--md-sys-color-surface-container-low);border:1px solid var(--md-sys-color-outline-variant);border-radius:8px;margin:0;overflow-x:auto;padding:16px}.build-instructions code{color:var(--md-sys-color-on-surface);font-family:Courier New,monospace;font-size:.85rem;line-height:1.4}.repo-link{background:var(--md-sys-color-primary);border-radius:20px;color:var(--md-sys-color-on-primary);display:inline-block;font-size:.9rem;font-weight:500;margin-top:16px;padding:12px 20px;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1)}.repo-link:hover{background:var(--md-sys-color-primary-container);box-shadow:0 2px 4px #0000001a;color:var(--md-sys-color-on-primary-container);transform:translateY(-1px)}@media (max-width:599px){.firmware-navigation{align-items:center;flex-direction:column}.nav-button{text-align:center;width:200px}.project-card{padding:16px}.code-snippet pre{font-size:.75rem;overflow-x:auto}.tech-tags{justify-content:center}}@media (min-width:600px){.firmware-header{margin-bottom:40px}.firmware-header h1{font-size:2.25rem}.firmware-header p{font-size:1.125rem}.firmware-content{gap:32px}.project-card{padding:32px}.firmware-section h2{font-size:1.75rem}}@media (min-width:1024px){.firmware-navigation{gap:16px}.nav-button{font-size:1rem;padding:14px 32px}}
/*# sourceMappingURL=main.5796ba53.css.map*/