:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--background:#f2f0e9;--foreground:#181815;--card:#f8f6f0;--card-foreground:#181815;--primary:#181815;--primary-foreground:#f8f6f0;--secondary:#e8e5dc;--secondary-foreground:#292823;--muted:#e8e5dc;--muted-foreground:#68665f;--accent:#e5e2d9;--accent-foreground:#181815;--border:#d3d0c6;--ring:#78766f;--radius:18px;color:var(--foreground);background:var(--background);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--background:#131412;--foreground:#efeee8;--card:#1b1c19;--card-foreground:#efeee8;--primary:#efeee8;--primary-foreground:#171815;--secondary:#292a26;--secondary-foreground:#efeee8;--muted:#272824;--muted-foreground:#a5a59d;--accent:#2e2f2a;--accent-foreground:#efeee8;--border:#343530;--ring:#8b8c83}*{box-sizing:border-box}html{background:var(--background);scroll-behavior:smooth;min-width:320px}body{background:var(--background);min-width:320px;min-height:100vh;margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}::selection{color:var(--primary-foreground);background:var(--primary)}.ui-card{--card-spacing:20px;gap:var(--card-spacing);padding:7px 7px var(--card-spacing);border:1px solid var(--border);border-radius:var(--radius);color:var(--card-foreground);background:var(--card);flex-direction:column;display:flex;overflow:hidden;box-shadow:0 1px #00000005}.ui-card-header{padding-inline:var(--card-spacing);grid-template-rows:auto auto;grid-template-columns:1fr auto;align-items:start;gap:4px 16px;display:grid}.ui-card-title{color:var(--card-foreground);grid-column:1;margin:0}.ui-card-description{color:var(--muted-foreground);grid-column:1;margin:0}.ui-card-action{grid-area:1/2/span 2}.ui-card-content,.ui-card-footer{padding-inline:var(--card-spacing)}.ui-card-footer{align-items:center;display:flex}.ui-badge{width:fit-content;min-height:25px;color:var(--primary-foreground);background:var(--primary);letter-spacing:.065em;text-transform:uppercase;white-space:nowrap;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;padding:0 9px;font-size:.64rem;font-weight:650;line-height:1;display:inline-flex}.ui-badge[data-variant=secondary]{color:var(--secondary-foreground);background:var(--secondary)}.ui-badge[data-variant=outline]{border-color:var(--border);color:var(--foreground);background:0 0}.ui-button{min-height:38px;color:var(--primary-foreground);background:var(--primary);cursor:pointer;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 15px;transition:color .18s,background-color .18s,border-color .18s,transform .18s;display:inline-flex}.ui-button:hover{transform:translateY(-1px)}.ui-button:focus-visible{outline:3px solid color-mix(in srgb, var(--ring) 35%, transparent);outline-offset:2px}.ui-button[data-size=icon]{width:38px;padding:0}.ui-button[data-variant=outline]{border-color:var(--border);color:var(--foreground);background:0 0}.ui-button[data-variant=outline]:hover,.ui-button[data-variant=ghost]:hover{background:var(--accent)}.ui-button[data-variant=ghost]{color:var(--foreground);background:0 0}.ui-button[data-variant=media]{border-radius:var(--radius);width:100%;min-height:0;color:inherit;cursor:zoom-in;background:0 0;border:0;padding:0;display:block;position:relative;overflow:hidden}.ui-button[data-variant=media]:hover{transform:none}.ui-button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7px;width:17px;height:17px}.ui-dialog{width:min(100% - 24px,1600px);max-width:none;max-height:calc(100svh - 24px);color:var(--foreground);background:0 0;border:0;padding:0;overflow:visible}.ui-dialog::backdrop{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000000c7}.ui-dialog-content{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);flex-direction:column;gap:10px;max-height:calc(100svh - 24px);padding:10px;display:flex;overflow:hidden;box-shadow:0 32px 80px #00000059}.ui-dialog-header{justify-content:space-between;align-items:center;gap:24px;display:flex}.ui-dialog-title,.ui-dialog-description{margin:0}.ui-dialog-title{color:var(--foreground)}.ui-dialog-description{color:var(--muted-foreground)}.portfolio-shell{width:min(100% - 48px,1440px);margin:0 auto;padding:22px 0 32px}.site-header{border-bottom:1px solid var(--border);grid-template-columns:1fr auto 1fr;align-items:center;padding-bottom:20px;display:grid}.studio-mark{width:fit-content;color:var(--foreground);letter-spacing:-.055em;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.87rem;font-weight:760;text-decoration:none}.studio-mark span{vertical-align:top;margin-left:2px;font-size:.45rem}.header-meta{color:var(--muted-foreground);letter-spacing:.08em;text-transform:uppercase;gap:22px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.68rem;display:flex}.site-header>.ui-button{justify-self:end}.projects-section{flex-direction:column;gap:58px;padding:88px 0 72px;display:flex}.projects-intro{flex-direction:column;gap:34px;display:flex}.title-row,.site-footer{justify-content:space-between;align-items:flex-end;gap:32px;display:flex}.site-footer{color:var(--muted-foreground);letter-spacing:.08em;text-transform:uppercase;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.68rem}.title-row h1{max-width:1050px;color:var(--foreground);letter-spacing:-.072em;margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:clamp(3rem,5.4vw,5.4rem);font-weight:650;line-height:.94}.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;display:grid}.project-link{border-radius:var(--radius);min-width:0;color:inherit;text-decoration:none;display:block}.project-link:only-child{grid-column:1/-1}.project-link:only-child .ui-card-description{max-width:960px}.project-link:focus-visible{outline:3px solid color-mix(in srgb, var(--ring) 35%, transparent);outline-offset:4px}.project-card{min-width:0;height:100%;transition:border-color .22s,box-shadow .22s,transform .22s}.project-link:hover .project-card{border-color:var(--ring);transform:translateY(-3px);box-shadow:0 18px 48px #00000014}.project-media{aspect-ratio:16/9;border-radius:calc(var(--radius) - 5px);background:var(--muted);position:relative;overflow:hidden}.project-gallery{background:var(--card);grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;width:100%;height:100%;display:grid}.project-shot{object-fit:contain;background:var(--muted);filter:saturate(.88)contrast(1.02);width:100%;min-width:0;height:100%;transition:filter .5s;display:block}.project-card:hover .project-shot{filter:saturate()contrast(1.02)}.project-card .ui-card-header{padding-top:2px}.project-card .ui-card-title{letter-spacing:-.055em;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:clamp(1.75rem,2.8vw,2.65rem);font-weight:560}.project-arrow{border:1px solid var(--border);width:38px;height:38px;color:var(--foreground);border-radius:999px;justify-content:center;align-items:center;transition:transform .24s,background-color .24s;display:inline-flex}.project-arrow svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7px;width:17px;height:17px}.project-card:hover .project-arrow{background:var(--accent);transform:translate(3px)}.project-card .ui-card-description{max-width:500px;font-size:.9rem;line-height:1.6}.project-card .ui-card-footer{color:var(--muted-foreground);letter-spacing:.06em;justify-content:flex-start;margin-top:4px;font-size:.69rem}.project-stack{flex-wrap:wrap;gap:6px;display:flex}.project-stack .ui-badge{text-transform:none;font-size:.74rem}.site-footer{border-top:1px solid var(--border);padding-top:22px}.project-detail{flex-direction:column;gap:72px;padding:46px 0 80px;display:flex}.detail-toolbar{justify-content:space-between;align-items:center;gap:24px;display:flex}.detail-header{border-bottom:1px solid var(--border);padding-bottom:64px}.detail-heading,.detail-summary>div{flex-direction:column;align-items:flex-start;display:flex}.detail-heading{gap:26px}.detail-heading h1{color:var(--foreground);letter-spacing:-.09em;margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:clamp(3rem,6vw,6rem);font-weight:560;line-height:.9}.detail-heading>p{max-width:690px;color:var(--muted-foreground);margin:0;font-size:clamp(1.05rem,1.6vw,1.3rem);line-height:1.6}.detail-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 18px;display:grid}.detail-gallery figure{flex-direction:column;gap:12px;min-width:0;margin:0;display:flex}.detail-gallery img{aspect-ratio:16/9;border-radius:var(--radius);object-fit:contain;background:var(--muted);width:100%;display:block}.image-expand-icon{border:1px solid var(--border);width:38px;height:38px;color:var(--foreground);background:var(--card);border-radius:999px;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:14px;right:14px;box-shadow:0 8px 24px #0000001f}.detail-gallery figcaption{color:var(--muted-foreground);align-items:baseline;gap:14px;font-size:.76rem;line-height:1.45;display:flex}.detail-gallery figcaption span{color:var(--foreground);letter-spacing:.08em;flex:none;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.64rem}.detail-summary{border-top:1px solid var(--border);grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(48px,10vw,160px);padding-top:56px;display:grid}.detail-summary>div{gap:26px}.detail-summary h2{max-width:520px;color:var(--foreground);letter-spacing:-.065em;margin:0;font-size:clamp(2.6rem,5vw,5rem);font-weight:600;line-height:.98}.detail-bullets{color:var(--muted-foreground);flex-direction:column;gap:22px;margin:0;padding-left:24px;font-size:clamp(1rem,1.4vw,1.2rem);line-height:1.65;display:flex}.detail-bullets li{padding-left:8px}.detail-bullets li::marker{color:var(--foreground)}.repositories-section{border-top:1px solid var(--border);grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(48px,10vw,160px);padding-top:56px;display:grid}.repositories-heading{flex-direction:column;align-items:flex-start;gap:26px;display:flex}.repositories-heading h2{max-width:560px;color:var(--foreground);letter-spacing:-.065em;margin:0;font-size:clamp(2.6rem,5vw,5rem);font-weight:600;line-height:.98}.repositories-grid{flex-direction:column;gap:10px;display:flex}.repository-link{border:1px solid var(--border);border-radius:calc(var(--radius) - 4px);color:var(--foreground);background:var(--card);justify-content:space-between;align-items:center;gap:24px;padding:19px 20px;text-decoration:none;transition:border-color .18s,background-color .18s,transform .18s;display:flex}.repository-link:hover{border-color:var(--ring);background:var(--accent);transform:translateY(-2px)}.repository-link:focus-visible{outline:3px solid color-mix(in srgb, var(--ring) 35%, transparent);outline-offset:2px}.repository-copy{flex-direction:column;gap:5px;min-width:0;display:flex}.repository-copy strong{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.86rem;font-weight:600}.repository-copy>span{overflow-wrap:anywhere;color:var(--muted-foreground);font-size:.72rem}.repository-link>svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7px;flex:none;width:19px;height:19px}.image-dialog-header{padding:4px 4px 4px 12px}.image-dialog-header>div{flex-direction:column;gap:3px;min-width:0;display:flex}.image-dialog-header .ui-dialog-title{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.88rem;font-weight:600}.image-dialog-header .ui-dialog-description{text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;overflow:hidden}.image-dialog-image{border-radius:calc(var(--radius) - 6px);object-fit:contain;background:var(--muted);width:100%;min-height:0;max-height:calc(100svh - 92px);display:block}@media (width<=900px){.site-header{grid-template-columns:1fr auto}.header-meta{display:none}.projects-section{gap:44px;padding-top:64px}.title-row{flex-direction:column;align-items:flex-start;gap:26px}.projects-grid{grid-template-columns:1fr}.detail-summary,.repositories-section{grid-template-columns:1fr;gap:42px}}@media (width<=600px){.portfolio-shell{width:min(100% - 28px,1440px);padding-top:14px}.site-header{padding-bottom:14px}.projects-section{gap:36px;padding:48px 0 56px}.projects-intro{gap:28px}.title-row h1{font-size:clamp(2rem,9.4vw,2.8rem)}.site-footer{flex-direction:column;align-items:flex-start;gap:8px}.project-detail{gap:48px;padding:32px 0 56px}.detail-header{padding-bottom:44px}.detail-heading h1{font-size:clamp(2.4rem,12vw,4rem)}.detail-gallery{grid-template-columns:1fr}.detail-summary,.repositories-section{padding-top:42px}}@media (prefers-reduced-motion:reduce){.project-shot,.project-arrow,.project-card,.repository-link,.ui-button{transition:none}}
