#root{max-width:1280px;overflow-x:hidden;margin:0 auto;text-align:center;font-family:Ubuntu,sans-serif}.app-nav{position:fixed;top:0;left:0;width:100%;display:flex;justify-content:flex-end;padding:1rem 2rem;z-index:10;box-sizing:border-box;background-color:#14141480;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.app-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:1.5rem}.app-nav a{font-size:1.2rem;color:#fff}.app-main{height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;position:relative}.css-logo{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;margin-bottom:1rem;padding:1rem}.logo-text-container{position:relative;font-family:Orbitron,sans-serif;font-weight:700;font-size:4.5rem}.logo-text-main{color:#fff}.app-section{min-height:100vh;padding:4rem 2rem}.portfolio-cards-container{display:flex;flex-direction:column;align-items:center;width:100%;gap:2rem}.portfolio-card{background:#28282859;box-shadow:0 8px 32px #0000005e;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);border-radius:10px;border:1px solid rgba(255,255,255,.18);padding:1.5rem}.portfolio-card h4{margin-top:2rem;margin-bottom:1rem;color:#0ff;border-bottom:1px solid rgba(0,255,255,.3);padding-bottom:.5rem}.arch-table{width:100%;border-collapse:collapse;margin-top:1rem;margin-bottom:1rem}.arch-table th,.arch-table td{border:1px solid rgba(255,255,255,.2);padding:.75rem;text-align:left;vertical-align:top}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.quote{font-style:italic;font-size:.9em;border:none}.quote p{font-style:italic}.scroll-down-arrows{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);cursor:pointer}.arrow{display:block;width:1rem;height:1rem;border:0px solid;border-color:#fff44f;border-bottom-width:2px;border-right-width:2px;transform:rotate(45deg);animation:bounce 2s infinite}.arrow:after{content:"";display:block;width:1rem;height:1rem;border:0px solid;border-color:#fff44f;border-bottom-width:2px;border-right-width:2px;transform:translateY(-.5rem) translate(-.5rem)}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0) rotate(45deg)}40%{transform:translateY(10px) rotate(45deg)}60%{transform:translateY(5px) rotate(45deg)}}.read-the-docs{color:#888}.contact-form{display:flex;flex-direction:column;gap:.75rem;max-width:600px;margin:2rem auto 0;text-align:left}.contact-form label{font-size:1rem;color:#ddd;margin-bottom:-.25rem}.contact-form input,.contact-form textarea{width:100%;padding:.8rem;background-color:#141414b3;border:1px solid rgba(255,255,255,.2);border-radius:4px;color:#fff;font-size:1rem;box-sizing:border-box}.contact-form textarea{min-height:150px;resize:vertical}.contact-form button{padding:.8rem 1.5rem;background-color:#cfc100;color:#1a1a1a;border:none;border-radius:4px;font-size:1.1rem;font-weight:700;cursor:pointer;transition:background-color .3s ease}.contact-form button:hover:not(:disabled){background-color:#e2d300}.contact-form button:disabled{background-color:#555;cursor:not-allowed}.collapsible{background-color:#00ffff1a;color:#0ff;cursor:pointer;padding:18px;width:100%;border:1px solid rgba(0,255,255,.3);text-align:left;outline:none;font-size:15px;font-family:Ubuntu,sans-serif;border-radius:4px;margin-top:10px;display:flex;justify-content:space-between;align-items:center;transition:background-color .3s ease}.collapsible:hover{background-color:#0ff3}.collapsible-icon{position:relative;width:14px;height:14px;transition:transform .3s ease}.collapsible-icon .icon-line{position:absolute;background-color:#0ff;transition:transform .3s ease}.collapsible-icon .icon-line:first-child{width:100%;height:2px;top:50%;transform:translateY(-50%)}.collapsible-icon .icon-line:last-child{width:2px;height:100%;left:50%;transform:translate(-50%)}.collapsible.active{background-color:#00ffff40}.content-wrapper{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s ease-out}.content-wrapper.open{grid-template-rows:1fr}.collapsible.active .collapsible-icon .icon-line:last-child{transform:translate(-50%) rotate(90deg)}.content{overflow:hidden}.collapsible-wrapper{margin-bottom:10px}.collapsible-wrapper{width:100%}@media (max-width: 768px){.app-nav{padding:1rem;justify-content:center}.app-nav ul{gap:1rem}.app-main h1{font-size:2.5em;width:90vw}.app-section{padding:3rem 1rem;box-sizing:border-box;width:100vw}.portfolio-cards-container{width:95%}.portfolio-card{padding:1rem}}.luhn-checker .hit{padding:.5rem .75rem;border:1px solid rgba(255,255,255,.2);border-radius:.5rem;margin:.5rem 0;background:#14141480}.luhn-checker .valid{border-color:#4caf50}.luhn-checker .invalid{border-color:#f44336}.luhn-checker code{background:#0000004d;padding:.1rem .3rem;border-radius:.3rem}.luhn-checker h4{color:#ddd;border:none;margin-bottom:.5rem}.light-rays-container{width:100%;height:100%;position:relative;pointer-events:none;z-index:3;overflow:hidden}:root{font-family:Cascadia Code,sans-serif;font-optical-sizing:auto;font-weight:400;font-style:normal;line-height:1.5;color-scheme:dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html{scroll-behavior:smooth}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;min-width:320px;min-height:100vh;background-color:transparent}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}.auth-button{background:none;border:none;padding:0;margin:0;font-family:inherit;font-size:inherit;font-weight:500;color:#646cff;cursor:pointer}.auth-button:hover{color:#535bf2}
