body{-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}@font-face{font-display:swap;font-family:Waltograph;font-style:normal;font-weight:400;src:url(../../static/media/waltograph42.5c673f034ed8822ce869.ttf) format("truetype")}@font-face{font-display:swap;font-family:Overpass Mono;font-style:normal;font-weight:400;src:url(../../static/media/OverpassMono-VariableFont_wght.07fdc4d35ef891c1fbd3.ttf) format("truetype")}@font-face{font-display:swap;font-family:Segoe UI Symbol;font-style:normal;font-weight:400;src:url(../../static/media/segoe-ui-symbol.2f6876313699c5b156bc.ttf) format("truetype")}.viewcube-info{color:#666;font-size:.8rem;margin-top:10px;text-align:center}.viewcube-face{transition:all .2s ease}.viewcube-face:hover{box-shadow:0 4px 10px #0003!important;transform:scale(1.05) translateZ(22px)!important}.viewcube-button{transition:all .2s ease}.viewcube-button:hover{box-shadow:0 2px 8px #0003;transform:scale(1.05)}.viewcube-button:active{transform:scale(.95)}@media (max-width:768px){.form-container{grid-template-columns:1fr}}.viewer-instructions{animation:fadeIn .5s ease;background:#0000000d;border-radius:10px;margin-bottom:15px;padding:12px 16px}.viewer-instructions,.viewer-instructions p{font-family:Roboto,Helvetica,Arial,sans-serif}.viewer-instructions p{color:#444;margin:0 0 8px}.viewer-instructions ul{color:#555;font-family:Roboto,Helvetica,Arial,sans-serif}.viewer-instructions li{font-family:Roboto,Helvetica,Arial,sans-serif;font-size:.9rem;line-height:1.4;margin-bottom:5px}.instructions-controls{display:flex;justify-content:flex-end;margin-bottom:10px}.instructions-toggle{background-color:#f0f0f0;border-radius:4px;color:#555;font-family:Roboto,Helvetica,Arial,sans-serif;font-size:.8rem;padding:5px 10px;transition:all .2s ease}.instructions-toggle:hover{background-color:#e4e4e4}.croc-charm-generator-page{background-color:#f3f3f3}.form-container{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(2,1fr);margin-bottom:30px}.form-full-width{grid-column:1/-1}.form-label{color:#333;display:block;font-weight:500;margin-bottom:10px}.form-input{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #0000004d;border-radius:12px;color:#333;font-size:1rem;padding:12px 16px;transition:all .3s ease;width:100%}.form-input:focus{border-color:#00000080;box-shadow:0 0 0 2px #0000001a;outline:none}.form-input:disabled{cursor:not-allowed;opacity:.7}.generator-button{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #0000004d;border-radius:12px;color:#333;cursor:pointer;font-size:1.1rem;font-weight:500;padding:16px 32px;transition:all .3s ease;width:100%}.generator-button:disabled{cursor:not-allowed;opacity:.7}.generator-button:hover:not(:disabled){background:#fff3;transform:translateY(-2px)}.download-button{background:#0096881a;border:1px solid #0096884d;border-radius:12px;color:#00796b;cursor:pointer;font-size:1.1rem;font-weight:500;margin-top:24px;padding:16px 32px;transition:all .3s ease;width:100%}.download-button:hover{background:#00968833;transform:translateY(-2px)}.progress-container{background:#0000001a;border-radius:4px;height:8px;margin:16px 0;overflow:hidden;width:100%}.progress-fill{border-radius:4px;height:100%;transition:width .3s ease,background-color .3s ease}.progress-fill.error{background-color:#d32f2f}.progress-fill.complete{background-color:#00c853}.progress-fill.pending{background-color:#333}.status-message{color:#555;font-size:.9rem;margin-top:8px;text-align:center}.error-message{align-items:center;border:1px solid #f003;border-radius:12px;display:flex;justify-content:space-between;margin:20px 0;padding:16px}.error-message,.retry-button{background:#ff00001a;color:#d32f2f}.retry-button{border:1px solid #f003;border-radius:8px;cursor:pointer;font-weight:500;padding:8px 16px;transition:all .3s ease}.retry-button:hover{background:#f003}.viewer-container{background:#0000000d;border-radius:12px;margin-top:40px;padding:20px}.viewer-heading{color:#333;margin-bottom:20px}.loading-viewer{align-items:center;background:#f8f8f8;border:1px solid #0000004d;border-radius:8px;color:#555;display:flex;font-weight:500;height:500px;justify-content:center;width:100%}.model-controls{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#ffffff4d;border:1px solid #0000001a;border-radius:8px;display:flex;flex-wrap:wrap;gap:20px;margin-bottom:20px;padding:15px}.color-picker-container{flex:1 1;min-width:200px}.color-picker-wrapper{align-items:center;display:flex;gap:10px}.color-picker{border:none;border-radius:4px;cursor:pointer;height:40px;overflow:hidden;padding:0;width:40px}.color-picker::-webkit-color-swatch-wrapper{padding:0}.color-picker::-webkit-color-swatch{border:none;border-radius:4px}.color-display{border:1px solid #0003;border-radius:4px;height:30px;width:30px}.color-value{color:#555;font-family:monospace}.instructions-controls{margin-bottom:20px}.instructions-toggle{background:#0000000d;border:1px solid #0000001a;border-radius:8px;color:#333;cursor:pointer;padding:8px 16px;transition:all .3s ease}.instructions-toggle:hover{background:#0000001a}.viewer-instructions{background:#00000008;border:1px solid #0000001a;border-radius:8px;margin-bottom:24px;padding:16px}.viewer-instructions p{font-weight:500;margin-bottom:12px;margin-top:0}.viewer-instructions ul{margin:0;padding-left:20px}.viewer-instructions li{margin-bottom:8px}.font-preview{border:1px dashed #0003;border-radius:8px;font-size:1.2rem;margin-top:10px;padding:10px;text-align:center}.waltograph{font-family:Waltograph,cursive}.overpass{font-family:Overpass Mono,monospace}.segoe{font-family:Segoe UI Symbol,sans-serif}*{box-sizing:border-box;margin:0;padding:0}:root{--pastel-blue:#d4e6f1;--pastel-green:#d1f2eb;--pastel-pink:#f9ebea;--pastel-yellow:#fdebd0;--pastel-purple:#ebdef0;--text-dark:#34495e;--text-light:#7f8c8d;--text-header:#2c3e50;--bg-light:#f8f9fa;--transition-regular:all 0.3s ease;--transition-slow:all 0.5s ease;--shadow:0 5px 15px #0000000d;--shadow-hover:0 8px 20px #0000001a;--border-radius:12px}body{-webkit-font-smoothing:antialiased;background-color:#f8f9fa;background-color:var(--bg-light);background-image:linear-gradient(to bottom right,#d4e6f180,#ebdef080,#d1f2eb4d,#f9ebea4d),url("data:image/svg+xml;charset=utf-8,%3Csvg width='60' height='60' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z' fill='%23c3e6f3' fill-opacity='.15' fill-rule='evenodd'/%3E%3C/svg%3E");color:#34495e;color:var(--text-dark);font-family:Lato,sans-serif;font-size:16px;line-height:2em;min-height:100%;overflow-x:hidden;position:relative}a,a:visited,body{transition:all .3s ease;transition:var(--transition-regular)}a,a:visited{color:#2c3e50;color:var(--text-header);text-decoration:none}.wrapper{margin:0 auto;max-width:1440px;padding:0 80px}p{color:#7f8c8d;color:var(--text-light);line-height:32px;margin-bottom:20px}b{color:#2c3e50;color:var(--text-header);font-weight:600}h1{font-size:2.25em;margin-bottom:1.5rem}h1,h2{color:#2c3e50;color:var(--text-header);font-family:Playfair Display,sans-serif;font-weight:300}h2{font-size:2em;line-height:48px;margin-bottom:1.2rem}h4{color:#2c3e50;color:var(--text-header);font-size:1.15em;margin-bottom:.8rem}h5{color:#7f8c8d;color:var(--text-light);font-size:.85em;letter-spacing:1px;text-transform:uppercase}header{align-items:center;animation:fadeInDown .8s ease-out;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);-moz-backdrop-filter:blur(20px);-o-backdrop-filter:blur(20px);background:#fff6;border:1px solid #ffffff4d;border-radius:25px;box-shadow:0 8px 32px #0000000d;display:flex;flex-direction:row;justify-content:space-between;left:5%;margin:15px auto 0;max-width:1400px;padding:8px 20px;position:fixed;right:5%;top:15px;transform:translateY(0);transition:all .3s ease-out;width:90%;z-index:1100}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.logo a{align-items:center;display:flex;flex-direction:row;height:100%;transition:all .3s ease;transition:var(--transition-regular)}.logo a:hover{transform:translateY(-2px)}.logo-name{color:#2c3e50;color:var(--text-header);font-size:.9em;letter-spacing:.5px;margin-right:5px}.logo-separator{font-size:.9em;margin:0 6px}.logo-separator,.logo-text{color:#7f8c8d;color:var(--text-light)}.logo-text{font-size:.8em;letter-spacing:.5px}.logo-line{display:none}.logo:hover .logo-line{animation:rainbow 2s linear infinite;background-image:linear-gradient(90deg,red,#ff7f00,#ff0,#0f0,#00f,indigo,#8b00ff);background-size:200% auto;width:75px}.main-nav-list{display:flex;flex-direction:row;list-style:none}.main-nav-list li{margin-left:20px;position:relative}.main-nav-list li a,.nav-link{align-items:center;background-color:initial;border:1px solid #0000;border-radius:30px;color:#2c3e50;color:var(--text-header);cursor:pointer;display:flex;font-family:inherit;font-size:1em;font-weight:500;letter-spacing:1px;padding:8px 15px;position:relative;text-decoration:none;transition:all .4s cubic-bezier(.19,1,.22,1);z-index:2}.main-nav-list li:hover .nav-link,.main-nav-list li:hover a{-webkit-text-fill-color:initial;animation:none;background-color:#ffffff4d;background-image:none;border:1px solid #ffffff4d;box-shadow:0 8px 25px #0000001a;color:#2c3e50;color:var(--text-header);transform:translateY(-5px)}.main-nav-list li a:before{content:none;display:none}.main-nav-list li:hover a:before{content:none;display:none;margin-right:0;width:0}.nav-hover-bg{display:none}.home{align-items:center;animation:fadeIn 1s ease-out;display:flex;flex-direction:column;justify-content:space-between;min-height:calc(100vh - 170px);padding-top:calc(12vh + 100px);text-align:center;width:100%}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.main-text{animation:slideInLeft 1s ease-out;line-height:1.6em;margin:0 auto 15px;max-width:1000px;text-align:center;width:85%}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}.view-work{align-items:center;animation:slideInUp 1.2s ease-out;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background-color:#fff3;border:1px solid #ffffff4d;border-radius:30px;box-shadow:0 4px 15px #0000000d;display:flex;margin-bottom:20px;margin-top:10px;padding:8px 15px;position:relative;transition:all .4s cubic-bezier(.19,1,.22,1)}@keyframes slideInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.view-work:hover{background-color:#ffffff4d;box-shadow:0 8px 25px #0000001a;transform:translateY(-5px)}.work-line{background:linear-gradient(135deg,#ebdef0,#d4e6f1);background:linear-gradient(135deg,var(--pastel-purple) 0,var(--pastel-blue) 100%);height:2px;margin-right:0;transition:width .4s cubic-bezier(.19,1,.22,1),background-color .3s ease;width:0}.view-work:hover .work-line{margin-right:10px;width:20px}.view-work-txt{letter-spacing:1px;transition:color .3s ease}.view-work:hover .view-work-txt{color:#2c3e50;color:var(--text-header)}#projects-wrap{padding-bottom:100px;padding-top:120px;scroll-margin-top:150px}.work-title{animation:fadeIn 1.2s ease-out;margin-bottom:2.5rem;position:relative;text-align:center}.work-title:after{background:linear-gradient(135deg,#ebdef0,#d4e6f1);background:linear-gradient(135deg,var(--pastel-purple) 0,var(--pastel-blue) 100%);border-radius:3px;content:"";display:block;height:3px;margin:20px auto 0;width:80px}.card-wrap{grid-gap:30px;display:grid;grid-template-columns:repeat(3,1fr);margin-left:auto;margin-right:auto;margin-top:50px;max-width:1200px;width:100%}.project{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background-color:#ffffff26;border:1px solid #fff3;border-radius:12px;border-radius:var(--border-radius);box-shadow:0 8px 32px #00000014;display:block;margin-bottom:0;overflow:hidden;transition:transform .4s cubic-bezier(.19,1,.22,1),box-shadow .4s ease}.project:hover{background-color:#fff3;border:1px solid #ffffff4d;box-shadow:0 15px 35px #0000001a;transform:translateY(-10px)}.project-card{align-items:center;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background-color:#ffffff1a;border-bottom:1px solid #fff3;border-radius:12px 12px 0 0;border-radius:var(--border-radius) var(--border-radius) 0 0;box-shadow:inset 0 0 0 1px #ffffff1a;display:flex;height:300px;justify-content:center;margin-bottom:0;overflow:hidden;position:relative;width:100%}.project-logo{filter:drop-shadow(0 5px 15px rgba(0,0,0,.1));max-height:150px;max-width:150px;object-fit:contain;transform-origin:center center;transition:transform .5s ease,filter .5s ease}.project-logo[src$=".jpeg"],.project-logo[src$=".jpg"],.project-logo[src$=".png"]{filter:contrast(1.1) drop-shadow(0 2px 8px rgba(0,0,0,.1));mix-blend-mode:multiply}.project:hover .project-logo{filter:drop-shadow(0 8px 25px rgba(0,0,0,.15));transform:scale(1.1) translateY(-5px)}.project-card:after{background:linear-gradient(135deg,#ffffff1a,#fff0);content:"";height:100%;left:0;opacity:0;position:absolute;top:0;transition:opacity .5s ease;width:100%}.project:hover .project-card:after{opacity:1}.ag-container{background:linear-gradient(135deg,#50546033,#a3a6b133);overflow:hidden;position:relative}.leaf-container{background:linear-gradient(135deg,#5d8d5833,#b6d4ae33)}.ag-container:before{background:linear-gradient(125deg,#ffffff4d,#ffffff1a 40%,#fff0);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:0}.leaf-container{background-color:#ffffff26!important;overflow:hidden;position:relative}.leaf-container:before{background:linear-gradient(125deg,#ffffff4d,#ffffff1a 40%,#fff0);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:0}.nlp-container{background:linear-gradient(135deg,#5c6bc033,#b3bbea33);overflow:hidden;position:relative}.nlp-container:before{background:linear-gradient(125deg,#ffffff4d,#ffffff1a 40%,#fff0);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:0}.company-title,.project h5{padding:0 20px}.company-title{color:#2c3e50;color:var(--text-header);font-weight:600;margin-bottom:5px;margin-top:15px;transition:color .3s ease}.project:hover .company-title{color:#2c3e50;color:var(--text-header);transform:translateY(-2px)}.project h5{color:#7f8c8d;color:var(--text-light);margin-bottom:15px;transition:all .3s ease}.project:hover h5{color:#2c3e50;color:var(--text-header)}.footer-link:hover{background-color:#ffffff4d;border:1px solid #ffffff4d!important;box-shadow:0 8px 25px #0000001a;color:#2c3e50!important;color:var(--text-header)!important;transform:translateY(-5px)}.body-wrap{padding-top:120px}.kp-img{border-radius:12px;border-radius:var(--border-radius);box-shadow:0 5px 15px #0000000d;box-shadow:var(--shadow);display:block;height:auto;margin:30px auto 50px;max-width:800px;transition:all .5s ease;transition:var(--transition-slow);width:100%}.kp-img:hover{box-shadow:0 8px 20px #0000001a;box-shadow:var(--shadow-hover);transform:scale(1.01)}.about-cnt,.about-cnt-bottom{animation:fadeIn 1.2s ease-out;margin-bottom:100px;margin-top:120px}.about-cnt{margin-right:25%}.about-cnt h2,.about-cnt-bottom h2{display:inline-block;margin-bottom:30px;position:relative}.about-cnt h2:after,.about-cnt-bottom h2:after{background:linear-gradient(135deg,#ebdef0,#d4e6f1);background:linear-gradient(135deg,var(--pastel-purple) 0,var(--pastel-blue) 100%);border-radius:3px;content:"";display:block;height:3px;margin-top:10px;width:60%}.about-cnt p,.about-cnt-info{margin-bottom:30px}.about-cnt-info{display:flex;flex-direction:column;gap:15px}.about-cnt-info .contact-buttons{display:flex;flex-wrap:wrap;gap:15px;margin-top:10px}.about-cnt-info .contact-button{align-items:center;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#ffffff80;border:1px solid #ffffff4d;border-radius:30px;box-shadow:0 5px 15px #0000000d;display:inline-flex;justify-content:center;min-width:140px;overflow:hidden;padding:10px 16px;position:relative;transition:all .3s ease}.about-cnt-info .contact-button:hover{background:#ffffffb3;box-shadow:0 8px 20px #0000001a;transform:translateY(-5px)}.about-cnt-info .button-line{background:#7f8c8d;background:var(--text-light);display:inline-block;height:1px;margin-right:0;opacity:0;transition:all .3s ease;width:0}.about-cnt-info .contact-button:hover .button-line{background:#2c3e50;background:var(--text-header);margin-right:8px;opacity:1;width:25px}.about-cnt-info .button-text{color:#7f8c8d;color:var(--text-light);font-size:.8em;font-weight:700;letter-spacing:1px;text-transform:uppercase;transition:all .3s ease}.case-wrap{animation:fadeIn 1s ease-out;margin-bottom:80px;margin-top:120px;padding-bottom:20px}.case-intro{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background-color:#ffffff14;border:1px solid #ffffff1a;border-radius:12px;border-radius:var(--border-radius);box-shadow:0 8px 32px #00000014;margin:0 auto;overflow:hidden;padding:30px;position:relative;text-align:center;width:70%}.case-intro:before{background:linear-gradient(180deg,#ffffff1a,#fff0);content:"";height:50%;left:0;pointer-events:none;position:absolute;right:0;top:0}.case-title{display:inline-block;margin-bottom:30px;position:relative}.case-title:after{background:linear-gradient(135deg,#ebdef0,#d4e6f1);background:linear-gradient(135deg,var(--pastel-purple) 0,var(--pastel-blue) 100%);border-radius:3px;content:"";display:block;height:3px;margin:10px auto 0;width:60%}.case-data{display:flex;gap:40px;justify-content:space-between;margin:100px 0}.case-data h4{display:inline-block;margin-bottom:15px;position:relative}.case-data h4:after{background:linear-gradient(135deg,#ebdef0,#d4e6f1);background:linear-gradient(135deg,var(--pastel-purple) 0,var(--pastel-blue) 100%);border-radius:2px;content:"";display:block;height:2px;margin-top:5px;width:40px}.case-summary{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background-color:#ffffff14;border:1px solid #ffffff1a;border-radius:12px;border-radius:var(--border-radius);box-shadow:0 8px 32px #00000014;overflow:hidden;padding:30px;position:relative;width:65%}.case-summary:before{background:linear-gradient(180deg,#ffffff1a,#fff0);content:"";height:50%;left:0;pointer-events:none;position:absolute;right:0;top:0}.case-info{align-self:flex-start;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background-color:#ffffff14;border:1px solid #ffffff1a;border-radius:12px;border-radius:var(--border-radius);box-shadow:0 8px 32px #00000014;min-width:200px;overflow:hidden;padding:30px;position:relative;width:30%}.case-info:before{background:linear-gradient(180deg,#ffffff1a,#fff0);content:"";height:50%;left:0;pointer-events:none;position:absolute;right:0;top:0}.case-img{border-radius:12px;border-radius:var(--border-radius);box-shadow:0 5px 15px #0000000d;box-shadow:var(--shadow);height:auto;margin:50px 0;transition:all .5s ease;transition:var(--transition-slow);width:100%}.case-img:hover{box-shadow:0 8px 20px #0000001a;box-shadow:var(--shadow-hover);transform:scale(1.02)}@media (max-width:1140px){.card-wrap{grid-template-columns:repeat(2,1fr)}.main-text{width:85%}}@media (max-width:900px){.about-cnt{margin-right:10%}}@media (max-width:768px){.wrapper{padding:0 30px}.main-text{width:100%}.hamburger-menu,header .hamburger-menu{display:flex!important;margin-right:5px;opacity:1!important;visibility:visible!important}.main-nav{display:none!important}.mobile-nav{display:block}header{padding:12px 20px;top:15px;width:90%}.header-scrolled{top:10px;width:90%}.hamburger-menu.active span:first-child{transform:translateY(9px) rotate(45deg)}.hamburger-menu.active span:nth-child(2){opacity:0}.hamburger-menu.active span:nth-child(3){transform:translateY(-9px) rotate(-45deg)}.about-cnt{margin-right:0}.case-data{flex-direction:column;margin:60px 0}.case-summary{margin-bottom:30px;width:100%}.case-info{min-width:auto;width:100%}.case-intro{width:90%}.footer-cnt{align-items:flex-start;flex-direction:column;padding:12px 15px;width:95%}footer ul{margin-top:12px}footer ul li{margin-left:0;margin-right:10px}footer ul li a{padding:6px 12px}.tech-logos-grid{grid-template-columns:repeat(3,1fr)}.responsibility-header{align-items:flex-start;flex-direction:column}.tech-icons{margin-bottom:5px;margin-left:0;margin-top:5px}}@media (max-width:500px){.tech-logos-grid{grid-template-columns:repeat(2,1fr)}}div[id],section[id]{scroll-margin-top:150px}body.about-page .wrapper{padding-top:100px}#projects-wrap,#technologies,#work-experience,.anchored-section{scroll-margin-top:150px}.project-page{padding-top:120px}.tech-logos-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(4,1fr);margin-bottom:50px;margin-top:30px}.tech-logo-item{align-items:center;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background-color:#ffffff26;border:1px solid #fff3;border-radius:12px;border-radius:var(--border-radius);box-shadow:0 5px 15px #0000000d;display:flex;flex-direction:column;height:120px;justify-content:center;padding:15px;text-align:center;transition:all .3s ease}.tech-logo-item:hover{background-color:#ffffff40;border:1px solid #ffffff4d;box-shadow:0 10px 25px #0000001a;transform:translateY(-5px)}.tech-logo-item img{filter:drop-shadow(0 2px 4px rgba(0,0,0,.05));height:50px;margin-bottom:10px;object-fit:contain;transition:all .3s ease;width:50px}.tech-logo-item img[src$=".jpeg"],.tech-logo-item img[src$=".jpg"],.tech-logo-item img[src$=".png"]{filter:contrast(1.05) drop-shadow(0 2px 4px rgba(0,0,0,.08));mix-blend-mode:multiply}.tech-logo-item img[src$=".svg"]{filter:drop-shadow(0 2px 4px rgba(0,0,0,.05))}.tech-logo-item:hover img{transform:scale(1.1)}.tech-logo-item span{color:#2c3e50;color:var(--text-header);font-size:14px;font-weight:500;margin-top:auto}.work-experience-description ul{list-style-type:none;padding-left:0}.experience-points p,.work-experience-description ul li{color:#7f8c8d;color:var(--text-light);line-height:1.6;margin-bottom:12px;position:relative}.view-details-wrap{display:flex;justify-content:flex-start;margin-top:20px}.view-details-btn{align-items:center;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#ffffff80;border:1px solid #ffffff4d;border-radius:30px;box-shadow:0 5px 15px #0000000d;display:inline-flex;justify-content:center;overflow:hidden;padding:10px 16px;position:relative;transition:all .3s ease;width:140px}.view-details-btn:hover{background:#ffffffb3;box-shadow:0 8px 20px #0000001a;transform:translateY(-2px);width:160px}.details-btn-line{background:#7f8c8d;background:var(--text-light);display:inline-block;height:1px;margin-right:0;opacity:0;transition:all .3s ease;width:0}.view-details-btn:hover .details-btn-line{background:#2c3e50;background:var(--text-header);margin-right:8px;opacity:1;width:25px}.details-btn-txt{color:#7f8c8d;color:var(--text-light);font-size:.8em;font-weight:700;letter-spacing:1px;text-transform:uppercase;transition:all .3s ease}.view-details-btn:hover .details-btn-txt{color:#2c3e50;color:var(--text-header)}.work-experience-company{display:inline-block;line-height:1.4;margin:0;position:relative;vertical-align:middle}.work-experience-company:after{display:none}.work-experience-role{color:#7f8c8d;color:var(--text-light);font-size:.85em;font-weight:400;margin-left:5px}.work-experience-description .responsibility-header{align-items:center;display:flex;justify-content:flex-end;margin-bottom:15px}.work-experience-description .tech-icons{align-items:center;display:flex;flex-wrap:nowrap;gap:12px;margin-left:15px}.tech-icons img{filter:drop-shadow(0 2px 3px rgba(0,0,0,.1));height:20px;margin-right:4px;object-fit:contain;transition:transform .3s ease;width:20px}.tech-icons img:last-child{margin-right:0}.work-experience{padding-bottom:40px;padding-top:80px;scroll-margin-top:150px}.work-experience-card{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background-color:#ffffff14;border:1px solid #ffffff1a;border-radius:12px;border-radius:var(--border-radius);box-shadow:0 8px 32px #00000014;margin-bottom:30px;overflow:hidden;padding:30px;position:relative;transition:all .3s ease}.work-experience-card:before{background:linear-gradient(180deg,#ffffff1a,#fff0);content:"";height:50%;left:0;pointer-events:none;position:absolute;right:0;top:0}.work-experience-card:hover{box-shadow:0 8px 20px #0000001a;box-shadow:var(--shadow-hover);transform:translateY(-5px)}.work-experience-description{text-align:left}.work-experience-title{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:15px;text-align:left}.view-buttons{display:flex;gap:20px;justify-content:center;margin-top:20px}.hamburger-menu{background:#0000;border:none;cursor:pointer;display:none;flex-direction:column;height:25px;justify-content:space-between;padding:0;position:relative;width:35px;z-index:2000}.hamburger-menu span{background-color:#2c3e50;background-color:var(--text-header);border-radius:10px;display:block;height:3px;margin:2px 0;transition:all .3s linear;width:35px}.mobile-nav{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#fffffff2;display:none;height:100vh;left:0;opacity:0;overflow-y:auto;position:fixed;top:0;transition:opacity .3s ease,visibility .3s ease;visibility:hidden;width:100%;z-index:3000}.mobile-nav.active{display:block!important;opacity:1!important;visibility:visible!important}.mobile-nav-list{align-items:center;display:none;flex-direction:column;height:100%;justify-content:center;list-style:none;margin:0;padding:0}.mobile-nav.active .mobile-nav-list{display:flex!important;opacity:1!important;visibility:visible!important}.mobile-nav-list li{list-style-type:none;margin:20px 0;opacity:0;transform:translateY(20px);transition:opacity .3s ease,transform .3s ease}.mobile-nav.active .mobile-nav-list li{opacity:1;transform:translateY(0)}.mobile-nav-list li a{border-radius:30px;color:#2c3e50;color:var(--text-header);font-size:1.5rem;padding:10px 20px;text-decoration:none;transition:all .3s ease}.mobile-nav-list li a:hover{background:#ffffff4d;box-shadow:0 8px 25px #0000001a;transform:translateY(-5px)}@media (max-width:1140px){.tech-logos-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:768px){.tech-logos-grid{gap:10px;grid-template-columns:repeat(3,1fr)}.tech-logo-item{height:100px;padding:8px}}@media (max-width:500px){.tech-logos-grid{gap:8px;grid-template-columns:repeat(2,1fr)}.tech-logo-item{height:90px}}@media (min-width:1200px){.tech-logos-grid{grid-template-columns:repeat(3,1fr)}}.responsibility-header{align-items:center;display:flex;flex-direction:row;flex-wrap:nowrap;margin-bottom:8px}.responsibility-header strong{margin-right:5px}@media (max-width:768px){.responsibility-header{align-items:flex-start;flex-direction:column}.tech-icons{margin-bottom:5px;margin-left:0;margin-top:5px}}.scroll-top{backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);background-color:#ffffff80;border:1px solid #fff3;border-radius:50%;bottom:80px;box-shadow:0 2px 10px #0000001a;color:#2c3e50;color:var(--text-header);cursor:pointer;font-size:18px;height:35px;line-height:35px;opacity:0;position:fixed;right:20px;text-align:center;text-decoration:none;transform:translateY(20px);transition:all .3s ease;visibility:hidden;width:35px;z-index:99}.scroll-top.visible{opacity:1;transform:translateY(0);visibility:visible}.scroll-top:hover{background-color:#ffffffb3;box-shadow:0 5px 15px #00000026;color:#000;transform:translateY(-5px)}.next-project-container{align-items:center;padding:40px 0 80px}.next-project-container,.next-project-wrap{display:flex;justify-content:center}.next-project-btn{align-items:center;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);background:#ffffff80;border:1px solid #ffffff4d;border-radius:50px;box-shadow:0 5px 15px #00000014;display:inline-flex;overflow:hidden;padding:12px 25px;position:relative;transition:all .4s cubic-bezier(.19,1,.22,1)}.next-project-btn:hover{background:#ffffffb3;box-shadow:0 10px 25px #0000001f;transform:translateY(-5px)}.next-btn-line{background:linear-gradient(135deg,#ebdef0,#d4e6f1);background:linear-gradient(135deg,var(--pastel-purple) 0,var(--pastel-blue) 100%);height:2px;margin-right:0;opacity:0;transition:width .4s cubic-bezier(.19,1,.22,1),margin-right .3s ease;width:0}.next-project-btn:hover .next-btn-line{margin-right:12px;opacity:1;width:25px}.next-btn-txt{color:#7f8c8d;color:var(--text-light);font-size:.9em;letter-spacing:1px;text-transform:uppercase;transition:color .3s ease}.next-project-btn:hover .next-btn-txt{color:#2c3e50;color:var(--text-header)}.project:first-child .project-card:before,.project:nth-child(2) .project-card:before,.project:nth-child(3) .project-card:before{background:radial-gradient(circle at center,#fff3 0,#fff0 70%);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}#root,.App{display:flex;flex-direction:column;min-height:100vh}.wrapper{flex:1 0 auto}footer{flex-shrink:0;margin-top:50px}#root,.App,body,html{height:auto}.case-wrap{margin-bottom:150px!important}.adobe-experience-page~footer,body:has(.adobe-experience-page) footer{background:#ffffff80!important;bottom:0!important;display:block!important;margin-top:100px!important;opacity:1!important;position:relative!important;visibility:visible!important;width:100%!important;z-index:100!important}@media (max-width:768px){header .hamburger-menu{display:flex!important;margin-right:5px;opacity:1!important;visibility:visible!important}header .main-nav{display:none!important}}@media (min-width:769px){.hamburger-menu{display:none!important}.main-nav{display:block!important}.mobile-nav{display:none!important}}@media (max-width:768px){.hamburger-menu{display:flex!important}.main-nav{display:none!important}.mobile-nav.active{background-color:#fffffffa!important;display:block!important;opacity:1!important;visibility:visible!important;z-index:9999!important}.mobile-nav.active .mobile-nav-list{align-items:center!important;display:flex!important;height:100vh!important;justify-content:center!important;padding-top:60px!important;width:100%!important}.mobile-nav.active .mobile-nav-list li{margin:15px 0!important;opacity:1!important;text-align:center!important;transform:translateY(0)!important;width:100%!important}.mobile-nav.active .mobile-nav-list li a{color:#2c3e50!important;color:var(--text-header)!important;display:inline-block!important;font-size:24px!important;font-weight:500!important;padding:15px 30px!important}}.logo-container{align-items:center;display:flex;height:28px;justify-content:center;margin-right:8px;position:relative;top:-1px;width:28px}.work-experience-title img{filter:drop-shadow(0 0 3px rgba(0,0,0,.1));height:26px;mix-blend-mode:multiply;object-fit:contain;transition:transform .3s ease;vertical-align:middle;width:26px}.work-experience-title:hover img{transform:scale(1.15)}.work-experience-title>div{align-items:center;display:flex}.work-experience-title>div:after{background:linear-gradient(135deg,#ebdef0,#d4e6f1);background:linear-gradient(135deg,var(--pastel-purple) 0,var(--pastel-blue) 100%);border-radius:2px;bottom:-5px;content:"";display:block;height:2px;left:0;margin:0;position:absolute;width:50px}.ambigram-page .case-title{margin-bottom:20px}.ambigram-page .model-parameters-section{background-color:#f7f7f7;border-radius:10px;margin:30px 0;padding:25px}.ambigram-page .parameter-controls{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.ambigram-page .parameter-group{margin-bottom:15px}.ambigram-page .parameter-group label{display:block;font-weight:500;margin-bottom:8px}.ambigram-page .parameter-group input[type=text],.ambigram-page .parameter-group select{border:1px solid #ddd;border-radius:5px;font-size:16px;padding:10px;width:100%}.ambigram-page .parameter-group input[type=range]{margin-top:5px;width:100%}.ambigram-page .render-button{border:none;border-radius:5px;cursor:pointer;font-size:16px;font-weight:500;grid-column:1/-1;margin-top:15px;padding:12px 20px;transition:background-color .3s}.ambigram-page .model-viewer-container{margin:40px 0}.ambigram-page .model-viewer{align-items:center;background-color:#eee;border-radius:10px;display:flex;height:500px;justify-content:center;margin-top:15px;overflow:hidden;position:relative;text-align:center}.ambigram-page .model-description{margin-top:30px}.ambigram-page .viewer-instructions{color:#666;font-size:14px;margin-top:10px;text-align:center}.ambigram-page .model-loading{align-items:center;display:flex;flex-direction:column;justify-content:center}.ambigram-page .spinner{animation:spin 1s linear infinite;border:4px solid #0000001a;border-left-color:#3d64ff;border-radius:50%;height:36px;margin-bottom:10px;width:36px}@media (max-width:768px){.ambigram-page .parameter-controls{grid-template-columns:1fr}.ambigram-page .model-viewer{height:350px}}.ambigram-page .case-img-placeholder{align-items:center;background-color:#f0f0f0;display:flex;height:400px;justify-content:center;margin-bottom:50px;text-align:center;width:100%}.ambigram-page .image-placeholder-text{color:#666;font-size:24px;margin:0}.ambigram-page .tech-logo-placeholder{align-items:center;background-color:#eee;border-radius:8px;color:#666;display:flex;font-size:12px;height:60px;justify-content:center;margin:0 auto;width:60px}.ambigram-page .view-controls{margin:20px 0}.ambigram-page .view-buttons{display:flex;gap:15px;margin-top:10px}.ambigram-page .view-buttons button{background-color:#f0f0f0;border:1px solid #ddd;border-radius:5px;cursor:pointer;flex:1 1;padding:10px 15px;transition:all .3s}.ambigram-page .view-buttons button:hover{background-color:#e0e0e0}.ambigram-page .view-buttons button.active{background-color:#3d64ff;border-color:#3d64ff;color:#fff}.ambigram-page .action-buttons{display:flex;gap:20px;grid-column:1/-1;margin-top:15px}.ambigram-page .download-button,.ambigram-page .render-button{border:none;border-radius:5px;cursor:pointer;font-size:16px;font-weight:500;padding:12px 20px;transition:all .3s}.ambigram-page .render-button{background-color:#3d64ff;color:#fff;flex:2 1}.ambigram-page .render-button:hover{background-color:#2a4cc7}.ambigram-page .render-button:disabled{background-color:#9eabde;cursor:not-allowed}.ambigram-page .download-button{align-items:center;background-color:#4caf50;color:#fff;display:flex;flex:1 1;justify-content:center}.ambigram-page .download-button:hover{background-color:#3d8b40}.ambigram-page .render-info{background-color:#e8f5e9;border-left:4px solid #4caf50;border-radius:5px;margin-top:20px;padding:10px 15px}.ambigram-page .render-info p{color:#2e7d32;font-size:15px;margin:0}.ambigram-page .model-placeholder{background-color:#fff9;border-radius:8px;padding:20px;text-align:center}.ambigram-page .model-placeholder p{color:#555;margin:0}.ambigram-page .openscad-workflow{background-color:#f8f9fa;border-radius:10px;margin:30px 0;padding:20px}.ambigram-page .openscad-workflow ol{margin-top:15px;padding-left:20px}.ambigram-page .openscad-workflow li{color:#666;margin-bottom:10px}@media (max-width:768px){.ambigram-page .action-buttons{flex-direction:column}.ambigram-page .download-button{width:100%}}.ambigram-page .openscad-processing{align-items:center;background-color:#fffc;border-radius:8px;display:flex;flex-direction:column;justify-content:center;padding:20px;width:300px}.ambigram-page .progress-container{background-color:#e0e0e0;border-radius:5px;height:10px;margin:15px 0 10px;overflow:hidden;width:100%}.ambigram-page .progress-bar{background-color:#3d64ff;height:100%;transition:width .3s ease-in-out}.ambigram-page .process-step{color:#666;font-size:14px;margin:0;text-align:center}.ambigram-page .model-error{background-color:#ffebebcc;border-left:4px solid #f44336;border-radius:8px;padding:20px;text-align:center}.ambigram-page .model-error p{color:#d32f2f;margin:0}.ambigram-page .render-info.error{background-color:#ffebee;border-left:4px solid #f44336}.ambigram-page .error-message{color:#d32f2f!important}.ambigram-page .expiry-notice{color:#fb8c00;font-size:14px;margin-top:5px!important}.ambigram-page .stl-file-info{align-items:center;background-color:#e8f5e9;border-left:4px solid #4caf50;border-radius:5px;display:flex;justify-content:space-between;margin-top:20px;padding:10px 15px}.ambigram-page .stl-file-info .file-name{color:#2e7d32;font-weight:500;margin:0}.ambigram-page .stl-file-info .file-expiry{color:#fb8c00;font-size:13px;margin:5px 0 0}.ambigram-page .server-status{background-color:#f8f9fa;border:1px solid #dee2e6;border-radius:6px;margin:15px 0;padding:10px 15px}.ambigram-page .server-status .checking-status{align-items:center;color:#6c757d;display:flex}.ambigram-page .server-status .checking-status:before{animation:spin 1s linear infinite;border:2px solid #6c757d;border-radius:50%;border-top-color:#0000;content:"";display:inline-block;height:16px;margin-right:8px;width:16px}.ambigram-page .server-status .server-connected{align-items:center;color:#28a745;display:flex}.ambigram-page .server-status .server-connected:before{content:"✓";display:inline-block;font-weight:700;margin-right:8px}.ambigram-page .server-status .server-error{color:#dc3545}.ambigram-page .server-status .server-actions{display:flex;gap:10px;margin-bottom:10px;margin-top:8px}.ambigram-page .server-status .reconnect-button,.ambigram-page .server-status .retry-button{background-color:#6c757d;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;padding:5px 10px}.ambigram-page .server-status .reconnect-button{background-color:#17a2b8}.ambigram-page .server-status .retry-button:hover{background-color:#5a6268}.ambigram-page .server-status .reconnect-button:hover{background-color:#138496}.ambigram-page .server-status .server-help{background-color:#f1f1f1;border-radius:4px;color:#6c757d;font-size:.9em;margin-top:10px;padding:8px}.ambigram-page .server-status .server-help code{background-color:#e9ecef;border-radius:3px;display:inline-block;font-family:monospace;margin-top:5px;padding:3px 6px}.ambigram-page .render-info .expiry-notice{color:#6c757d;font-size:.9em;margin-top:5px}.ambigram-page .render-info .countdown{font-weight:400}.ambigram-page .render-info .countdown-timer{background-color:#dc35451a;border-radius:4px;color:#dc3545;display:inline-block;font-weight:700;margin:0 2px;min-width:40px;padding:2px 6px}.ambigram-page .render-info .countdown-timer.warning{background-color:#fd7e141a;color:#fd7e14}.server-status-container{margin:15px 0}.server-status{align-items:center;border-radius:6px;display:flex;font-size:14px;margin-bottom:15px;padding:10px 15px}.server-status p{margin:0}.server-status.checking{align-items:center;background-color:#f0f3f9;color:#4a5568;display:flex}.server-status.checking .spinner{animation:spin 1s linear infinite;border:2px solid #0000001a;border-radius:50%;border-top-color:#3498db;height:16px;margin-right:10px;width:16px}.server-status.error{background-color:#fdf2f2;border:1px solid #fed7d7;color:#c53030}.server-status.connected{background-color:#f0fff4;border:1px solid #c6f6d5;color:#2f855a}.status-indicator{background-color:#38a169;border-radius:50%;display:inline-block;height:8px;margin-right:8px;width:8px}.server-status .reconnect-button{background-color:#e53e3e;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;margin-left:10px;padding:5px 10px}.server-status .reconnect-button:hover{background-color:#c53030}.server-info{font-size:12px;margin-left:10px;opacity:.8}.server-monitor-page .server-info{background-color:#f5f7fa;border-radius:8px;margin-bottom:20px;padding:15px}.server-monitor-page .status-indicator{border-radius:50%;display:inline-block;height:12px;margin-right:8px;width:12px}.server-monitor-page .status-online{background-color:#2ecc71}.server-monitor-page .status-offline{background-color:#e74c3c}.server-monitor-page .status-unknown{background-color:#f39c12}.server-monitor-page .actions{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}.server-monitor-page .button-success,.server-monitor-page .danger-button,.server-monitor-page .primary-button,.server-monitor-page .success-button{background-color:#3498db;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;padding:8px 15px;transition:background-color .2s}.server-monitor-page .primary-button:hover{background-color:#2980b9}.server-monitor-page .primary-button:disabled{background-color:#95a5a6;cursor:not-allowed}.server-monitor-page .button-success,.server-monitor-page .success-button{background-color:#2ecc71}.server-monitor-page .button-success:hover,.server-monitor-page .success-button:hover{background-color:#27ae60}.server-monitor-page .danger-button{background-color:#e74c3c}.server-monitor-page .danger-button:hover{background-color:#c0392b}.server-monitor-page .error-message{background-color:#fadbd8;border-radius:4px;color:#e74c3c;margin:15px 0;padding:15px}.server-monitor-page .error-recovery{border-top:1px solid #e74c3c4d;margin-top:15px;padding-top:15px}.server-monitor-page .error-recovery p{font-weight:500;margin-bottom:10px}.server-monitor-page .port-tools{background-color:#f8f9fa;border-left:4px solid #3498db;border-radius:8px;margin-top:30px;padding:15px 20px}.server-monitor-page .port-status{background-color:#ecf0f1;border-radius:4px;margin-top:15px;padding:15px}.server-monitor-page .port-status h3{font-size:1.1em;margin-top:0}.server-monitor-page .port-status ul{margin-top:10px;padding-left:20px}.server-monitor-page .port-status button{margin-top:10px}.server-monitor-page .files-container,.server-monitor-page .logs-container{margin-top:30px}.server-monitor-page .file-list{background-color:#f8f9fa;border-radius:8px;list-style-type:none;overflow:hidden;padding:0}.server-monitor-page .file-list li{border-bottom:1px solid #ecf0f1;padding:12px 15px}.server-monitor-page .file-list li:last-child{border-bottom:none}.server-monitor-page .time{color:#7f8c8d;font-size:.9em;margin-top:3px}.server-monitor-page .server-logs{background-color:#2c3e50;border-radius:4px;color:#ecf0f1;font-family:monospace;font-size:13px;max-height:300px;overflow-x:auto;overflow-y:auto;padding:15px;white-space:pre-wrap}.server-monitor-page .server-info-details{background-color:#f5f7fa;border-radius:8px;margin-top:30px;padding:15px}.server-monitor-page .loading{animation:spin 1s ease-in-out infinite;border:3px solid #ffffff4d;border-radius:50%;border-top-color:#3498db;display:inline-block;height:20px;margin-right:8px;vertical-align:middle;width:20px}@keyframes spin{to{transform:rotate(1turn)}}@media (max-width:768px){.server-monitor-page .actions{flex-direction:column}.server-monitor-page .port-tools{padding:15px}.server-monitor-page .server-logs{font-size:11px}}.ambigram-page .server-status-container{margin-bottom:20px}.ambigram-page .server-monitor-link{margin-top:10px}.ambigram-page .server-monitor-link a{background-color:#34495e;border-radius:4px;color:#fff;display:inline-block;font-size:12px;padding:5px 10px;text-decoration:none;transition:background-color .2s}.ambigram-page .server-monitor-link a:hover{background-color:#2c3e50;text-decoration:none}.server-monitor-page .port-selection{background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:4px;margin:15px 0;padding:15px}.server-monitor-page .port-buttons{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}.server-monitor-page .port-button{background-color:#f8f9fa;border:1px solid #ced4da;border-radius:4px;cursor:pointer;font-size:.9em;padding:8px 12px;transition:all .2s ease}.server-monitor-page .port-button.active{background-color:#e9ecef;border-color:#adb5bd;font-weight:700}.server-monitor-page .port-button:hover{background-color:#e9ecef}.server-monitor-page .recovery-buttons{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}.server-monitor-page .diagnostic-results{background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:4px;margin:20px 0;padding:15px}.server-monitor-page .diagnostic-results.error{background-color:#f8d7da;border-color:#f5c6cb}.server-monitor-page .diagnostic-details,.server-monitor-page .openscad-info,.server-monitor-page .port-info,.server-monitor-page .python-info{background-color:#ffffff80;border-radius:4px;margin-top:15px;padding:10px}.server-monitor-page .diagnostic-details ul,.server-monitor-page .port-info ul,.server-monitor-page .python-info ul{margin:0;padding-left:20px}.server-monitor-page .diagnostic-details li,.server-monitor-page .port-info li,.server-monitor-page .python-info li{margin-bottom:5px}.server-monitor-page .diagnostic-details li.success,.server-monitor-page .port-info li.success,.server-monitor-page .python-info li.success{color:#28a745}.server-monitor-page .diagnostic-details li.error,.server-monitor-page .port-info li.error,.server-monitor-page .python-info li.error{color:#dc3545}.server-monitor-page .diagnostic-details li.warning,.server-monitor-page .port-info li.warning,.server-monitor-page .python-info li.warning{color:#ffc107}.server-monitor-page .diagnostic-details li.info,.server-monitor-page .port-info li.info,.server-monitor-page .python-info li.info{color:#17a2b8}.server-monitor-page .server-connecting{color:#6c757d;font-style:italic;margin-top:5px}.server-monitor-page code{background-color:#f1f1f1;border-radius:3px;font-family:monospace;font-size:.9em;padding:2px 4px}.project-fourth{animation-delay:.6s}.ambigram-container{align-items:center;background:linear-gradient(135deg,#f6d36533,#fda08533);border-radius:12px 12px 0 0;border-radius:var(--border-radius) var(--border-radius) 0 0;display:flex;height:300px;justify-content:center;overflow:hidden;position:relative;width:100%}.ambigram-container:before{background:linear-gradient(125deg,#ffffff4d,#ffffff1a 40%,#fff0);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:0}.ambigram-container:hover{box-shadow:none;transform:none}.project-fifth{margin-left:40px}.croc-charm-container{align-items:center;background-color:#f9ebea;background-color:var(--pastel-pink);box-shadow:0 5px 15px #0000000d;box-shadow:var(--shadow);display:flex;justify-content:center;overflow:hidden;position:relative}.croc-charm-container,.croc-charm-container:before{transition:all .5s ease;transition:var(--transition-slow)}.croc-charm-container:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='100' height='100' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11 18a7 7 0 1 0 0-14 7 7 0 0 0 0 14zm48 25a7 7 0 1 0 0-14 7 7 0 0 0 0 14zm-43-7a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm63 31a3 3 0 1 0 0-6 3 3 0 0 0 0 6zM34 90a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm56-76a3 3 0 1 0 0-6 3 3 0 0 0 0 6zM12 86c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm28-65c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm23-11c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm-6 60c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm29 22c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zM32 63c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm57-13c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm-9-21a2 2 0 1 0 .001-3.999A2 2 0 0 0 80 29zM60 91a2 2 0 1 0 .001-3.999A2 2 0 0 0 60 91zM35 41a2 2 0 1 0 .001-3.999A2 2 0 0 0 35 41zM12 60a2 2 0 1 0 .001-3.999A2 2 0 0 0 12 60z' fill='rgba(255, 217, 211, 0.3)' fill-rule='evenodd'/%3E%3C/svg%3E"),radial-gradient(ellipse at center,#ffd9d380 0,#ffc0cb4d 100%);bottom:-10px;content:"";filter:blur(5px);left:-10px;opacity:.7;position:absolute;right:-10px;top:-10px;z-index:0}.croc-charm-container:hover{box-shadow:0 8px 20px #0000001a;box-shadow:var(--shadow-hover);transform:translateY(-5px)}