@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(../media/a342834df7752944-s.3hd2l7bm32o7k.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(../media/d3fe2f289711ac3f-s.1l2zhvq5eocqf.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(../media/58c4895d0a0ef7cc-s.2vhvl9vrvk-va.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(../media/bfc7db5c00d21bc5-s.173xwsdme27n8.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(../media/6ab0db14f70d8ed6-s.13hnt-xgp82zk.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(../media/a343f882a40d2cc9-s.p.1sj6eobyi31rd.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a342834df7752944-s.3hd2l7bm32o7k.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(../media/d3fe2f289711ac3f-s.1l2zhvq5eocqf.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(../media/58c4895d0a0ef7cc-s.2vhvl9vrvk-va.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(../media/bfc7db5c00d21bc5-s.173xwsdme27n8.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(../media/6ab0db14f70d8ed6-s.13hnt-xgp82zk.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a343f882a40d2cc9-s.p.1sj6eobyi31rd.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(../media/a342834df7752944-s.3hd2l7bm32o7k.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(../media/d3fe2f289711ac3f-s.1l2zhvq5eocqf.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(../media/58c4895d0a0ef7cc-s.2vhvl9vrvk-va.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(../media/bfc7db5c00d21bc5-s.173xwsdme27n8.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(../media/6ab0db14f70d8ed6-s.13hnt-xgp82zk.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(../media/a343f882a40d2cc9-s.p.1sj6eobyi31rd.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Manrope;font-style:normal;font-weight:800;font-display:swap;src:url(../media/a342834df7752944-s.3hd2l7bm32o7k.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope;font-style:normal;font-weight:800;font-display:swap;src:url(../media/d3fe2f289711ac3f-s.1l2zhvq5eocqf.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:800;font-display:swap;src:url(../media/58c4895d0a0ef7cc-s.2vhvl9vrvk-va.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Manrope;font-style:normal;font-weight:800;font-display:swap;src:url(../media/bfc7db5c00d21bc5-s.173xwsdme27n8.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Manrope;font-style:normal;font-weight:800;font-display:swap;src:url(../media/6ab0db14f70d8ed6-s.13hnt-xgp82zk.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope;font-style:normal;font-weight:800;font-display:swap;src:url(../media/a343f882a40d2cc9-s.p.1sj6eobyi31rd.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Manrope Fallback;src:local(Arial);ascent-override:103.31%;descent-override:29.07%;line-gap-override:0.0%;size-adjust:103.19%}.manrope_6bf60139-module__cETBAW__className{font-family:Manrope,Manrope Fallback;font-style:normal}.manrope_6bf60139-module__cETBAW__variable{--font-ui:"Manrope", "Manrope Fallback"}
html,body{min-height:100%;margin:0}
:root{--text:#ecf3ff;--muted:#98a6bb;--line:#94a3b814;--surface:#0b111cc2;--accent:#60a5fa;--accent-muted:#60a5fa29;--cursor-default:url(/icons/cursor-blue.svg) 4 2, auto;--cursor-pointer:url(/icons/cursor-blue.svg) 4 2, pointer}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:64px}body{min-height:100vh;font-family:var(--font-ui,"Segoe UI"), "Segoe UI", sans-serif;color:var(--text);-webkit-font-smoothing:antialiased;cursor:var(--cursor-default);background-color:#030508;background-image:radial-gradient(circle at 18% 12%,#3b82f61f,#0000 22%),radial-gradient(circle at 82% 18%,#0ea5e91a,#0000 18%),radial-gradient(circle at 50% 110%,#0f172ae6,#0000 38%),linear-gradient(#06080c 0%,#030508 52%,#020305 100%);background-size:100% 100%,100% 100%,100% 100%,100% 100%;background-attachment:fixed;margin:0;font-size:1rem;line-height:1.6;position:relative}body:before,body:after{content:"";pointer-events:none;position:fixed;inset:0}body:before{filter:blur(80px);opacity:.75;background:radial-gradient(circle at 24% 14%,#60a5fa1f,#0000 0 14%),radial-gradient(circle at 78% 20%,#7dd3fc1a,#0000 0 12%)}body:after{opacity:.35;background:linear-gradient(#ffffff08,#0000 28%)}#root{min-height:100vh;position:relative}#root>*{z-index:0;position:relative}a{color:var(--accent);text-underline-offset:.18em;text-decoration:none}a,button,input,textarea,select,label[for],[role=button],.file-upload-control{cursor:var(--cursor-pointer)}a:hover{text-decoration:underline;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}button,input,textarea,select,label[for]{font:inherit}a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}::selection{background:var(--accent-muted);color:var(--text)}
.portfolio-page,.portfolio-page *{box-sizing:border-box}.portfolio-page{color:#e8eef8;min-height:100vh;font-family:var(--font-ui,"Segoe UI"), "Segoe UI", sans-serif;background:0 0;padding:0 24px 88px}.portfolio-inner{width:min(100%,820px);margin:0 auto;padding:56px 0 0}.ambient-player-frame{opacity:0;pointer-events:none;width:1px;height:1px;position:fixed;inset:auto auto 0 0;overflow:hidden}.hero-block,.section-block{position:relative}.hero-block h1,.section-heading h2,.spotify-copy strong,.activity-copy strong,.workspace-copy strong{margin:0}.hero-header{display:block}.hero-copy{min-width:0}.hero-block h1{font-family:var(--font-display,var(--font-ui)), sans-serif;letter-spacing:-.075em;color:#f7fbff;flex-wrap:wrap;align-items:flex-end;gap:.04em .035em;font-size:clamp(3.6rem,9vw,6rem);font-weight:700;line-height:.92;display:flex}.hero-intro{white-space:nowrap;align-items:flex-end;gap:0;display:inline-flex}.hero-intro-leading{display:inline-block}.hero-intro-tail{margin-left:-.02em;margin-right:.045em;display:inline-block}.hero-name-wrap{align-items:flex-end;gap:.085em;margin-left:0;display:inline-flex}.hero-name{white-space:nowrap;padding-bottom:.08em;display:inline-block;position:relative}.hero-name:after{content:"";background:#60a5faad;border-radius:999px;height:.055em;position:absolute;bottom:0;left:.04em;right:.05em;box-shadow:0 0 18px #60a5fa38}.hero-name--online:after{background:#22c55e;box-shadow:0 0 20px #22c55e42}.hero-name--idle:after{background:#f59e0b;box-shadow:0 0 20px #f59e0b3d}.hero-name--dnd:after{background:#ef4444;box-shadow:0 0 20px #ef444442}.hero-avatar-stack{flex-direction:column;align-items:center;gap:.11em;margin-bottom:.02em;display:inline-flex}.hero-avatar-shell{background:#0b111ceb;border:1px solid #94a3b829;border-radius:.28em;justify-content:center;align-items:center;width:.88em;height:.88em;padding:.05em;display:inline-flex;box-shadow:0 .08em .24em #02061759}.hero-avatar{object-fit:cover;border-radius:.22em;flex-shrink:0;width:100%;height:100%}.hero-status{color:#98a6bb;letter-spacing:.01em;white-space:nowrap;background:#0a101beb;border:1px solid #94a3b829;border-radius:999px;justify-content:center;align-items:center;min-width:4.6em;min-height:1.3em;padding:0 .5em;font-size:.16em;font-weight:600;line-height:1;display:inline-flex;box-shadow:0 .08em .2em #02061752}.hero-period{color:#0000;white-space:nowrap;background:#fff;border-radius:999px;width:.18em;height:.18em;margin-bottom:.13em;margin-left:.055em;display:inline-flex;overflow:hidden;box-shadow:0 0 .12em #ffffff4d,0 0 .34em #94a3b83d}.hero-status--online{color:#166534;background:#f0fdf4fa;border-color:#86efaceb}.hero-status--idle{color:#9a3412;background:#fff7edfa;border-color:#fdba74eb}.hero-status--dnd{color:#b91c1c;background:#fef2f2fa;border-color:#fca5a5eb}.hero-tagline{color:#90a0b6;margin:14px 0 32px;font-size:15px;line-height:1.6}.intro-flow{gap:16px;max-width:700px;display:grid}.intro-flow p,.location-copy p,.form-status,.workspace-copy span{color:#bac7d8;margin:0;font-size:18px;line-height:1.9}.intro-flow a,.section-heading a,.weather-credit a{color:#2563eb;text-decoration:none}.intro-flow a:hover,.section-heading a:hover,.weather-credit a:hover{text-decoration:underline}.intro-flow strong,.location-inline strong,.location-copy strong{color:#f7fbff;font-weight:700}.hero-block{padding:0 0 10px}.section-block{border-top:1px solid #94a3b824;margin-top:44px;padding-top:22px}.section-heading{justify-content:space-between;align-items:baseline;gap:18px;margin-bottom:18px;display:flex}.section-heading-copy{flex-wrap:wrap;align-items:baseline;gap:10px;display:inline-flex}.section-heading-icon{color:#93a4ba;width:24px;height:24px;box-shadow:none;background:#080e189e;border:1px solid #94a3b824;border-radius:999px;place-items:center;display:inline-grid}.section-heading h2{font-family:var(--font-display,var(--font-ui)), sans-serif;letter-spacing:-.02em;color:#f3f8ff;text-transform:lowercase;font-size:18px;font-weight:700;line-height:1.2}.section-heading span,.section-heading a,.field span{color:#7f90a6;font-size:13px;line-height:1.6}.location-copy{gap:12px;display:grid}.location-inline{color:#bac7d8;flex-wrap:wrap;align-items:center;gap:6px;font-size:18px;line-height:1.75;display:inline-flex}.location-inline em{color:#f7fbff;font-style:normal}.location-clock{color:#9aa9bf;place-items:center;width:20px;height:20px;animation:1s steps(2,end) infinite location-clock-tick;display:inline-grid}.weather-credit{color:#7f90a6;font-size:12px;line-height:1.6}.forecast-list{gap:10px;max-width:560px;margin-top:2px;display:grid}.forecast-row{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#080e18b8;border:1px solid #94a3b824;border-radius:12px;grid-template-columns:52px 30px auto;align-items:center;gap:10px;min-height:50px;padding:0 16px;display:grid;box-shadow:0 16px 30px #02061733}.forecast-day,.forecast-temps strong,.forecast-temps span{font-size:15px}.forecast-day{color:#aab8ca;font-weight:500}.forecast-icon{width:22px;height:18px;display:inline-block;position:relative}.forecast-icon:before,.forecast-icon:after{content:"";position:absolute}.forecast-icon--cloud:before,.forecast-icon--rain:before,.forecast-icon--mist:before,.forecast-icon--snow:before,.forecast-icon--storm:before{background:#080e18e6;border:1.6px solid #7f90a6;border-radius:999px;width:16px;height:10px;top:4px;left:2px}.forecast-icon--cloud:after,.forecast-icon--rain:after,.forecast-icon--mist:after,.forecast-icon--snow:after,.forecast-icon--storm:after{background:#080e18e6;border:1.6px solid #7f90a6;border-radius:999px;width:8px;height:8px;top:0;left:8px}.forecast-icon--rain:before,.forecast-icon--snow:before,.forecast-icon--storm:before{box-shadow:5px 8px 0 -6px #7f90a6,9px 10px 0 -6px #7f90a6}.forecast-icon--sun:before{border:1.6px solid #7f90a6;border-radius:999px;width:14px;height:14px;top:2px;left:4px}.forecast-temps{justify-content:flex-end;align-items:center;gap:14px;margin-left:auto;display:flex}.forecast-temps strong{color:#f7fbff;font-weight:700}.forecast-temps span{color:#8ea0b5}.spotify-card,.activity-card,.workspace-card,.message-card{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#090f19b8;border:1px solid #94a3b824;border-radius:14px;box-shadow:0 20px 40px #02061729}.spotify-card{color:inherit;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:16px;padding:16px;text-decoration:none;transition:background .28s,border-color .28s,box-shadow .28s,transform .18s;display:grid}.spotify-card--dynamic{border-color:var(--spotify-card-border,#11182714);background:linear-gradient(135deg, var(--spotify-card-surface,#ffffffb8), #ffffff08), var(--spotify-card-background,#ffffffe6);box-shadow:0 18px 42px #0f172a1f}.spotify-card--dynamic:hover{transform:translateY(-2px)}.spotify-art{background:#1118270d;border-radius:8px;width:52px;height:52px;overflow:hidden}.spotify-art img,.spotify-art span{object-fit:cover;width:100%;height:100%;display:block}.spotify-copy{gap:8px;min-width:0;display:grid}.spotify-meta{gap:2px;min-width:0;display:grid}.spotify-copy strong,.activity-copy strong,.workspace-copy strong{color:#f6fbff;font-size:18px;font-weight:700;line-height:1.3}.spotify-card--dynamic .spotify-copy strong,.spotify-card--dynamic .spotify-action,.spotify-card--dynamic .spotify-progress-times small,.spotify-card--dynamic .spotify-copy em{color:var(--spotify-card-text,#171717)}.spotify-copy strong,.spotify-copy span,.activity-copy span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.spotify-copy span,.activity-copy span{color:#9baac0;font-size:15px;line-height:1.45}.spotify-card--dynamic .spotify-copy span,.spotify-card--dynamic .spotify-ticker,.spotify-card--dynamic .spotify-lyric-line,.spotify-card--dynamic .spotify-ticker-icon{color:var(--spotify-card-muted,#5f6776)}.spotify-progress{gap:6px;display:grid}.spotify-progress-bar{background:#94a3b82e;border-radius:999px;width:100%;height:3px;display:block;overflow:hidden}.spotify-card--dynamic .spotify-progress-bar{background:#ffffff38}.spotify-progress-bar>span{border-radius:inherit;background:#f7fbff;height:100%;transition:width .24s linear;display:block}.spotify-card--dynamic .spotify-progress-bar>span{background:var(--spotify-card-accent,#171717)}.spotify-progress-times{color:#7f90a6;font-variant-numeric:tabular-nums;justify-content:space-between;align-items:center;gap:12px;display:flex}.spotify-progress-times small,.spotify-copy em,.activity-copy em{color:#7f90a6;font-size:12px;font-style:normal;line-height:1.5}.spotify-ticker{color:#9baac0;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;min-width:0;display:grid}.spotify-ticker-icon{color:#7f90a6}.spotify-ticker-track{white-space:nowrap;min-width:0;height:22px;position:relative;overflow:hidden}.spotify-lyric-stage{width:100%;height:100%;display:block;position:relative}.spotify-lyric-line{text-overflow:ellipsis;color:#b8c6d8;will-change:transform, opacity, filter;font-size:14px;line-height:22px;display:block;position:absolute;inset:0;overflow:hidden}.spotify-action{color:#ecf4ff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff0f;border:1px solid #94a3b829;border-radius:999px;justify-content:center;align-items:center;min-height:34px;padding:0 12px;font-size:13px;display:inline-flex}.contribution-card{color:#e5e7eb;background:#0d1117;border:1px solid #11182714;border-radius:16px;overflow:hidden;box-shadow:0 18px 44px #0f172a29}.contribution-summary{justify-content:space-between;align-items:center;gap:12px;padding:20px 22px 0;display:flex}.contribution-summary strong{letter-spacing:-.04em;color:#f8fafc;font-size:32px;line-height:1.1}.contribution-summary span{color:#9ca3af;white-space:nowrap;font-size:14px}.contribution-chart-shell{padding:16px 18px 18px}.contribution-months{grid-template-columns:repeat(53,minmax(0,1fr));gap:4px;margin-bottom:8px;margin-left:42px;display:grid}.contribution-month{color:#9ca3af;font-size:12px}.contribution-chart-body{grid-template-columns:34px minmax(0,1fr);align-items:start;gap:8px;display:grid}.contribution-weekday-labels{gap:4px;padding-top:12px;display:grid}.contribution-weekday-labels span{color:#9ca3af;min-height:11px;font-size:12px}.contribution-weekday-labels span:nth-child(2),.contribution-weekday-labels span:nth-child(3){margin-top:15px}.contribution-grid{gap:4px;padding-bottom:6px;display:flex;overflow-x:auto}.contribution-week{gap:4px;display:grid}.contribution-cell{background:#161b22;border-radius:2px;width:11px;height:11px;display:block}.contribution-cell--0{background:#161b22}.contribution-cell--1{background:#0e4429}.contribution-cell--2{background:#006d32}.contribution-cell--3{background:#26a641}.contribution-cell--4{background:#39d353}.contribution-footer{color:#9ca3af;justify-content:flex-end;align-items:center;gap:8px;margin-top:10px;font-size:12px;display:flex}.contribution-legend{gap:4px;display:inline-flex}.activity-card{grid-template-columns:48px minmax(0,1fr);align-items:center;gap:14px;padding:16px;display:grid}.activity-icon{color:#f3f8ff;background:#ffffff0d;border-radius:8px;place-items:center;width:40px;height:40px;display:grid}.activity-copy{gap:2px;min-width:0;display:grid}.experience-grid{grid-template-columns:repeat(auto-fit,minmax(258px,1fr));gap:18px;width:min(100%,640px);display:grid}.experience-card{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#090f19c7;border:1px solid #94a3b824;border-radius:16px;grid-template-rows:132px auto;display:grid;overflow:hidden;box-shadow:0 24px 48px #02061733}.experience-art{isolation:isolate;position:relative;overflow:hidden}.experience-banner,.experience-banner-wash,.experience-emblem-shell,.experience-badge{position:absolute}.experience-banner{object-fit:cover;width:100%;height:100%;inset:0;transform:scale(1.02)}.experience-banner-wash{z-index:1;background:linear-gradient(#060b140a,#060b14c7),linear-gradient(135deg,#60a5fa14,#fff0);inset:0}.experience-art--evergrove .experience-banner{object-fit:cover;object-position:center;filter:saturate(1.1)blur(1px);transform:scale(1.18)}.experience-art--restaurant .experience-banner,.experience-art--mcronalds .experience-banner{object-position:center}.experience-emblem-shell{z-index:2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0a101beb;border:1px solid #94a3b82e;border-radius:16px;width:58px;height:58px;padding:4px;bottom:16px;left:16px;box-shadow:0 18px 34px #02061752}.experience-emblem{object-fit:cover;border-radius:12px;width:100%;height:100%;display:block}.experience-badge{z-index:2;color:#d6e3f4;letter-spacing:.01em;background:#0a101be0;border:1px solid #94a3b829;border-radius:999px;align-items:center;min-height:28px;padding:0 10px;font-size:11px;font-weight:600;display:inline-flex;top:12px;right:12px}.experience-copy{gap:5px;padding:18px 18px 20px;display:grid}.experience-copy strong{color:#f6fbff;font-size:17px;line-height:1.3}.experience-copy span{color:#92a2b8;font-size:14px;line-height:1.5}.workspace-card{overflow:hidden}.workspace-copy{gap:6px;padding:18px 16px;display:grid}.workspace-card--repo{background:linear-gradient(135deg,#60a5fa1a,#080e1829),#090f19c7}.workspace-repo-link{color:#8fc2ff;background:#60a5fa24;border:1px solid #60a5fa3d;border-radius:999px;align-items:center;width:fit-content;min-height:38px;padding:0 14px;font-size:14px;font-weight:700;text-decoration:none;display:inline-flex}.workspace-repo-link:hover{background:#60a5fa33;text-decoration:none}.message-card{background:#090f19d1;border-color:#94a3b824;padding:20px 18px;box-shadow:0 22px 44px #02061738}.contact-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px;display:grid}.field{flex-direction:column;gap:8px;display:flex}.field-note{color:#7f90a6;margin:0;font-size:12px;line-height:1.5}.field--full{grid-column:1/-1}.field--trap{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.field input,.field textarea{color:#eef4ff;width:100%;font:inherit;background:#060b14b3;border:1px solid #94a3b824;border-radius:8px;outline:none;padding:13px 14px}.field input:focus,.field textarea:focus{border-color:#60a5fa52;box-shadow:0 0 0 4px #60a5fa1f}.field textarea{resize:vertical;min-height:150px}.file-upload-shell{position:relative}.file-upload-input{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.file-upload-control{cursor:pointer;background:linear-gradient(135deg,#ffffff0a,#fff0),#090f19cc;border:1px solid #94a3b824;border-radius:12px;align-items:center;gap:12px;min-height:56px;padding:10px 12px;transition:border-color .18s,box-shadow .18s,transform .18s;display:flex}.file-upload-control:hover{border-color:#60a5fa38;transform:translateY(-1px);box-shadow:0 16px 30px #0206172e}.file-upload-input:focus-visible+.file-upload-control{border-color:#60a5fa47;box-shadow:0 0 0 4px #60a5fa1f}.file-upload-trigger{color:#08101c;letter-spacing:.01em;white-space:nowrap;background:#eff6ff;border-radius:999px;justify-content:center;align-items:center;min-height:34px;padding:0 14px;font-size:12px;font-weight:700;display:inline-flex}.file-upload-summary{color:#9baac0;min-width:0;font-size:14px;line-height:1.5}.attachment-list{gap:10px;display:grid}.attachment-item{background:#060b149e;border:1px solid #94a3b824;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.attachment-copy{gap:2px;min-width:0;display:grid}.attachment-copy strong{color:#eef4ff;word-break:break-word;font-size:14px;line-height:1.35}.attachment-copy span{color:#9aa9bf;font-size:12px;line-height:1.4}.attachment-remove{color:#eef4ff;min-height:34px;font:inherit;cursor:pointer;background:#090f19e0;border:1px solid #94a3b824;border-radius:999px;flex-shrink:0;padding:0 12px;font-size:12px;font-weight:600}.submit-button{color:#eaf3ff;width:fit-content;min-height:42px;font:inherit;cursor:pointer;background:#60a5fa24;border:1px solid #60a5fa3d;border-radius:999px;padding:0 18px;font-size:14px;font-weight:600}.submit-button:disabled{opacity:.6;cursor:not-allowed}.form-status--success{color:#86efac}.form-status--error{color:#fda4af}.navigate-page,.not-found-page{place-items:center;min-height:100vh;padding:28px 20px;display:grid}.navigate-shell,.not-found-card{background:#090f19e6;border:1px solid #94a3b824;border-radius:20px;width:min(100%,760px);box-shadow:0 24px 48px #0206173d}.navigate-shell{overflow:hidden}.navigate-search{color:#7f90a6;border-bottom:1px solid #94a3b824;align-items:center;gap:12px;min-height:64px;padding:0 20px;font-size:16px;display:flex}.navigate-section-label{text-transform:lowercase;letter-spacing:.08em;color:#7f90a6;padding:14px 20px 0;font-size:12px;line-height:1.4}.navigate-list{gap:6px;padding:12px;display:grid}.navigate-item{color:#ecf3ff;border-radius:14px;grid-template-columns:42px minmax(0,1fr) 18px;align-items:center;gap:12px;padding:12px;text-decoration:none;display:grid}.navigate-item:hover{background:#ffffff0a;text-decoration:none}.navigate-item-icon{color:#eff6ff;background:linear-gradient(135deg,#2563eb,#60a5fa);border-radius:12px;place-items:center;width:42px;height:42px;display:grid}.navigate-item-copy{gap:2px;min-width:0;display:grid}.navigate-item-copy strong,.not-found-copy h1{color:#f7fbff;margin:0}.navigate-item-copy strong{font-size:17px;line-height:1.35}.navigate-item-copy small,.not-found-copy p,.not-found-badge,.navigate-item-arrow,.navigate-footer{color:#7f90a6}.navigate-item-copy small{font-size:13px;line-height:1.45}.navigate-footer{border-top:1px solid #94a3b824;justify-content:space-between;align-items:center;gap:16px;padding:14px 18px 18px;font-size:12px;line-height:1.4;display:flex}.not-found-card{gap:20px;padding:28px;display:grid}.not-found-badge{letter-spacing:.08em;text-transform:uppercase;width:fit-content;font-size:12px}.not-found-copy{gap:10px;max-width:560px;display:grid}.not-found-copy h1{letter-spacing:-.06em;font-size:clamp(2.4rem,7vw,4.2rem);line-height:.95}.not-found-copy p{margin:0;font-size:16px;line-height:1.7}.not-found-preview{flex-wrap:wrap;gap:12px;display:flex}.not-found-preview-chip,.not-found-link{color:#eef4ff;background:#090f19d1;border:1px solid #94a3b824;border-radius:14px;align-items:center;gap:10px;min-height:46px;padding:0 16px;text-decoration:none;display:inline-flex}.not-found-link--primary{color:#93c5fd;background:#60a5fa24;border-color:#60a5fa47}@keyframes location-clock-tick{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media screen and (max-width:720px){.portfolio-page{padding:0 18px 56px}.portfolio-inner{width:100%;padding:40px 0 0}.hero-block h1{column-gap:.03em;font-size:46px}.hero-tagline{margin-bottom:24px}.section-heading,.contact-form,.spotify-card,.activity-card{grid-template-columns:1fr;display:grid}.experience-grid{grid-template-columns:1fr}.spotify-card,.activity-card,.message-card,.workspace-copy{padding-left:16px;padding-right:16px}.spotify-action{justify-self:start}.contribution-summary{justify-content:start;display:grid}.contribution-summary strong{font-size:26px}.contribution-months{margin-left:34px}.contribution-chart-body{grid-template-columns:28px minmax(0,1fr);gap:6px}.forecast-row{grid-template-columns:48px 24px auto}.navigate-page,.not-found-page{padding:18px 14px}.navigate-shell,.not-found-card{border-radius:18px;width:100%}.navigate-item{grid-template-columns:42px minmax(0,1fr)}.navigate-item-arrow{display:none}.navigate-footer,.not-found-actions{display:grid}}
