:root{font-family:Basenji;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@font-face{font-family:Basenji;src:url(/assets/Basenji-SemiBold-DYmvDsEr.otf) format("opentype")}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#2fcc78}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}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}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#74ffae}button{background-color:#f9f9f9}}html,body{height:100%;margin:0;padding:0;overflow-x:hidden;overflow-y:scroll;justify-content:center;scrollbar-width:none}html{scrollbar-gutter:stable}#root{height:100%;font-family:Noto,sans-serif}:root{--dock-width: 120px}@font-face{font-family:Excelorate;src:url(/assets/Excelorate-Font-D2WI1hx6.otf) format("opentype")}@font-face{font-family:Noto;src:url(/assets/NotoSans-VariableFont_wdth_wght-CYoOFcCZ.ttf) format("opentype");font-weight:100}body{color:#fff;font-family:Noto,sans-serif}body:before{content:"";position:fixed;inset:0;background-image:url(/assets/windows_xp_46-D--XQQCr.jpg);background-size:cover;background-position:center;background-repeat:no-repeat;z-index:-1}.overlay{position:fixed;inset:0;background-color:#2d595c80;z-index:0;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.app-layout{min-height:100vh;display:flex}.center-shell{display:flex;align-items:center;justify-content:center;width:100%;min-height:100vh;padding:40px;box-sizing:border-box;gap:60px}.viewport-fade{position:fixed;inset:0;pointer-events:none;z-index:9999;background:linear-gradient(to bottom,rgba(0,0,0,.85) -10%,transparent 6%,transparent 94%,rgba(0,0,0,.555) 102%)}.dock{padding:15px;position:sticky;top:15vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;border-radius:25px;background:#3549471a;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid rgba(148,246,255,.3);z-index:50}.dock-item{width:80px;height:80px;display:flex;align-items:center;justify-content:center;border-radius:12px;background:#5eada580;border:1px solid rgba(148,246,255,.3);position:relative;flex-shrink:0;overflow:visible;box-shadow:0 2px 10px 1px #1febe0}.dock-icon{width:40px;height:40px;font-size:24px;flex-shrink:0}.dock-label{position:absolute;left:100%;top:50%;transform:translate(12px,-50%);white-space:nowrap;padding:6px 10px;border-radius:8px;background:#0009;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-size:12px;color:#fff;opacity:0;visibility:hidden;pointer-events:none;z-index:9999}.dock-item:hover{box-shadow:0 2px 10px 1px #fff}.dock-item:hover .dock-label{opacity:1;visibility:visible}.page{display:flex;width:100%;min-height:100vh}.layout{display:flex;width:100%;min-height:100vh;justify-content:center}.gallery{flex:none;width:min(800px,80vw);display:flex;flex-direction:column;gap:16px;padding:40px 20px;overflow-y:auto;height:100%;box-sizing:border-box;scrollbar-width:none}.gallery::-webkit-scrollbar{display:none}.project-card{position:relative;width:100%;border-radius:25px;overflow:hidden;cursor:pointer;background:#0dbdab80;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(148,246,255,.3);transition:transform .25s ease;box-sizing:border-box;padding:25px;box-shadow:0 0 12px 1px #1febe0}.project-card:hover{transform:scale(1.01);box-shadow:0 0 12px 1px #fff}.project-card img{width:100%;margin-bottom:15px;justify-self:center;border:5px solid rgb(154,183,187);display:block;border-radius:12px}.project-card:hover img{transform:scale(1.01)}.project-card h1,.project-card h2,.project-card h3,.project-card p{margin:0;padding:0;word-break:break-word}.project-card-overlay{position:absolute;bottom:0;left:0;right:0;padding:12px;color:#fff}.dialog-backdrop{position:fixed;inset:0;background:#00000080}.dialog-container{position:fixed;inset:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:40px;box-sizing:border-box}.dialog-panel{display:grid;grid-template-columns:auto auto;color:#fff;gap:30px;width:fit-content;max-width:90vw}.dialog-text{background:#0dbdab80;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(148,246,255,.3);box-sizing:border-box;padding:25px;box-shadow:0 0 12px 1px #1febe0;border-radius:25px;display:grid;grid-template-rows:auto 1fr auto;color:#fff;font-size:larger;width:400px;height:70;overflow-y:auto;align-items:flex-start;max-height:70vh}.dialog-imgcont{background:#0dbdab80;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(148,246,255,.3);box-sizing:border-box;padding:20px;box-shadow:0 0 12px 1px #1febe0;border-radius:25px;display:flex;flex-direction:column;align-items:center;justify-content:center;width:fit-content;max-height:70vh}.dialog-img{border-radius:18px;display:flex;align-items:center;justify-content:center;min-height:0;flex:1;overflow:hidden}.dialog-img img{border:5px solid rgb(154,183,187);max-height:100%;width:auto;height:auto;object-fit:contain;border-radius:12px;display:block}.dialog-title{font-size:24px;margin-bottom:10px}.button-b{align-self:end;margin-top:15px;padding:8px 12px;border:none;border-radius:6px;cursor:pointer}.contact-card{cursor:default;pointer-events:none;align-self:center;align-items:center;justify-self:center;justify-content:center;min-height:5vh;width:100%}.con-card.content-card .contact-content{width:100%;max-width:600px;text-align:left;pointer-events:auto}.con-card{font-size:16px;line-height:21px;position:relative;width:100%;border-radius:25px;overflow:hidden;background:#0dbdab80;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(148,246,255,.3);box-sizing:border-box;padding:20px;height:90%;box-shadow:0 0 10px 1px #1febe0;margin-top:30px}.con-card p{margin:0;padding:0;word-break:break-word}.con-card h1{font-size:36px;line-height:18px;padding:0}.con-card a{pointer-events:all;color:#89ff98;font-size:24px}.carousel{display:flex;flex-direction:column;align-items:center;gap:10px;width:fit-content}.carousel img{max-height:calc(70vh - 100px);width:auto;object-fit:contain;border:5px solid rgb(154,183,187);border-radius:12px;display:block;height:calc(70vh - 100px)}.carousel-controls{display:flex;align-items:center;justify-content:center;gap:12px;flex-shrink:0}.carousel-btn{background:#5eada580;border:1px solid rgba(148,246,255,.3);color:#fff;border-radius:8px;width:32px;height:32px;font-size:20px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:box-shadow .2s ease}.carousel-btn:hover{box-shadow:0 0 8px 1px #1febe0}.carousel-dots{display:flex;gap:6px;align-items:center}.carousel-dot{width:8px;height:8px;border-radius:50%;border:1px solid rgba(148,246,255,.6);background:#5eada566;cursor:pointer;padding:0;transition:background .2s ease,box-shadow .2s ease}.carousel-dot.active{background:#94f6ffe6;box-shadow:0 0 6px #1febe0}.tags{margin:0;padding:0;position:relative;list-style:none}.tags li{float:left;height:24px;line-height:24px;position:relative;font-size:16px;left:-10px;margin:2px 0 2px 12px;padding:0 10px 0 12px;color:#1d1d1d;text-decoration:none;border-radius:5px;background:#5eada580;border:1px solid rgba(148,246,255,.3);color:#fff}
