body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App{background:radial-gradient(circle at top,#597ebd33,#0000 34%),radial-gradient(circle at 20% 30%,#ffe89d14,#0000 24%),linear-gradient(180deg,#02050d,#000 72%);color:#f4f0d5;inset:0;position:fixed}.App,body{overflow:hidden}body{background:#000;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;height:100vh;width:100vw}body,p{margin:0}.ambient-glow{background:radial-gradient(circle at 50% 18%,#ffe79d14,#0000 20%);pointer-events:none}#starfield,#starfieldint,.ambient-glow{inset:0;position:absolute}#starfield{pointer-events:none}#starfieldint{pointer-events:auto}.Star{animation-iteration-count:infinite;animation-name:jiggle;animation-timing-function:ease-in-out;border-radius:999px;box-shadow:0 0 3px .5px rgba(255,220,122,.075);position:absolute;will-change:transform,opacity}.interactive-star{aspect-ratio:1;background:#0000;border:0;border-radius:50%;cursor:grab;display:grid;height:108px;outline:none;overflow:hidden;padding:0;place-items:center;pointer-events:auto;position:absolute;touch-action:none;transform:translateZ(0);transition:transform .22s ease,filter .22s ease,opacity .22s ease;width:108px;will-change:transform}.interactive-star__image{-webkit-user-drag:none;border-radius:inherit;box-shadow:inset 0 0 20px #0000004d,0 0 24px #ffe98a47;height:100%;object-fit:cover;object-position:center;opacity:.9;transform:scale(1);transition:transform .22s ease,opacity .22s ease,box-shadow .22s ease,filter .22s ease;-webkit-user-select:none;user-select:none;width:100%}.interactive-star:after{background:#ffeb7dd1;border-radius:999px;box-shadow:0 0 22px 5px #ffeb7d40;content:"";inset:18px;position:absolute;z-index:-1}.interactive-star:focus-visible,.interactive-star:hover{cursor:pointer;filter:saturate(1.1) brightness(1.04);transform:scale(1.48)}.interactive-star:focus-visible .interactive-star__image,.interactive-star:hover .interactive-star__image{box-shadow:inset 0 0 18px #0003,0 0 38px #ffe98a7a;opacity:1;transform:scale(1.08)}.interactive-star--dragging{cursor:grabbing;z-index:9}.interactive-star--dragging .interactive-star__image{transform:scale(1.04)}.interactive-star--launching{animation:launch .26s ease-out forwards;z-index:12}.interactive-star--launching .interactive-star__image{animation:launch-image .26s ease-out forwards}.interactive-star--launching:after{animation:launch-flash .26s ease-out forwards}.earth{animation:jiggle .5s infinite;background:#16a2c9;border-radius:999px;box-shadow:0 0 8px 2px #60ddff59;height:2.5px;width:2.5px}.earth,.window{position:absolute}.window{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#080a129e;border:1px solid #cac65938;border-radius:18px;box-shadow:0 14px 34px #00000059;color:#f4f0d5;pointer-events:auto;width:min(360px,calc(100vw - 24px));z-index:5}.window--about{width:min(390px,calc(100vw - 24px))}.window__header{align-items:flex-start;border-bottom:1px solid #cac65926;cursor:grab;display:flex;gap:12px;justify-content:space-between;padding:14px 14px 10px;-webkit-user-select:none;user-select:none}.window__title{font-size:18px;font-weight:500;letter-spacing:.18em;margin:0;text-transform:uppercase}.window__subtitle{color:#f4f0d5b8;font-size:12px;margin-top:4px}.window__toggle{background:#ffffff0d;border:1px solid #f4f0d52e;border-radius:999px;color:inherit;cursor:pointer;font:inherit;padding:8px 12px}.window__body{padding:14px}.window--collapsed .window__header{border-bottom:0}.language-toggle{align-items:center;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#080a12b8;border:1px solid #f4f0d52e;border-radius:999px;color:#f4f0d5;cursor:pointer;display:inline-flex;font:inherit;font-size:12px;gap:8px;letter-spacing:.08em;padding:8px 12px;position:fixed;right:16px;top:16px;z-index:20}.language-toggle__flag{font-size:11px;opacity:.75}.sliders-panel{grid-gap:14px;display:grid;gap:14px}.slider-row{grid-gap:8px;display:grid;gap:8px}.slider-row__label{color:#f4f0d5c7;font-size:12px;letter-spacing:.08em;text-transform:uppercase}.slider-row__input{accent-color:#f1d86b;width:100%}.fps-readout{color:#f4f0d5b3;font-size:12px}.repo-link{color:inherit;display:inline-flex;flex-direction:column;font-size:12px;gap:2px;text-decoration:none}.repo-link span:last-child{color:#f4f0d5b3}.about-panel{grid-gap:14px;display:grid;font-size:13px;gap:14px;line-height:1.55}.project-preview{grid-gap:12px;align-items:start;background:#ffffff0a;border-radius:16px;display:grid;gap:12px;grid-template-columns:92px 1fr;padding:10px}.project-preview__image{border-radius:14px;height:92px;object-fit:cover;width:92px}.project-preview h3{font-size:14px;margin:0 0 4px}.project-preview p{color:#f4f0d5b8}.recent-projects{grid-gap:6px;display:grid;font-size:12px;gap:6px}.recent-projects span{color:#f4f0d5b8;letter-spacing:.08em;text-transform:uppercase}.recent-projects ul{margin:0;padding-left:18px}.projects-list{grid-gap:8px;display:grid;gap:8px}.projects-list>span{color:#f4f0d5c7;font-size:12px;letter-spacing:.08em;margin-bottom:4px;text-transform:uppercase}.projects-list ul{grid-gap:6px;display:grid;gap:6px;list-style:none}.projects-list li,.projects-list ul{margin:0;padding:0}.projects-list__item{background:#ffffff0a;border:1px solid #cac6591a;border-radius:12px;color:inherit;cursor:pointer;font:inherit;font-size:13px;padding:10px;text-align:left;transition:background .18s ease,border-color .18s ease,transform .18s ease;-webkit-user-select:none;user-select:none;width:100%}.projects-list__item:hover{background:#ffffff14;border-color:#cac65938;transform:translateX(4px)}@keyframes jiggle{0%{opacity:var(--opac);transform:translate(0)}15%{transform:translate(var(--x1),var(--x2))}50%{opacity:var(--flash);transform:translate(var(--x3),var(--x4))}85%{transform:translate(var(--x5),var(--x6))}to{opacity:var(--opac);transform:translate(0)}}@keyframes launch{0%{opacity:1;transform:scale(1.48)}to{opacity:0;transform:scale(2.3)}}@keyframes launch-image{0%{filter:blur(0);transform:scale(1.18)}to{filter:blur(2px);transform:scale(1.45)}}@keyframes launch-flash{0%{opacity:.8;transform:scale(.8)}to{opacity:0;transform:scale(2.2)}}@media (max-width:900px){.window{width:min(340px,calc(100vw - 18px))}.window--about{left:12px!important;top:420px!important}}
/*# sourceMappingURL=main.8555a80e.css.map*/