:root{--page-bg:var(--color-background-primary,#fff);--surface:var(--color-background-secondary,#f8f9fa);--text-1:var(--color-text-primary,#0d0d0d);--text-2:var(--color-text-secondary,#6b7280);--text-3:var(--color-text-muted,#9ca3af);--border:var(--color-border-primary,#e5e7eb);--accent:var(--color-accent-blue,#2563eb);--accent-glow:#2563eb1f;--badge-green-text:#16a34a;--badge-green-bg:#16a34a14;--badge-orange-text:#d97706;--badge-orange-bg:#d9770614;--badge-blue-text:#2563eb;--badge-blue-bg:#2563eb14;--badge-purple-text:#7c3aed;--badge-purple-bg:#7c3aed14;--ease-out-expo:cubic-bezier(.16, 1, .3, 1);--duration-enter:.5s}[data-theme=dark]{--page-bg:#0d0d0d;--surface:#1a1a1a;--text-1:#fff;--text-2:#a1a1a1;--text-3:#666;--border:#2a2a2a;--accent:#3b82f6;--accent-glow:#3b82f61f;--badge-green-text:#4ade80;--badge-green-bg:#4ade8014;--badge-orange-text:#fb923c;--badge-orange-bg:#fb923c14;--badge-blue-text:#60a5fa;--badge-blue-bg:#60a5fa14;--badge-purple-text:#a78bfa;--badge-purple-bg:#a78bfa14}.work-page{background-color:var(--page-bg);min-height:100vh;color:var(--text-1);padding-bottom:7rem;transition:background-color .3s,color .3s}.work-container{max-width:720px;margin:0 auto;padding:3.5rem 1.5rem 2rem}.page-header{margin-bottom:3rem}.page-label{letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:.75rem;font-family:IBM Plex Mono,monospace;font-size:.6875rem;font-weight:400}.page-title{letter-spacing:-.02em;color:var(--text-1);text-wrap:balance;margin:0 0 .75rem;font-family:IBM Plex Mono,monospace;font-size:clamp(1.75rem,4vw,2.5rem);font-weight:700;line-height:1.1}.page-subtitle{color:var(--text-2);max-width:52ch;font-size:.9375rem;font-weight:400;line-height:1.55}.timeline{flex-direction:column;gap:0;display:flex;position:relative}.timeline:before{content:"";background:var(--border);width:1px;transition:background .3s;position:absolute;top:12px;bottom:12px;left:23px}.entry{opacity:0;transition:opacity var(--duration-enter) var(--ease-out-expo), transform var(--duration-enter) var(--ease-out-expo);grid-template-columns:48px 1fr;gap:0 1.25rem;padding-bottom:2.5rem;display:grid;position:relative;transform:translateY(16px)}.entry.is-visible{opacity:1;transform:translateY(0)}.entry:last-child{padding-bottom:0}.logo-wrapper{border:1px solid var(--border);background:var(--surface);z-index:1;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;transition:border-color .2s,background .3s;display:flex;position:relative;overflow:hidden}.entry:hover .logo-wrapper{border-color:var(--accent)}.company-logo{object-fit:contain;border-radius:6px;width:36px;height:36px}.logo-initial{background:var(--accent-glow);border-color:color-mix(in srgb, var(--accent) 30%, transparent)}.initial-letter{color:var(--accent);-webkit-user-select:none;user-select:none;font-family:IBM Plex Mono,monospace;font-size:1.25rem;font-weight:700;line-height:1}.entry-body{min-width:0}.entry-meta{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.375rem;display:flex}.entry-titles{min-width:0}.company-name{color:var(--text-1);letter-spacing:-.01em;text-wrap:balance;margin:0 0 .1875rem;font-family:IBM Plex Mono,monospace;font-size:1rem;font-weight:700;line-height:1.2}.role-name{color:var(--text-2);margin:0;font-size:.875rem;font-weight:400;line-height:1.4}.entry-aside{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:.375rem;display:flex}.type-badge{letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;border-radius:4px;align-items:center;gap:.25rem;padding:.1875rem .5rem;font-size:.6875rem;font-weight:500;line-height:1;display:inline-flex}.date-range{color:var(--text-3);white-space:nowrap;font-variant-numeric:tabular-nums;align-items:center;gap:.3rem;font-size:.75rem;font-weight:400;display:flex}.date-range svg{opacity:.6;flex-shrink:0}.visit-link{color:var(--accent);border:1px solid color-mix(in srgb, var(--accent) 25%, transparent);background:var(--accent-glow);white-space:nowrap;border-radius:6px;align-items:center;gap:.3rem;padding:.25rem .625rem;font-size:.75rem;font-weight:500;text-decoration:none;transition:background .15s,border-color .15s,transform .1s;display:inline-flex}.visit-link:hover{background:color-mix(in srgb, var(--accent) 18%, transparent);border-color:color-mix(in srgb, var(--accent) 50%, transparent)}.visit-link:active{transform:scale(.97)}.entry-description{color:var(--text-2);max-width:58ch;margin:.625rem 0 .875rem;font-size:.875rem;font-weight:400;line-height:1.55}.achievements{flex-direction:column;gap:.5rem;margin:0 0 1rem;padding:0;list-style:none;display:flex}.achievement-item{color:var(--text-2);grid-template-columns:16px 1fr;align-items:baseline;gap:.4rem;font-size:.8125rem;line-height:1.55;display:grid}.achievement-dot{background:var(--accent);opacity:.5;border-radius:50%;flex-shrink:0;justify-self:center;width:4px;height:4px;margin-top:.45em;transition:opacity .2s}.entry:hover .achievement-dot{opacity:.8}.tech-list{flex-wrap:wrap;gap:.375rem;display:flex}.tech-chip{letter-spacing:.01em;color:var(--text-3);background:var(--surface);border:1px solid var(--border);white-space:nowrap;border-radius:4px;padding:.1875rem .5rem;font-family:IBM Plex Mono,monospace;font-size:.6875rem;font-weight:400;line-height:1.5;transition:color .15s,border-color .15s,background .3s}.entry:hover .tech-chip{color:var(--text-2);border-color:color-mix(in srgb, var(--border) 80%, var(--accent) 20%)}.entry:not(:last-child) .entry-body:after{content:"";background:var(--border);height:1px;margin-top:2.5rem;transition:background .3s;display:block}.location-tag{color:var(--text-3);align-items:center;gap:.25rem;margin-left:.5rem;font-size:.75rem;display:inline-flex}@media (prefers-reduced-motion:reduce){.entry{opacity:1;transition:none;transform:none}}@media (max-width:480px){.work-container{padding:2.5rem 1rem 2rem}.entry-meta{flex-direction:column;gap:.5rem}.entry-aside{flex-flow:wrap;align-items:center;gap:.5rem}.timeline:before{left:23px}}
