@import url(https://fonts.googleapis.com/css2?family=Geist+Mono:wght@400;600&display=swap);body,html{margin:0;min-height:100vh;padding:0;width:100%}body,html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#fff;font-family:Geist Mono,monospace}body{background:#0f0f0f;background-image:linear-gradient(90deg,hsla(0,0%,100%,.015) 1px,#0000 0),linear-gradient(180deg,hsla(0,0%,100%,.015) 1px,#0000 0);background-size:20px 20px}code{font-family:Geist Mono,monospace}.spotify-box{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff03;border:1px solid #ffffff1a;border-radius:12px;cursor:pointer;margin-top:20px;padding:20px;position:relative;transform-style:preserve-3d;transition:all .3s ease}.App{text-align:center}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.container{align-items:flex-start;color:#fff;display:flex;flex-direction:column;font-family:Geist Mono,monospace;justify-content:flex-start;margin:0;max-width:600px;min-height:100vh;padding:2.5rem 0 2rem 6rem}.container.projects-container{min-height:auto}@media (max-width:768px){.container{max-width:100%;padding:2rem 1.5rem 2rem 2rem}.greeting{font-size:16px;margin-bottom:.6rem}.desc{margin-bottom:1rem;max-width:100%}.desc,.desc p{font-size:15px;line-height:1.3}.time-status{font-size:15px;margin-bottom:1rem}.spotify-section{margin-bottom:1rem;max-width:100%}.spotify-card{min-height:60px;padding:.6rem .9rem}.album-art{height:56px;width:56px}.track-info{max-width:calc(100% - 72px)}.contact-section{margin-top:.5rem;padding-top:.4rem}.contact-list,.contact-title{font-size:15px}.bar-bg,.bar-times,.spotify-progress{width:180px}}@media (max-width:480px){.container{padding:1.5rem 1rem 1.5rem 1.5rem}.greeting{font-size:15px}.desc,.desc p,.time-status{font-size:14px}.spotify-card{min-height:55px;padding:.5rem .8rem}.album-art{height:48px;width:48px}.track-info{max-width:calc(100% - 64px)}.bar-bg,.bar-times,.spotify-progress{width:150px}}.greeting{align-items:center;color:#fff;display:flex;font-family:Geist Mono,monospace;font-size:18px;font-weight:600;gap:.3em;margin-bottom:1.3rem;text-align:left}.greeting,.superbold{letter-spacing:-.01em}.superbold{font-weight:1200}.slightbold{font-weight:500}.wave{cursor:pointer;display:inline-block;transition:transform .25s cubic-bezier(.4,2,.6,1),font-size .25s cubic-bezier(.4,2,.6,1)}.wave:hover{transform:rotate(18deg) scale(1.35)}.desc{margin-bottom:1.3rem;max-width:550px;text-align:left}.desc,.desc p{color:#fff;font-size:16px;line-height:1.5}.desc p{margin:0 0 .8em}.link{color:#b197fc;font-weight:600;text-decoration:underline;transition:color .15s}.link:hover{color:#d1c2fa}.time-status{color:#fff;font-size:16px;line-height:1.2;margin-bottom:1.2rem;text-align:left}.discord-online{color:#43b581;font-weight:600;margin-left:2px}.discord-offline{color:#888;font-weight:600;margin-left:2px}.discord-dnd{color:#ff4b4b}.discord-dnd,.discord-idle{font-weight:600;margin-left:4px}.discord-idle{color:#ffe066}.spotify-section{align-items:flex-start;border-top:1px dashed #222;display:flex;flex-direction:column;margin-bottom:.7rem;margin-left:.1rem;margin-top:.7rem;max-width:500px;padding-top:.5rem;width:100%}.spotify-label{color:#888;font-size:15px;letter-spacing:.05em;line-height:1.2;margin-bottom:.3rem;text-align:left}.spotify-card{align-items:center;-webkit-backdrop-filter:none;backdrop-filter:none;background:#0000;border:1px solid #ffffff14;border-radius:12px;display:flex;flex-wrap:nowrap;gap:1rem;max-width:100%;min-height:70px;min-width:220px;padding:.8rem 1.1rem;transition:box-shadow .3s cubic-bezier(.4,2,.6,1),transform .3s cubic-bezier(.4,2,.6,1),background .3s,border .3s;width:100%}.spotify-card:hover{background:#0000;box-shadow:0 8px 32px 0 #0000002e,0 1.5px 8px 0 #b197fc1a;transform:perspective(600px) rotateY(8deg) scale(1.03)}.spotify-card.empty{color:#555;font-style:italic;justify-content:flex-start}.album-art{border-radius:9px;box-shadow:0 1px 6px 0 #00000012;flex-shrink:0;height:72px;object-fit:cover;width:72px}.track-info{display:flex;flex-direction:column;gap:.2rem;justify-content:center;max-width:calc(100% - 88px);min-width:0;word-break:break-word}.track-name.single-line{color:#fff;font-size:1.05rem;font-weight:500;line-height:1.2;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.track-artist.greyed{color:#888;font-size:.92rem;line-height:1.2;margin-top:1px;white-space:normal}.contact-section{border-top:1px dashed #222;margin-top:.2rem;max-width:500px;padding-top:.5rem;width:100%}.contact-title{font-weight:600;margin-bottom:6px}.contact-list,.contact-title{color:#fff;font-size:16px;line-height:1.2}.contact-list{list-style:disc;margin:0;padding-left:20px}.contact-label{color:#fff}.copyright{align-items:center;color:#888;cursor:pointer;display:inline-flex;font-size:1rem;margin-top:2rem;opacity:.35;text-align:left;transition:opacity .2s;-webkit-user-select:none;user-select:none;width:auto}.copyright:hover{color:#fff!important;opacity:1}.copyright:hover .copyright-logo{filter:none;opacity:1}.copyright-inner{align-items:center;display:inline-flex;gap:.05em}.copyright-logo{cursor:pointer;height:6em;opacity:.35;transform:translateY(-.18em);transition:opacity .2s,filter .2s,transform .2s;vertical-align:middle}.robot{cursor:pointer;display:inline-block;transition:transform .4s cubic-bezier(.4,2,.6,1)}.robot:hover{animation:robot-spin .6s linear 1;transform:rotate(1turn)}@keyframes robot-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.sleep-tooltip{background:#18181b;border-radius:6px;box-shadow:0 2px 8px 0 #0000001a;color:#bbb;font-size:11px;left:50%;opacity:.95;padding:3px 8px;pointer-events:none;position:absolute;top:-2.1em;transform:translateX(-50%);white-space:nowrap;z-index:10}.time-tooltip-anchor{display:inline-block;position:relative}.status-tooltip{background:#18181b;border-radius:6px;box-shadow:0 2px 8px 0 #0000001a;color:#bbb;font-size:11px;left:50%;opacity:.95;padding:3px 8px;pointer-events:none;position:absolute;top:-2.1em;transform:translateX(-50%);white-space:nowrap;z-index:10}.projects-header{margin-bottom:1.5rem}.home-btn,.projects-header{align-items:center;display:flex}.home-btn{background:#18181b;border:none;border-radius:6px;box-shadow:0 1px 4px 0 #00000014;color:#fff;cursor:pointer;font-size:1rem;height:28px;justify-content:center;margin-right:.5rem;padding:3px 7px;transition:background .15s,transform .15s;width:28px}.home-btn svg{display:block;height:16px;width:16px}.home-btn:hover{background:#23232a;transform:scale(1.08)}.projects-grid{grid-gap:2.2rem;display:grid;gap:2.2rem;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(6,1fr);margin-top:1.5rem;max-width:1800px;width:100%}.project-tile{align-items:flex-end;background:#19191c;border-radius:14px;box-shadow:0 2px 12px 0 #00000012;cursor:pointer;display:flex;justify-content:flex-start;min-height:220px;min-width:260px;overflow:hidden;position:relative;transition:transform .22s cubic-bezier(.4,2,.6,1),box-shadow .18s}.project-tile.active:hover{box-shadow:0 6px 24px 0 #00000021;transform:scale(1.07) translateY(-4px);z-index:2}.project-tile.blurred{filter:blur(3px) grayscale(.7) brightness(.7);pointer-events:none;-webkit-user-select:none;user-select:none}.tile-label{color:#fff;font-size:1.08rem;font-weight:600;letter-spacing:-.01em;margin:0 0 14px 16px;pointer-events:none;z-index:1}.soon-tooltip{background:#18181b;border-radius:6px;box-shadow:0 2px 8px 0 #0000001a;color:#bbb;font-size:11px;left:50%;opacity:.95;padding:3px 8px;pointer-events:none;position:absolute;top:-2.1em;transform:translateX(-50%);white-space:nowrap;z-index:10}.soon-anchor{display:inline-block;position:relative}.heart-icon{cursor:pointer;margin-left:.3em;transition:transform .18s cubic-bezier(.4,2,.6,1)}.heart-icon:hover{transform:scale(1.25)}.spotify-progress{margin-top:6px;width:210px}.bar-bg{background:#23232a;height:4px;overflow:hidden;position:relative;width:210px}.bar-bg,.bar-fg{border-radius:4px}.bar-fg{background:#b197fc;height:100%;transition:width .3s}.bar-times{color:#bbb;display:flex;font-size:.71em;justify-content:space-between;margin-top:2px;width:210px}body{overflow-x:hidden;transform:scale(1.1);transform-origin:top left;width:83.33vw}@media (min-width:1600px){body{transform:scale(1.3);width:66.67vw}}@media (max-width:900px){body{transform:scale(1);width:100vw}}.copyright-symbol{font-family:Inter,sans-serif;font-size:.8em;margin-right:.35em;margin-top:.05em;vertical-align:middle}.back-link{color:#888;display:block;font-size:.9rem;margin-bottom:1.3rem;text-decoration:none;transition:color .2s}.back-link:hover{color:#b197fc}.projects-list{display:flex;flex-direction:column;gap:0;margin-top:1.3rem}.project-item{align-items:center;border-bottom:1px solid #ffffff0f;cursor:pointer;display:flex;justify-content:space-between;padding:1rem 0;transition:all .2s}.project-item:hover{background:#ffffff05;border-bottom:1px solid #0000;border-radius:8px;margin:0 -1rem;padding:1rem}.project-item:last-child{border-bottom:none}.project-info{display:flex;flex:1 1;flex-direction:column;gap:.2rem;margin-right:2rem;min-width:0}.project-name{color:#fff;font-size:1rem;font-weight:500;line-height:1.2;margin:0}.project-category{color:#888;font-size:.85rem;font-weight:400}.project-meta{align-items:center;display:flex;flex-shrink:0;gap:1rem}.project-year{font-feature-settings:"tnum";color:#666;font-size:.85rem;font-variant-numeric:tabular-nums;min-width:2.5rem}.project-status-dot{border-radius:50%;flex-shrink:0;height:8px;width:8px}.project-popup-overlay{align-items:center;background:#000c;box-sizing:border-box;display:flex;height:100vh;justify-content:center;left:0;overflow:hidden;padding:2rem;position:fixed;top:0;width:100vw;z-index:1000}.project-popup{background:#1a1a1d;border:1px solid #ffffff1a;border-radius:16px;margin:auto;max-height:85vh;max-width:700px;overflow-y:auto;position:relative;width:100%}.popup-header{align-items:center;border-bottom:1px solid #ffffff1a;display:flex;justify-content:space-between;padding:2rem 2rem 1rem}.popup-title{color:#fff;font-size:1.5rem;font-weight:600;line-height:1.2;margin:0}.popup-close{align-items:center;background:none;border:none;border-radius:4px;color:#888;cursor:pointer;display:flex;font-size:1.5rem;height:2rem;justify-content:center;padding:0;transition:all .2s;width:2rem}.popup-close:hover{background:#ffffff1a;color:#fff}.popup-content{padding:2rem}.popup-image{align-items:center;background:#ffffff0d;background-image:linear-gradient(45deg,#ffffff05 25%,#0000 0),linear-gradient(-45deg,#ffffff05 25%,#0000 0),linear-gradient(45deg,#0000 75%,#ffffff05 0),linear-gradient(-45deg,#0000 75%,#ffffff05 0);background-position:0 0,0 10px,10px -10px,-10px 0;background-size:20px 20px;border:1px solid #ffffff1a;border-radius:12px;color:#666;font-size:.9rem;height:200px;justify-content:center;width:100%}.popup-image,.popup-meta{display:flex;margin-bottom:1.5rem}.popup-meta{flex-wrap:wrap;gap:1rem}.popup-category,.popup-status,.popup-year{background:#ffffff0d;border-radius:8px;font-size:.9rem;padding:.3rem .8rem}.popup-category{color:#b197fc}.popup-year{color:#888}.popup-description{color:#ddd;font-size:1rem;line-height:1.5;margin-bottom:1rem}.popup-details{color:#bbb;font-size:.95rem;line-height:1.5;margin-bottom:1.5rem}.popup-tech h4{color:#fff;font-size:.9rem;font-weight:500;margin:0 0 .8rem}.popup-tech-tags{display:flex;flex-wrap:wrap;gap:.5rem}.popup-tech-tag{background:#b197fc1a;border:1px solid #b197fc33;border-radius:8px;color:#b197fc;font-size:.8rem;font-weight:500;padding:.3rem .8rem}@media (max-width:768px){.project-item{padding:.8rem 0}.project-item:hover{background:none;border-bottom:1px solid #ffffff0f;border-radius:0;margin:0;padding:.8rem 0}.project-info{margin-right:1rem}.project-name{font-size:.95rem}.project-category,.project-year{font-size:.8rem}.project-popup-overlay{padding:1rem}.popup-content,.popup-header{padding:1.5rem}.popup-title{font-size:1.3rem}}
/*# sourceMappingURL=main.3874747a.css.map*/