.spotify-widget{margin:var(--space-xl) 0 var(--space-lg);padding:var(--space-md);background-color:var(--bg-surface);border:1px solid var(--rule);border-top:var(--accent-rule) solid var(--tone);border-radius:var(--radius)}.spotify-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-xs) var(--space-md);margin-bottom:var(--space-sm);padding-bottom:var(--space-sm);border-bottom:1px solid var(--rule)}.spotify-brand{display:flex;align-items:center;gap:.5rem}.spotify-icon{flex-shrink:0}.playing-badge{display:inline-flex;align-items:center;gap:.4rem;padding:.15rem .45rem;border:1px solid var(--rule);border-radius:var(--radius);font-family:var(--font-mono);font-size:.66rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.playing-badge.pulse{border-color:var(--tone);color:var(--tone)}.playing-badge.muted{color:var(--text-muted)}.pulse-dot{width:6px;height:6px;background-color:var(--tone)}.spotify-track-card{display:flex;align-items:center;gap:var(--space-md);min-height:44px;padding:var(--space-xs) var(--space-xs) var(--space-xs) var(--space-sm);border-left:var(--accent-rule) solid transparent;color:inherit;text-decoration:none;transition:border-color .15s ease,background-color .15s ease}.spotify-track-card:hover,.spotify-track-card:focus-visible{border-left-color:var(--tone);background-color:var(--bg-surface-elevated);text-decoration:none}.album-art{flex-shrink:0;width:56px;height:56px;object-fit:cover;border:1px solid var(--rule)}.track-details{display:flex;flex:1;flex-direction:column;min-width:0;overflow:hidden}.song-title{overflow:hidden;font-family:var(--font-display);font-size:.95rem;font-weight:800;letter-spacing:-.02em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;color:var(--text-primary)}.artist-name{font-size:.85rem;color:var(--text-secondary)}.listener-note{margin-top:.1rem;font-family:var(--font-mono);font-size:.66rem;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.spotify-progress-container{width:100%;margin-top:.5rem}.spotify-progress-track{width:100%;height:4px;overflow:hidden;background-color:var(--rule)}.spotify-progress-fill{height:100%;background-color:var(--tone);transition:width .3s linear}.progress-time-labels{display:flex;justify-content:space-between;margin-top:.2rem;font-family:var(--font-mono);font-size:.66rem;color:var(--text-muted)}@media(prefers-reduced-motion:reduce){.spotify-progress-fill,.spotify-track-card{transition:none}}.profile-page[data-astro-cid-j2mbp2xm]{max-width:900px;padding-top:var(--space-xl)}.back-link[data-astro-cid-j2mbp2xm]{display:inline-flex;align-items:center;min-height:44px;margin-block:-.9rem;font-weight:800;color:var(--tone)}.back-link[data-astro-cid-j2mbp2xm]:before{content:"← ";content:"← " / ""}.profile-grid[data-astro-cid-j2mbp2xm]{display:flex;flex-direction:column;gap:var(--space-lg);padding-top:var(--space-lg)}.profile-avatar[data-astro-cid-j2mbp2xm]{width:120px;height:120px;object-fit:cover;border:1px solid var(--rule);border-top:var(--accent-rule) solid var(--tone);background-color:var(--bg-surface-elevated)}.info-col[data-astro-cid-j2mbp2xm]{flex:1;min-width:0}.profile-name[data-astro-cid-j2mbp2xm]{margin:0 0 var(--space-xs);font-size:clamp(2rem,8vw,3.6rem);overflow-wrap:anywhere}.profile-title-text[data-astro-cid-j2mbp2xm]{margin-bottom:var(--space-md);font-family:var(--font-mono);font-size:.85rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--tone)}.profile-bio-text[data-astro-cid-j2mbp2xm]{max-width:60ch;margin:0 0 var(--space-lg);font-size:1.02rem;line-height:1.65;color:var(--text-secondary)}.social-links-row[data-astro-cid-j2mbp2xm]{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.section-block[data-astro-cid-j2mbp2xm]{margin-top:var(--space-2xl)}.block-title[data-astro-cid-j2mbp2xm]{font-size:clamp(1.3rem,4.5vw,2rem)}.skills-list[data-astro-cid-j2mbp2xm]{display:flex;flex-wrap:wrap;gap:var(--space-xs);list-style:none;margin:0;padding:0}.skill-tag[data-astro-cid-j2mbp2xm]{padding:.35rem .6rem;border:1px solid var(--rule);border-left:var(--accent-rule) solid var(--tone);font-family:var(--font-mono);font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-primary)}.timeline[data-astro-cid-j2mbp2xm],.edu-list[data-astro-cid-j2mbp2xm]{list-style:none;margin:0;padding:0;border-bottom:1px solid var(--rule)}.timeline-item[data-astro-cid-j2mbp2xm],.edu-row[data-astro-cid-j2mbp2xm]{display:grid;grid-template-columns:1fr;gap:var(--space-xs) var(--space-lg);padding:var(--space-md) 0 var(--space-md) var(--space-sm);border-top:1px solid var(--rule);border-left:var(--accent-rule) solid var(--tone)}.exp-dates[data-astro-cid-j2mbp2xm],.edu-years[data-astro-cid-j2mbp2xm]{font-family:var(--font-mono);font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--label)}.exp-pos[data-astro-cid-j2mbp2xm]{margin:0 0 .15rem;font-family:var(--font-display);font-size:1.05rem;font-weight:800;letter-spacing:-.02em;text-transform:uppercase;color:var(--text-primary)}.exp-company[data-astro-cid-j2mbp2xm]{margin-bottom:var(--space-xs);font-size:.9rem;font-weight:600;color:var(--tone)}.exp-desc[data-astro-cid-j2mbp2xm]{margin:0;font-size:.92rem;line-height:1.6;color:var(--text-secondary)}.projects-grid[data-astro-cid-j2mbp2xm]{display:grid;grid-template-columns:1fr;gap:var(--space-md)}.project-card[data-astro-cid-j2mbp2xm]{display:flex;flex-direction:column;padding:0}.proj-img-wrap[data-astro-cid-j2mbp2xm]{aspect-ratio:16 / 9;overflow:hidden;border-bottom:1px solid var(--rule);background-color:var(--bg-surface-elevated)}.proj-img[data-astro-cid-j2mbp2xm]{width:100%;height:100%;object-fit:cover}.proj-body[data-astro-cid-j2mbp2xm]{display:flex;flex:1;flex-direction:column;padding:var(--space-md)}.proj-name[data-astro-cid-j2mbp2xm]{margin:0 0 var(--space-xs);font-family:var(--font-display);font-size:1rem;font-weight:800;letter-spacing:-.02em;text-transform:uppercase;color:var(--text-primary)}.proj-desc[data-astro-cid-j2mbp2xm]{margin:0 0 var(--space-sm);font-size:.9rem;line-height:1.55;color:var(--text-secondary)}.proj-link[data-astro-cid-j2mbp2xm]{margin-top:auto}.edu-degree[data-astro-cid-j2mbp2xm]{font-family:var(--font-display);font-size:1rem;font-weight:800;letter-spacing:-.02em;text-transform:uppercase;color:var(--text-primary)}.edu-school[data-astro-cid-j2mbp2xm]{font-size:.9rem;color:var(--text-secondary)}@media(min-width:640px){.profile-grid[data-astro-cid-j2mbp2xm]{flex-direction:row;align-items:flex-start}.profile-avatar[data-astro-cid-j2mbp2xm]{flex-shrink:0;width:140px;height:140px}.timeline-item[data-astro-cid-j2mbp2xm],.edu-row[data-astro-cid-j2mbp2xm]{grid-template-columns:11rem 1fr}.projects-grid[data-astro-cid-j2mbp2xm]{grid-template-columns:repeat(2,minmax(0,1fr))}}
