.tpe-developer{--tp-space-1:4px;--tp-space-2:8px;--tp-space-3:12px;--tp-space-4:16px;--tp-space-6:24px;--tp-space-8:32px;--tp-space-12:48px;--tp-radius-sm:6px;--tp-radius-md:10px;--tp-radius-lg:14px;--tp-font-sans:-apple-system,blinkmacsystemfont,"Segoe UI",sans-serif;--tp-font-mono:ui-monospace,"SFMono-Regular",consolas,"Liberation Mono",monospace;--tp-surface:#fff;--tp-surface-elevated:#fbfbfc;--tp-surface-muted:#f4f5f7;--tp-surface-code:#111318;--tp-foreground:#17191d;--tp-muted:#5d6470;--tp-subtle:#7c8491;--tp-border:#dfe2e7;--tp-border-strong:#c7cbd2;--tp-accent:#5b4df5;--tp-accent-contrast:#fff;--tp-focus:#6d5dfc;--tp-code-foreground:#e8eaf0;--tp-code-muted:#8b93a3;--tp-highlight:rgba(255,205,74,.15);--tp-dev-shadow:0 1px 2px rgba(15,18,25,.04);box-sizing:border-box;color:var(--tp-foreground);color-scheme:light;font-family:var(--tp-font-sans);font-size:16px;line-height:1.6}.tpe-developer.is-theme-dark{--tp-surface:#15171b;--tp-surface-elevated:#1a1d22;--tp-surface-muted:#20242a;--tp-surface-code:#0d0f12;--tp-foreground:#f2f3f5;--tp-muted:#b0b6c0;--tp-subtle:#9098a5;--tp-border:#30343c;--tp-border-strong:#424854;--tp-accent:#9b8cff;--tp-accent-contrast:#111216;--tp-focus:#aa9dff;--tp-code-foreground:#edf0f5;--tp-code-muted:#8f98a8;--tp-dev-shadow:0 1px 2px rgba(0,0,0,.22);color-scheme:dark}@media (prefers-color-scheme:dark){.tpe-developer.is-theme-auto{--tp-surface:#15171b;--tp-surface-elevated:#1a1d22;--tp-surface-muted:#20242a;--tp-surface-code:#0d0f12;--tp-foreground:#f2f3f5;--tp-muted:#b0b6c0;--tp-subtle:#9098a5;--tp-border:#30343c;--tp-border-strong:#424854;--tp-accent:#9b8cff;--tp-accent-contrast:#111216;--tp-focus:#aa9dff;--tp-code-foreground:#edf0f5;--tp-code-muted:#8f98a8;--tp-dev-shadow:0 1px 2px rgba(0,0,0,.22);color-scheme:dark}}.tpe-developer,.tpe-developer *{box-sizing:border-box}.tpe-developer h2,.tpe-developer h3,.tpe-developer p,.tpe-developer ul{margin-top:0}.tpe-developer h2,.tpe-developer h3{color:var(--tp-foreground);font-family:var(--tp-font-sans);letter-spacing:-.025em;line-height:1.2}.tpe-developer h2{font-size:clamp(1.75rem,4vw,2.5rem);margin-bottom:var(--tp-space-4)}.tpe-developer h3{font-size:1rem;margin-bottom:var(--tp-space-2)}.tpe-developer p{color:var(--tp-muted);margin-bottom:var(--tp-space-4);max-width:68ch}.tpe-developer a{color:inherit;text-underline-offset:3px}.tpe-developer :is(a,button):focus-visible{outline:3px solid var(--tp-focus);outline-offset:3px}.tpe-developer :is(a,button){scroll-margin:var(--tp-space-4)}.tpe-developer.is-density-compact{--tp-space-6:16px;--tp-space-8:24px}.tpe-github-code,.tpe-github-project,.tpe-project-metrics,.tpe-tech-stack{background:var(--tp-surface);border:1px solid var(--tp-border);border-radius:var(--tp-radius-lg);box-shadow:var(--tp-dev-shadow);margin-block:var(--tp-space-6);padding:var(--tp-space-6)}.tpe-github-project{overflow:hidden;padding:var(--tp-space-8);position:relative;transition:border-color .16s ease,transform .16s ease}.tpe-github-project:hover{border-color:var(--tp-border-strong);transform:translateY(-1px)}.tpe-github-project>h3{font-size:clamp(1.35rem,3vw,1.75rem);margin-bottom:var(--tp-space-3)}.tpe-github-project.is-layout-minimal{background:transparent;border-inline:0;border-radius:0;box-shadow:none;padding-inline:0}.tpe-github-project.is-layout-developer{border-left:3px solid var(--tp-accent);border-radius:var(--tp-radius-md);padding-left:calc(var(--tp-space-8) - 2px)}.tpe-meta,.tpe-tech-stack ul,.tpe-topics{display:flex;flex-wrap:wrap;gap:var(--tp-space-2);list-style:none;margin-bottom:var(--tp-space-4);padding:0}.tpe-meta{color:var(--tp-muted);font-family:var(--tp-font-mono);font-size:.78rem;font-variant-numeric:tabular-nums}.tpe-meta li+li:before{color:var(--tp-border-strong);content:"·";margin-right:var(--tp-space-2)}.tpe-tech-stack.is-layout-badges li,.tpe-topics span{background:var(--tp-surface-muted);border:1px solid var(--tp-border);border-radius:var(--tp-radius-sm);color:var(--tp-foreground);font-size:.8rem;line-height:1.5;padding:var(--tp-space-1) var(--tp-space-3)}.tpe-button,.tpe-developer .components-button{align-items:center;background:var(--tp-surface-elevated);border:1px solid var(--tp-border-strong);border-radius:var(--tp-radius-sm);color:var(--tp-foreground);display:inline-flex;font-size:.82rem;font-weight:600;justify-content:center;line-height:1;margin:var(--tp-space-2) var(--tp-space-2) 0 0;min-height:36px;padding:var(--tp-space-2) var(--tp-space-4);text-decoration:none;transition:background-color .14s ease,border-color .14s ease,transform .14s ease}.tpe-github-code{background:var(--tp-surface-elevated);overflow:hidden;padding:0}.tpe-github-code>.components-button,.tpe-github-code>a,.tpe-github-code>h3,.tpe-github-code>p,.tpe-github-code>strong{margin-inline:0}.tpe-code-header{align-items:center;display:flex;gap:var(--tp-space-4);justify-content:space-between;min-width:0;padding:var(--tp-space-3) var(--tp-space-4)}.tpe-code-header>figcaption,.tpe-code-header>strong{color:var(--tp-muted);display:block;font-family:var(--tp-font-mono);font-size:.8rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tpe-code-copy{background:var(--tp-surface-muted);border:1px solid var(--tp-border);border-radius:var(--tp-radius-sm);color:var(--tp-foreground);cursor:pointer;flex:0 0 auto;font:600 .75rem/1 var(--tp-font-sans);min-height:32px;padding:var(--tp-space-1) var(--tp-space-3)}.tpe-github-code pre{background:var(--tp-surface-code);border-block:1px solid var(--tp-border);color:var(--tp-code-foreground);font:.875rem/1.65 var(--tp-font-mono);margin:0;max-width:100%;overflow:auto;overscroll-behavior-inline:contain;padding:var(--tp-space-4) 0;-moz-tab-size:2;-o-tab-size:2;tab-size:2}.tpe-github-code>a{color:var(--tp-muted);display:inline-block;font-family:var(--tp-font-mono);font-size:.75rem;font-weight:600;margin:var(--tp-space-3) var(--tp-space-4)}.tpe-developer a:hover{color:var(--tp-accent)}.tpe-button:hover,.tpe-developer .components-button:hover{background:var(--tp-surface-muted);border-color:var(--tp-accent);transform:translateY(-1px)}.tpe-code-line{display:block;min-width:-moz-max-content;min-width:max-content;padding-inline:var(--tp-space-4);white-space:pre}.tpe-code-line.is-highlighted{background:var(--tp-highlight);box-shadow:inset 2px 0 var(--tp-accent)}.tpe-code-line b{border-right:1px solid rgba(143,152,168,.22);color:var(--tp-code-muted);display:inline-block;font-weight:400;margin-right:var(--tp-space-4);padding-right:var(--tp-space-3);text-align:right;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:3rem}.tpe-github-project:before{background:linear-gradient(90deg,transparent,var(--tp-accent),transparent);content:"";height:1px;left:var(--tp-space-8);opacity:.55;position:absolute;right:var(--tp-space-8);top:0}.tpe-code-eyebrow,.tpe-project-eyebrow{align-items:center;color:var(--tp-muted);display:flex;font-size:.75rem;font-weight:700;gap:var(--tp-space-2);letter-spacing:.08em;line-height:1.4;margin-bottom:var(--tp-space-4);text-transform:uppercase}.tpe-file-icon,.tpe-repo-icon{border:1.5px solid;border-radius:2px;display:inline-block;flex:0 0 auto;height:15px;position:relative;width:13px}.tpe-file-icon:after,.tpe-repo-icon:after{background:var(--tp-surface);border-bottom:1.5px solid;border-left:1.5px solid;content:"";height:5px;position:absolute;right:-1.5px;top:-1.5px;width:5px}.tpe-project-content{max-width:48rem}.tpe-project-content .tpe-project-title{font-size:clamp(1.5rem,4vw,2.125rem);font-weight:700;letter-spacing:-.035em;margin-bottom:var(--tp-space-3);margin-top:0}.tpe-project-content>p{font-size:1rem;line-height:1.7;margin-bottom:0;max-width:46rem}.tpe-project-footer{align-items:flex-end;display:flex;gap:var(--tp-space-6);justify-content:space-between;margin-top:var(--tp-space-8)}.tpe-code-heading,.tpe-project-footer>div:first-child{min-width:0}.tpe-project-actions{display:flex;flex:0 0 auto;flex-wrap:wrap;gap:var(--tp-space-2);justify-content:flex-end}.tpe-github-project .tpe-meta{align-items:center;font-family:var(--tp-font-sans);font-size:.875rem;font-weight:550;gap:var(--tp-space-3) var(--tp-space-4)}.tpe-github-project .tpe-meta li:before{display:none}.tpe-github-project .tpe-meta li{align-items:center;display:inline-flex;gap:var(--tp-space-1)}.tpe-github-project .tpe-meta .tpe-language:before{background:var(--tp-accent);border-radius:50%;content:"";display:block;height:8px;width:8px}.tpe-button.is-primary,.tpe-button.is-primary:hover{background:var(--tp-accent);border-color:var(--tp-accent);color:var(--tp-accent-contrast)}.tpe-button.is-primary:hover{filter:brightness(1.06)}.tpe-github-code .tpe-code-header{align-items:flex-start;gap:var(--tp-space-6);padding:var(--tp-space-6)}.tpe-code-heading .tpe-code-eyebrow{margin-bottom:var(--tp-space-2)}.tpe-code-heading .tpe-code-title{font-size:clamp(1.125rem,3vw,1.35rem);font-weight:700;margin-bottom:var(--tp-space-1);margin-top:0}.tpe-code-heading>figcaption,.tpe-code-heading>strong{color:var(--tp-muted);display:block;font-family:var(--tp-font-mono);font-size:.8125rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tpe-code-heading>p{font-size:.925rem;line-height:1.6;margin:var(--tp-space-3) 0 0}.tpe-github-code .tpe-code-copy{align-items:center;display:inline-flex;gap:var(--tp-space-2);min-height:36px;padding:var(--tp-space-2) var(--tp-space-3)}.tpe-copy-icon{border:1.5px solid;border-radius:2px;display:inline-block;height:13px;position:relative;width:12px}.tpe-copy-icon:before{border:1.5px solid;border-bottom:0;border-radius:2px 0 0;border-right:0;content:"";height:10px;left:-4px;position:absolute;top:-4px;width:9px}.tpe-code-footer{align-items:center;color:var(--tp-muted);display:flex;font-family:var(--tp-font-mono);font-size:.78rem;font-variant-numeric:tabular-nums;gap:var(--tp-space-4);justify-content:space-between;min-height:52px;padding:var(--tp-space-3) var(--tp-space-6)}.tpe-code-footer>a{color:var(--tp-muted);font-weight:600;text-decoration:none}.tpe-code-footer>.components-button{margin:0}.tpe-github-project.is-layout-minimal:before{display:none}.tpe-tech-stack.is-layout-inline ul{gap:0}.tpe-tech-stack.is-layout-inline li{color:var(--tp-muted)}.tpe-tech-stack.is-layout-inline li:not(:last-child):after{color:var(--tp-border-strong);content:"·";margin-inline:var(--tp-space-2)}.tpe-tech-stack.is-layout-detailed ul{display:grid;gap:0}.tpe-tech-stack.is-layout-detailed li{border-bottom:1px solid var(--tp-border);display:grid;gap:var(--tp-space-4);grid-template-columns:minmax(8rem,1fr) 1fr;padding-block:var(--tp-space-3)}.tpe-tech-stack.is-layout-detailed li:last-child{border-bottom:0}.tpe-tech-stack small{color:var(--tp-muted);font-family:var(--tp-font-mono);font-variant-numeric:tabular-nums}.tpe-case-study{background:transparent;color:var(--tp-foreground);margin-block:var(--tp-space-12)}.tpe-case-study>img{border-radius:var(--tp-radius-lg);margin-bottom:var(--tp-space-8);max-height:34rem;-o-object-fit:cover;object-fit:cover;width:100%}.tpe-case-study>h2{max-width:22ch}.tpe-case-study>p{font-size:1.05rem}.tpe-case-study>section{border-top:1px solid var(--tp-border);display:grid;gap:var(--tp-space-8);grid-template-columns:minmax(8rem,.35fr) minmax(0,1fr);padding-block:var(--tp-space-8)}.tpe-case-study>section h3{color:var(--tp-muted);font-family:var(--tp-font-mono);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase}.tpe-case-study>section:first-of-type h3:before{content:"01 — "}.tpe-case-study>section:nth-of-type(2) h3:before{content:"02 — "}.tpe-case-study>section:nth-of-type(3) h3:before{content:"03 — "}.tpe-case-study>p:has(strong),.tpe-case-study>time{color:var(--tp-muted);display:inline-block;font-family:var(--tp-font-mono);font-size:.8rem;margin-right:var(--tp-space-6)}.tpe-case-study.is-layout-compact>section{padding-block:var(--tp-space-4)}.tpe-case-study.is-layout-recruiter{border-left:2px solid var(--tp-accent);padding-left:var(--tp-space-6)}.tpe-project-metrics{display:grid;gap:var(--tp-space-3)}.tpe-project-metrics.is-layout-metrics-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr))}.tpe-project-metrics article{background:var(--tp-surface-elevated);border:1px solid var(--tp-border);border-radius:var(--tp-radius-md);min-width:0;padding:var(--tp-space-4)}.tpe-project-metrics article .tpe-metric-label{color:var(--tp-muted);font-size:.75rem;letter-spacing:.08em;margin-top:0;text-transform:uppercase}.tpe-project-metrics article>p:first-of-type{align-items:baseline;color:var(--tp-subtle);display:flex;flex-wrap:wrap;font-family:var(--tp-font-mono);font-variant-numeric:tabular-nums;gap:var(--tp-space-2)}.tpe-project-metrics article strong{color:var(--tp-foreground);font-size:clamp(1.65rem,5vw,2.4rem);font-weight:650;letter-spacing:-.04em}.tpe-project-metrics article small{color:var(--tp-muted);display:block;font-weight:600;margin-bottom:var(--tp-space-2)}.tpe-project-metrics.is-layout-before-after article{align-items:center;display:grid;gap:var(--tp-space-4);grid-template-columns:minmax(7rem,.5fr) 1fr}.tpe-project-metrics.is-layout-compact{padding:var(--tp-space-3)}.tpe-project-metrics.is-layout-compact article{align-items:baseline;display:flex;gap:var(--tp-space-4);justify-content:space-between;padding:var(--tp-space-3)}.tpe-row{background:var(--tp-surface-muted);border:1px dashed var(--tp-border-strong);margin-block:var(--tp-space-4);padding:var(--tp-space-4)}.tpe-row,.tpe-skeleton{border-radius:var(--tp-radius-md)}.tpe-skeleton{animation:tpe-loading 1.5s ease-in-out infinite;background:linear-gradient(90deg,var(--tp-surface-muted),var(--tp-surface-elevated),var(--tp-surface-muted));background-size:200% 100%;min-height:10rem}.tpe-error{background:var(--tp-surface-muted);border-left:2px solid #c94b4b;color:var(--tp-foreground);padding:var(--tp-space-3)}.tpe-checking{color:var(--tp-muted);display:block;font-family:var(--tp-font-mono);font-size:.75rem;margin-block:var(--tp-space-2)}@keyframes tpe-loading{to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.tpe-developer *,.tpe-developer :after,.tpe-developer :before{animation-duration:.01ms;animation-iteration-count:1;scroll-behavior:auto;transition-duration:.01ms}}@media (max-width:600px){.tpe-github-project,.tpe-project-metrics,.tpe-tech-stack{padding:var(--tp-space-4)}.tpe-github-project:before{left:var(--tp-space-4);right:var(--tp-space-4)}.tpe-code-footer,.tpe-github-code .tpe-code-header,.tpe-project-footer{align-items:stretch;flex-direction:column}.tpe-project-footer{margin-top:var(--tp-space-6)}.tpe-project-actions{justify-content:flex-start}.tpe-project-actions .tpe-button{flex:1 1 auto}.tpe-code-footer,.tpe-github-code .tpe-code-header{padding:var(--tp-space-4)}.tpe-github-code .tpe-code-copy{align-self:flex-start}.tpe-case-study{margin-block:var(--tp-space-8)}.tpe-case-study>section{gap:var(--tp-space-2);padding-block:var(--tp-space-6)}.tpe-case-study>section,.tpe-project-metrics.is-layout-before-after article{grid-template-columns:1fr}.tpe-project-metrics.is-layout-compact article{align-items:flex-start;flex-direction:column}.tpe-tech-stack.is-layout-detailed li{gap:0;grid-template-columns:1fr}.tpe-code-line{padding-inline:var(--tp-space-3)}.tpe-code-line b{margin-right:var(--tp-space-3);width:2.25rem}}
