@import url(https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,500;0,9..40,700;1,9..40,400&family=Sora:wght@550;700&display=swap);:root{--bg:#e9f2f4;--surface:#f7fbfc;--text:#1e3d4a;--muted:#5a7580;--accent:#1f8a7a;--accent-strong:#167066;--accent-soft:#d5efe9;--border:#c5d8de;--shadow:rgba(30,61,74,0.08)}*{box-sizing:border-box}body{margin:0;font-family:"DM Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#e9f2f4;background-color:var(--bg);color:#1e3d4a;color:var(--text)}.App{min-height:100vh;overflow-x:hidden}.title{font-family:"Sora","DM Sans",sans-serif;color:#1e3d4a!important;color:var(--text)!important;font-weight:700!important}.cover{position:relative;background:radial-gradient(ellipse 80% 55% at 15% 10%,rgba(31,138,122,.18),transparent 55%),radial-gradient(ellipse 70% 50% at 90% 20%,rgba(224,154,107,.16),transparent 50%),linear-gradient(180deg,#f7fbfc,#e9f2f4);background:radial-gradient(ellipse 80% 55% at 15% 10%,rgba(31,138,122,.18),transparent 55%),radial-gradient(ellipse 70% 50% at 90% 20%,rgba(224,154,107,.16),transparent 50%),linear-gradient(180deg,var(--surface),var(--bg))}.cover-compact .hero-body{padding-top:4rem;padding-bottom:2.5rem}.cover .hero-body{position:relative;z-index:1}.eyebrow{color:#1f8a7a;color:var(--accent);font-size:.9rem;font-weight:600;letter-spacing:.12em;margin-bottom:.35rem;text-transform:uppercase;-webkit-animation:rise-in .7s ease both;animation:rise-in .7s ease both}#headtitle{margin-bottom:.35rem!important;-webkit-animation:rise-in .75s ease .05s both;animation:rise-in .75s ease .05s both}.role-line{color:#5a7580;color:var(--muted);font-size:1.1rem;margin-bottom:1.25rem;-webkit-animation:rise-in .75s ease .1s both;animation:rise-in .75s ease .1s both}.avatar-wrap{margin:.25rem auto 1.25rem;max-width:180px;position:relative;-webkit-animation:rise-in .8s ease .15s both,float-soft 5.5s ease-in-out 1s infinite;animation:rise-in .8s ease .15s both,float-soft 5.5s ease-in-out 1s infinite}.avatar-wrap .avatar-photo,.avatar-wrap svg{width:100%;height:auto;display:block}.avatar-photo{border-radius:28px}.avatar-wrap:before{content:"";position:absolute;inset:8% 12% 4%;border-radius:50%;background:radial-gradient(circle,#d5efe9 0,transparent 70%);background:radial-gradient(circle,var(--accent-soft) 0,transparent 70%);z-index:-1;-webkit-transform:scale(1.15);transform:scale(1.15)}.tagline{color:#1e3d4a;color:var(--text);font-size:1.15rem;line-height:1.6;margin:0 auto 1.75rem;max-width:32rem;-webkit-animation:rise-in .8s ease .2s both;animation:rise-in .8s ease .2s both}.cover .buttons{-webkit-animation:rise-in .8s ease .28s both;animation:rise-in .8s ease .28s both;grid-gap:.6rem;gap:.6rem}.button.btn-ghost{background:rgba(247,251,252,.75)!important;border:1.5px solid #c5d8de!important;border:1.5px solid var(--border)!important;color:#1e3d4a!important;color:var(--text)!important;font-weight:500;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:border-color .2s ease,background .2s ease,-webkit-transform .2s ease;transition:transform .2s ease,border-color .2s ease,background .2s ease;transition:transform .2s ease,border-color .2s ease,background .2s ease,-webkit-transform .2s ease}.button.btn-ghost:hover{background:#d5efe9!important;background:var(--accent-soft)!important;border-color:#1f8a7a!important;border-color:var(--accent)!important;color:#167066!important;color:var(--accent-strong)!important;-webkit-transform:translateY(-2px);transform:translateY(-2px)}#projects-con{background:radial-gradient(ellipse 60% 40% at 80% 80%,rgba(224,154,107,.12),transparent 60%),#e9f2f4;background:radial-gradient(ellipse 60% 40% at 80% 80%,rgba(224,154,107,.12),transparent 60%),var(--bg);padding-top:1.5rem;padding-bottom:4rem}#main-title{margin-bottom:1.5rem!important}.project-card{background:#f7fbfc;background:var(--surface);border:1px solid #c5d8de;border:1px solid var(--border);border-radius:18px;box-shadow:0 10px 28px rgba(30,61,74,.08);box-shadow:0 10px 28px var(--shadow);display:flex;flex-direction:column;height:100%;padding:1.75rem;position:relative;text-align:left}.project-card-body{display:flex;grid-gap:1.25rem;gap:1.25rem}.project-card-body,.project-card-content{flex:1 1;min-width:0}.project-card-title-row{align-items:flex-start;display:flex;grid-gap:.75rem;gap:.75rem;margin-bottom:.15rem}.project-card-title-row .project-name{margin-bottom:0;padding-right:0}.project-card-has-preview .project-name{padding-right:0}.project-app-icon{border-radius:14px;box-shadow:0 6px 16px rgba(30,61,74,.08);box-shadow:0 6px 16px var(--shadow);flex-shrink:0;height:64px;object-fit:cover;width:64px}.project-app-icon-sm{border-radius:10px;height:40px;width:40px}.project-detail-heading{align-items:flex-start;display:flex;grid-gap:.9rem;gap:.9rem;min-width:0}.project-card-preview{align-items:flex-end;display:flex;flex-shrink:0}.project-shot{background:#f7fbfc;background:var(--surface);border:1px solid #c5d8de;border:1px solid var(--border);border-radius:1.25rem;box-shadow:0 16px 36px rgba(30,61,74,.14);margin:0;overflow:hidden;width:210px}.project-shot img{display:block;height:auto;width:100%}.project-shot-card{border-radius:1rem;width:108px}.project-screenshot-gallery{margin:.25rem -.25rem 1.75rem;overflow:hidden}.project-screenshot-track{display:flex;grid-gap:1rem;gap:1rem;overflow-x:auto;padding:.5rem .25rem 1.25rem;-ms-scroll-snap-type:x mandatory;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}.project-screenshot-track .project-shot{flex:0 0 auto;scroll-snap-align:start;-webkit-transform:translateY(0);transform:translateY(0);transition:-webkit-transform .25s ease;transition:transform .25s ease;transition:transform .25s ease,-webkit-transform .25s ease}.project-screenshot-track .project-shot:hover{-webkit-transform:translateY(-6px);transform:translateY(-6px)}@media (prefers-reduced-motion:reduce){.project-screenshot-track .project-shot,.project-screenshot-track .project-shot:hover{-webkit-transform:none;transform:none;transition:none}}.project-card-footer{align-items:flex-end;display:flex;flex-wrap:wrap;grid-gap:.75rem;gap:.75rem;justify-content:flex-start;margin-top:auto;padding-top:1.25rem}.project-store-links{display:flex;flex-wrap:wrap;grid-gap:.6rem;gap:.6rem}.project-store-links .button{margin-bottom:0}.project-view-btn{align-items:center;background:#1f8a7a;background:var(--accent);border:none;border-radius:999px;box-shadow:0 8px 20px rgba(31,138,122,.28);color:#fff;display:inline-flex;flex-shrink:0;font-size:.88rem;font-weight:600;grid-gap:.4rem;gap:.4rem;margin-left:0;padding:.55rem .95rem;text-decoration:none;transition:background .2s ease,box-shadow .2s ease,-webkit-transform .2s ease;transition:background .2s ease,transform .2s ease,box-shadow .2s ease;transition:background .2s ease,transform .2s ease,box-shadow .2s ease,-webkit-transform .2s ease}.project-view-btn:hover{background:#167066;background:var(--accent-strong);box-shadow:0 12px 24px rgba(31,138,122,.35);color:#fff;-webkit-transform:translateY(-2px);transform:translateY(-2px)}.project-view-arrow{display:inline-block;transition:-webkit-transform .2s ease;transition:transform .2s ease;transition:transform .2s ease,-webkit-transform .2s ease}.project-view-btn:hover .project-view-arrow{-webkit-transform:translateX(2px);transform:translateX(2px)}.project-view-btn-quiet{background:transparent;border:1px solid #c5d8de;border:1px solid var(--border);box-shadow:none;color:#1e3d4a;color:var(--text)}.project-view-btn-quiet:hover{background:#d5efe9;background:var(--accent-soft);border-color:#1f8a7a;border-color:var(--accent);box-shadow:none;color:#167066;color:var(--accent-strong)}.project-hard-part{color:#1e3d4a;color:var(--text);font-size:.92rem;line-height:1.55;margin:0 0 1rem}.project-hard-part-detail{border-left:3px solid #1f8a7a;border-left:3px solid var(--accent);font-size:1.05rem;margin:0 0 1.5rem;max-width:40rem;padding-left:.85rem}.project-card-compact{background:transparent;border-style:dashed;box-shadow:none;padding:1.35rem 1.5rem}.project-card-compact .project-name{font-size:1.15rem;padding-right:6rem}.project-card-compact .project-description{margin-bottom:0}.project-card-compact .project-card-footer{padding-top:1rem}.projects-in-progress{margin-top:2.75rem;padding-top:.5rem}.projects-in-progress-title{color:#5a7580;color:var(--muted);font-family:"Sora","DM Sans",sans-serif;font-size:1.05rem;font-weight:550;letter-spacing:.04em;margin:0 0 1.25rem;text-transform:uppercase}.project-shot-sample{width:220px}.project-shot-card.project-shot-sample{width:112px}.project-screenshot-gallery-samples .project-shot-sample{width:min(280px,70vw)}.project-category{color:#1f8a7a;color:var(--accent);font-size:.78rem;font-weight:600;letter-spacing:.08em;margin-bottom:.35rem;text-transform:uppercase}.project-name{color:#1e3d4a;color:var(--text);font-family:"Sora",sans-serif;font-size:1.35rem;font-weight:700;margin-bottom:.5rem;padding-right:5.5rem}.project-badge{background:#f7fbfc;background:var(--surface);border:1px solid #c5d8de;border:1px solid var(--border);border-radius:999px;font-size:.72rem;font-weight:600;letter-spacing:.03em;line-height:1;padding:.4rem .7rem;position:absolute;right:1.1rem;top:0;-webkit-transform:translateY(-50%);transform:translateY(-50%);text-transform:uppercase;white-space:nowrap;z-index:1}.project-badge-released{border-color:#1f8a7a;border-color:var(--accent);color:#167066;color:var(--accent-strong)}.project-badge-dev{border-color:#e09a6b;color:#9a5a2e}.project-description{color:#5a7580;color:var(--muted);line-height:1.6;margin-bottom:1rem}.stack-badges{display:flex;flex-wrap:wrap;grid-gap:.45rem;gap:.45rem;margin-bottom:.9rem}.stack-badge{align-items:center;background:rgba(31,138,122,.08);border:1px solid rgba(31,138,122,.18);border-radius:999px;color:#167066;color:var(--accent-strong);display:inline-flex;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.72rem;font-weight:500;grid-gap:.35rem;gap:.35rem;line-height:1;padding:.35rem .55rem}.stack-badge-icon{display:block;flex-shrink:0;height:.9rem;object-fit:contain;width:.9rem}.project-detail{background:radial-gradient(ellipse 60% 40% at 80% 80%,rgba(224,154,107,.12),transparent 60%),#e9f2f4;background:radial-gradient(ellipse 60% 40% at 80% 80%,rgba(224,154,107,.12),transparent 60%),var(--bg);min-height:100vh;padding:2rem 1.25rem 4rem;text-align:left}.back-link{color:#5a7580;color:var(--muted);display:inline-block;font-size:.95rem;margin-bottom:1.5rem;text-decoration:none}.back-link:hover{color:#167066;color:var(--accent-strong);text-decoration:underline}.project-detail-header{margin-bottom:1.5rem}.project-detail-title-row{align-items:flex-start;display:flex;grid-gap:1rem;gap:1rem;justify-content:space-between;margin-bottom:.75rem}.project-detail-title{font-size:2rem!important;margin-bottom:0!important}.project-subtitle{color:#5a7580;color:var(--muted);font-size:1rem;line-height:1.5;margin:.35rem 0 0}.project-detail-header .project-badge{position:static;-webkit-transform:none;transform:none;white-space:nowrap}.project-body{max-width:40rem}.project-body p{color:#5a7580;color:var(--muted);font-size:1.02rem;line-height:1.7;margin:0}.project-links{margin-top:2rem;padding-top:1.25rem;border-top:1px solid #c5d8de;border-top:1px solid var(--border)}@-webkit-keyframes rise-in{0%{opacity:0;-webkit-transform:translateY(14px);transform:translateY(14px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes rise-in{0%{opacity:0;-webkit-transform:translateY(14px);transform:translateY(14px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@-webkit-keyframes float-soft{0%,to{-webkit-transform:translateY(0);transform:translateY(0)}50%{-webkit-transform:translateY(-8px);transform:translateY(-8px)}}@keyframes float-soft{0%,to{-webkit-transform:translateY(0);transform:translateY(0)}50%{-webkit-transform:translateY(-8px);transform:translateY(-8px)}}@media (prefers-reduced-motion:reduce){#headtitle,.avatar-wrap,.cover .buttons,.eyebrow,.role-line,.tagline{-webkit-animation:none;animation:none}}@media only screen and (max-width:768px){.cover-compact .hero-body{padding-top:3rem;padding-bottom:1.5rem}.tagline{font-size:1.05rem}.project-detail{padding:1.5rem 1.35rem 3rem}.project-detail-title-row{align-items:flex-start;flex-direction:column}.project-name{padding-right:0}.project-card-body{flex-direction:column-reverse}.project-card-preview{justify-content:center}.project-shot-card{width:132px}.project-shot{width:168px}}
/*# sourceMappingURL=main.a1a28671.chunk.css.map */