.portfolio .tech-sandbox{--tech-chip-fill:rgb(255 255 255/62%);--tech-chip-line:rgb(24 24 27/6%);min-width:0}.dark .portfolio .tech-sandbox{--tech-chip-fill:rgb(255 255 255/3%);--tech-chip-line:rgb(255 255 255/7%)}.tech-sandbox-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;min-height:22px}.portfolio .tech-sandbox-header .summary-block-head{margin:0}.portfolio .tech-marquee-toggle{display:grid;place-items:center;flex-shrink:0;width:28px;height:28px;margin:-3px 0;padding:0;border:1px solid var(--soft-line);border-radius:8px;background:transparent;color:var(--muted)}.portfolio .tech-marquee-toggle:hover{color:var(--ink);background:var(--surface)}.tech-marquee-panel{overflow:hidden;padding:16px 0;border:1px solid var(--card-border);border-radius:20px;background:var(--card-gradient);box-shadow:var(--card-shadow)}.tech-marquee-viewport{display:grid;gap:10px;mask-image:linear-gradient(90deg,transparent,#000 36px,#000 calc(100% - 36px),transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 36px,#000 calc(100% - 36px),transparent)}.tech-marquee-row{min-width:0;overflow:hidden}.tech-marquee-track{display:flex;width:-moz-max-content;width:max-content;animation:tech-marquee-drift 60s linear infinite;animation-play-state:paused}.tech-marquee-row:nth-child(2) .tech-marquee-track{animation-duration:68s;animation-direction:reverse}.tech-marquee-row:nth-child(3) .tech-marquee-track{animation-duration:56s}.tech-marquee-group{display:flex;flex-shrink:0;gap:10px;padding-right:10px}.tech-marquee-pill{display:grid;flex-shrink:0;place-items:center;width:40px;height:40px;padding:0;border:1px solid var(--tech-chip-line);border-radius:9px;background:var(--tech-chip-fill)}.tech-marquee-pill img{flex-shrink:0;width:22px;height:22px;-o-object-fit:contain;object-fit:contain}.dark .tech-marquee-pill--mono img{filter:invert(1)}.tech-sandbox[data-playing=true] .tech-marquee-track{animation-play-state:running}.tech-marquee-panel:hover .tech-marquee-track{animation-play-state:paused}@keyframes tech-marquee-drift{to{transform:translateX(-50%)}}@media (prefers-reduced-motion:reduce){.tech-marquee-toggle{display:none!important}.tech-marquee-panel{padding:16px}.tech-marquee-viewport{mask-image:none;-webkit-mask-image:none}.tech-marquee-track{width:auto;animation:none}.tech-marquee-group{flex-wrap:wrap;width:100%;min-width:0;padding:0}.tech-marquee-group+.tech-marquee-group,.tech-marquee-pill[data-duplicate=true]{display:none}}