*{margin:0;padding:0;box-sizing:border-box;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif}html,body,#root{width:100%;height:100%}body{background-color:#000}main{width:100%;height:100%;background-image:url(/shep.webp);background-position:bottom;background-repeat:no-repeat;background-size:cover;position:relative;overflow:hidden}.desktop-folder{position:absolute;top:5rem;left:2rem;border:0;background:transparent;color:#fff;display:flex;flex-direction:column;align-items:center;gap:.4rem;cursor:pointer;text-shadow:0 1px 5px rgba(0,0,0,.9)}.desktop-folder .folder-icon{width:3rem;height:2.25rem;border-radius:.4rem;background:linear-gradient(to bottom,#ffd767,#f2b93b);position:relative;box-shadow:0 8px 22px #00000040}.desktop-folder .folder-icon:before{content:"";position:absolute;top:-.45rem;left:.2rem;width:1.5rem;height:.55rem;border-radius:.3rem .3rem 0 0;background:#ffdf84}.desktop-folder .folder-label{font-size:.95rem;font-weight:500}.dock{display:flex;gap:.75rem;position:absolute;bottom:1rem;left:50%;transform:translate(-50%);background-color:#c0c0c00f;border:1px solid rgba(255,255,255,.1294117647);padding-inline:1rem;padding-block:.45rem;border-radius:.75rem;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.dock .icon{padding:.65rem;border-radius:.5rem;display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;aspect-ratio:1/1;transition:all .3s cubic-bezier(.19,1,.22,1)}.dock .github,.dock .cli{background-color:#000}.dock .note{background:linear-gradient(to top,#ffad48,#ff991c)}.dock .pdf{background:linear-gradient(to top,#ff3d4a,#db1320)}.dock .mail{background:linear-gradient(to top,#4ca5fe,#3123ec)}.dock .spotify{background:linear-gradient(to top,#61d32d,#358e0c)}.dock .calender{background:linear-gradient(to top,#fff,#fff7f7)}.dock .link{background:linear-gradient(to top,#a844ff,#7600de)}.dock .icon:hover{transform:scale(1.3) translateY(-20%)}.dock .icon:hover+.icon,.dock .icon:has(+.icon:hover){transform:scale(1.1) translateY(-10%)}.dock .icon.is-minimized{outline:2px solid rgba(255,255,255,.85);box-shadow:0 0 14px #ffffff73;position:relative}.dock .icon.is-minimized:after{content:"";position:absolute;bottom:-8px;left:50%;transform:translate(-50%);width:6px;height:6px;border-radius:50%;background:#ffffffe6}nav{width:100%;color:#fff;padding-inline:.75rem;padding-block:.5rem;background-color:#070707c0;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border-bottom:1px solid rgba(255,255,255,.1294117647);display:flex;justify-content:space-between;font-size:14px}nav .left{display:flex;align-items:center;justify-content:center;gap:1rem}nav .left .nav-icon{line-height:0}nav .right{display:flex;align-items:center;justify-content:center;gap:1rem;padding-inline:.55rem;border-radius:.6rem;transition:background-color .18s ease}nav .right:hover{background-color:#ffffff14}nav .right .nav-icon{line-height:0}.quick-panel{position:absolute;right:1.3rem;bottom:1.25rem;width:min(22rem,100vw - 1.5rem);display:grid;gap:.8rem;padding:.85rem;border-radius:1.3rem;color:#f4f8ff;background:linear-gradient(155deg,#27325194,#161b2ebd);border:1px solid rgba(255,255,255,.16);box-shadow:0 25px 45px #0000006b,inset 0 1px #fff3;-webkit-backdrop-filter:blur(28px) saturate(165%);backdrop-filter:blur(28px) saturate(165%);opacity:0;transform:translateY(14px) scale(.98);transform-origin:bottom right;pointer-events:none;transition:opacity .22s ease,transform .26s cubic-bezier(.22,.61,.36,1);z-index:120}.quick-panel.show{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}.weather-card,.calendar-card{border-radius:1rem;padding:.8rem .9rem;background:#ffffff1a;border:1px solid rgba(255,255,255,.12)}.weather-card{position:relative;overflow:hidden;isolation:isolate;transition:background .35s ease,box-shadow .35s ease,border-color .35s ease}.weather-card:before{content:"";position:absolute;inset:-35%;z-index:-1;opacity:.75;filter:blur(20px);transform:translateZ(0);animation:weatherDrift 9s ease-in-out infinite alternate}.weather-sunny{background:linear-gradient(145deg,#ffba5a59,#ff804c52);border-color:#ffcf8173;box-shadow:inset 0 1px #ffeec759}.weather-sunny:before{background:radial-gradient(circle at 20% 20%,#ffeb85f2,#ff914c14)}.weather-clear-night{background:linear-gradient(145deg,#21365e80,#0f17319e);border-color:#81adff59;box-shadow:inset 0 1px #b9d7ff33}.weather-clear-night:before{background:radial-gradient(circle at 78% 22%,#a4d0ffb8,#5a7aff14)}.weather-cloudy{background:linear-gradient(145deg,#768aa759,#4f607c70);border-color:#b2cbe94d}.weather-cloudy:before{background:radial-gradient(circle at 30% 16%,#e2edff8c,#9db5de14)}.weather-rain{background:linear-gradient(150deg,#4171af73,#18346294);border-color:#7bb4ff59}.weather-rain:before{background:radial-gradient(circle at 70% 12%,#7ebeffad,#3261cc0f)}.weather-snow{background:linear-gradient(145deg,#cee3ff6e,#93b3e259);border-color:#ecf8ff8c}.weather-snow:before{background:radial-gradient(circle at 24% 18%,#ffffffe6,#9ecdff12)}.weather-storm{background:linear-gradient(145deg,#4e4d797a,#1e1d38a6);border-color:#a89cf061}.weather-storm:before{background:radial-gradient(circle at 62% 20%,#c7a6ff94,#523f9d14)}@keyframes weatherDrift{0%{transform:translateZ(0) scale(1)}to{transform:translate3d(10%,-6%,0) scale(1.08)}}.weather-title-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.weather-title{font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:#f1f8ffbf}.weather-location{font-size:.75rem;font-weight:500;color:#e2ecffbd}.weather-main{display:flex;align-items:baseline;gap:.65rem}.weather-temp{font-size:2.3rem;font-weight:600;line-height:1}.weather-label{font-size:.9rem;color:#f0f6ffe6}.weather-range{margin-top:.45rem;font-size:.8rem;color:#dce8ffd9}.calendar-top{margin-bottom:.65rem}.calendar-month{font-size:1rem;font-weight:600;letter-spacing:.01em}.calendar-weekday-row{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:.4rem}.calendar-weekday-row span{font-size:.74rem;text-align:center;color:#e7f1ffad}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.28rem}.calendar-day{aspect-ratio:1/1;display:grid;place-items:center;border-radius:50%;font-size:.79rem;cursor:default;-webkit-user-select:none;user-select:none}.calendar-day:hover{background-color:#8080802a}.calendar-day.outside{color:#f5f9ff59}.calendar-day.today{background:radial-gradient(circle at 28% 25%,#7ec7ff,#2f74ff 65%);box-shadow:0 10px 24px #357eff66;color:#fff;font-weight:600}@media(max-width:700px){.quick-panel{right:.75rem;bottom:1rem;width:min(20.5rem,100vw - 1rem);border-radius:1.1rem}}.window{background-color:#000;height:100%;border-radius:.75rem;overflow:hidden;color:#fff;cursor:default}.window .topbar{padding-inline:.5rem;padding-block:.5rem;color:#dfdfdf;display:flex;font-weight:500;gap:1.5rem;border-bottom:1px solid rgba(245,245,245,.407)}.window .topbar .title{line-height:.5}.window .topbar .dots{display:flex;gap:.25rem}.window .topbar .dots .dot{display:flex;align-items:center;justify-content:center;font-size:10px;line-height:1;font-weight:400;margin:0;padding:0;width:12px;height:12px;background-color:#fff;border-radius:50%;cursor:pointer}.window .topbar .dots .dot:hover span{opacity:1}.window .topbar .dots span{opacity:0;display:flex;justify-content:center;align-items:center}.window .topbar .dots .red{background-color:#d70c0c}.window .topbar .dots .yellow{background-color:#f7ff51}.window .topbar .dots .green{background-color:#0bc21e}.window .main-content{height:100%;cursor:default;overflow-y:scroll}.window .main-content::-webkit-scrollbar{width:5px}.window .main-content::-webkit-scrollbar-track{background-color:#363636b4;border-radius:10px}.window .main-content::-webkit-scrollbar-thumb{background-color:#ff7b00;border-radius:10px}.error{color:#dc143c}.cards{display:flex;flex-wrap:wrap;justify-content:center;align-items:stretch;gap:1rem;width:100%;padding-bottom:2rem;padding-top:1rem}.cards .card{flex-grow:1;flex-basis:20rem;max-width:15rem;border-radius:4px;overflow:hidden;background-color:#2c2c2c}.cards .card img{width:100%;object-fit:cover}.cards .card .project-details{padding-inline:10px;padding-block:10px}.cards .card .project-details h3{font-size:1.25rem;font-weight:600;margin:0;line-height:1}.cards .card .project-details p{font-size:1rem;font-weight:500;color:#b8b8b8;line-height:1.25rem;margin-top:.75rem;-webkit-line-clamp:2!important;-webkit-box-orient:vertical;-webkit-line-clamp:3!important;display:-webkit-box;overflow:hidden}.cards .card .project-details .links{display:flex;justify-content:space-between;margin-block-start:1rem}.cards .card .project-details .links a{text-decoration:none;color:#000;background-color:#fff;padding:4px 12px;border-radius:4px}.cards .card .project-details .links a:nth-child(1){border:1px solid #fff;color:#fff;background-color:transparent}.resume-window{height:100%}.resume-window iframe{height:100%;width:100%}.note-window{padding:1rem 1rem 2rem;font-size:1rem;color:#a2a2a2}.note-window pre{background:transparent!important}.spotify-window{width:100%;height:100%;padding:.75rem .75rem 2.6rem}.spotify-window iframe{width:100%;height:100%;border:none}.cli-window{height:100%;overflow:auto;padding-bottom:3rem;background-color:#1f1f1f}.cli-window::-webkit-scrollbar{display:none}.cli-window div[name=react-console-emulator]{height:100%!important;background-color:transparent!important;background:transparent!important}.cli-window div[name=react-console-emulator]::-webkit-scrollbar{width:5px}.cli-window div[name=react-console-emulator]::-webkit-scrollbar-track{background-color:#363636b4;border-radius:10px}.cli-window div[name=react-console-emulator]::-webkit-scrollbar-thumb{background-color:#ff7b00;border-radius:10px}.my-folder-window{padding:1rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.file-item{background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:.65rem;color:#fff;padding:.7rem;display:flex;align-items:center;gap:.55rem;cursor:pointer;transition:all .2s ease}.file-item img{width:1.1rem;height:1.1rem}.file-item:hover{background:#ffffff2e;transform:translateY(-1px)}.mail-window{display:grid;grid-template-columns:13rem 1fr;background:#dfe9f8;color:#1f2b3d;height:100%}.mail-window .mail-sidebar{padding-bottom:3rem!important;border-right:1px solid rgba(124,141,168,.28);padding:1rem .85rem;background:#dfe9f8;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.mail-window .mail-sidebar h3{font-size:.85rem;letter-spacing:.02em;margin-bottom:.75rem;color:#425674;text-transform:uppercase}.mail-window .mail-sidebar ul{list-style:none;display:grid;gap:.35rem}.mail-window .mail-sidebar li{border-radius:.5rem;padding:.5rem .65rem;font-size:.9rem;color:#495a76;cursor:pointer;transition:background-color .2s ease,color .2s ease,transform .16s ease}.mail-window .mail-sidebar li:hover{background:#ffffff8f;color:#273750}.mail-window .mail-sidebar .is-active{background:linear-gradient(180deg,#4f8cff,#2d6ef3);color:#fff;font-weight:500;box-shadow:0 8px 16px #367cff4d;transform:translateY(-1px)}.mail-window .mail-sidebar .is-active:hover{background:linear-gradient(90deg,#4f8cff,#2d6ef3);color:#fff}.mail-window .mail-compose{padding-bottom:3rem!important;padding:1rem;display:grid;gap:.75rem;align-content:start;background:#dfe9f8;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.mail-window .mail-compose .mail-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.2rem}.mail-window .mail-compose .mail-header p{font-size:1rem;font-weight:600;color:#263552}.mail-window .mail-compose .mail-header .send-button{border:0;border-radius:999px;padding:.45rem 1rem;font-size:.85rem;font-weight:600;cursor:pointer;background:linear-gradient(180deg,#59a4ff,#337dfa);color:#fff;transition:transform .16s ease,box-shadow .2s ease}.mail-window .mail-compose .mail-header .send-button:hover{transform:translateY(-1px);box-shadow:0 10px 18px #337dfa59}.mail-window .mail-compose .mail-header .ghost-button{border:1px solid rgba(51,74,111,.18);border-radius:999px;background:#ffffff9e;color:#31466d;cursor:pointer;font-size:.78rem;font-weight:600;padding:.36rem .72rem;transition:background-color .2s ease,transform .16s ease}.mail-window .mail-compose .mail-header .ghost-button:hover{background:#ffffffeb;transform:translateY(-1px)}.mail-window .mail-compose label{display:grid;gap:.45rem}.mail-window .mail-compose span{font-size:.78rem;text-transform:uppercase;color:#607291;letter-spacing:.04em}.mail-window .mail-compose input,.mail-window .mail-compose textarea{border-radius:.65rem;border:1px solid rgba(90,114,149,.22);background-color:#ffffffd1;color:#2b3955;padding:.68rem .8rem;outline:none;transition:border-color .2s ease,box-shadow .2s ease;font:inherit;font-size:.9rem;width:100%}.mail-window .mail-compose input:focus,.mail-window .mail-compose textarea:focus{border-color:#4e8dff;box-shadow:0 0 0 3px #4e8dff33}.mail-window .mail-compose .message{height:100%}.mail-window .mail-compose textarea{min-height:11rem;resize:vertical;height:100%}.mail-window .mail-compose .mail-item{border:1px solid rgba(90,114,149,.2);border-radius:.7rem;padding:.7rem .8rem;background:#ffffffbd;display:grid;gap:.25rem;box-shadow:0 6px 16px #34476414}.mail-window .mail-compose .mail-item strong{color:#24344f}.mail-window .mail-compose .mail-item p,.mail-window .mail-compose .mail-item small{color:#4f6180}.mail-window .mail-compose .mail-item-top{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.mail-window .mail-compose .delete-button{border:1px solid rgba(197,45,45,.28);background:#ffffffdb;color:#bb2f2f;border-radius:999px;font-size:.72rem;font-weight:700;padding:.25rem .62rem;cursor:pointer;transition:background-color .2s ease,transform .16s ease}.mail-window .mail-compose .delete-button:hover{background:#ffe9e9f2;transform:translateY(-1px)}.mail-window .mail-compose .mail-item.is-clickable{cursor:pointer;transition:transform .16s ease,border-color .2s ease,box-shadow .2s ease}.mail-window .mail-compose .mail-item.is-clickable:hover{transform:translateY(-1px);border-color:#4e8dff80;box-shadow:0 10px 18px #4c6b9b29}@media(max-width:900px){.mail-window{grid-template-columns:1fr}.mail-window .mail-sidebar{border-right:0;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:.6rem}.mail-window .mail-sidebar ul{grid-template-columns:repeat(3,minmax(0,1fr))}.mail-window .mail-sidebar li{text-align:center}}
