.page-tech-stack code,.page-tech-stack kbd{font-family:var(--font-mono);background:var(--bg-alt);border:1px solid var(--border-soft);border-radius:var(--radius-sm);padding:.05em .3em;font-size:.85em}.tech-principles{gap:var(--space-md);counter-reset:principle;grid-template-columns:1fr;margin:0;padding:0;list-style:none;display:grid}@media (width>=640px){.tech-principles{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1024px){.tech-principles{grid-template-columns:repeat(5,minmax(0,1fr))}}.tech-principles>li{padding:var(--space-md) var(--space-md) var(--space-md) calc(var(--space-md) + 2.5rem);background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--ink);counter-increment:principle;position:relative}.tech-principles>li:before{content:counter(principle, decimal-leading-zero);top:var(--space-md);left:var(--space-md);font-family:var(--font-display);font-size:1.1rem;font-weight:var(--fw-bold);color:var(--ink-muted);letter-spacing:-.02em;position:absolute}.tech-principles h3{font-family:var(--font-display);font-size:1.05rem;font-weight:var(--fw-semibold);color:var(--heading);margin:0 0 .4rem;line-height:1.25}.tech-principles p{font-family:var(--font-serif);color:var(--text-soft);margin:0;font-size:.92rem;line-height:1.5}.tech-stack-grid{gap:var(--space-md);grid-template-columns:1fr;display:grid}@media (width>=768px){.tech-stack-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1100px){.tech-stack-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.tech-card{gap:var(--space-sm);padding:var(--space-md) var(--space-lg) var(--space-lg);background:var(--surface);border:1px solid var(--border);flex-direction:column;display:flex}.tech-card header{flex-direction:column;gap:.25rem;display:flex}.tech-card-tier{font-family:var(--font-sans);font-size:.7rem;font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.16em;color:var(--text-muted)}.tech-card h3{font-family:var(--font-display);font-size:1.2rem;font-weight:var(--fw-bold);color:var(--heading);letter-spacing:-.005em;margin:0;line-height:1.2}.tech-card>p{font-family:var(--font-serif);color:var(--text);margin:0;font-size:.95rem;line-height:1.55}.tech-card-list{margin:var(--space-sm) 0 0;font-family:var(--font-sans);color:var(--text-soft);border-top:1px solid var(--border-soft);padding:0;padding-top:var(--space-sm);flex-direction:column;gap:.55rem;font-size:.85rem;line-height:1.5;list-style:none;display:flex}.tech-card-list li{padding-left:.85rem;position:relative}.tech-card-list li:before{content:"›";color:var(--ink-muted);font-weight:var(--fw-bold);position:absolute;top:-.05em;left:0}.tech-card-list strong{font-weight:var(--fw-semibold);color:var(--ink)}.tech-card a{color:var(--ink);border-bottom:1px solid var(--border);text-decoration:none}.tech-card a:hover{border-bottom-color:var(--ink)}.tech-repo-list{gap:var(--space-sm);grid-template-columns:1fr;margin:0;padding:0;list-style:none;display:grid}@media (width>=640px){.tech-repo-list{grid-template-columns:repeat(2,minmax(0,1fr))}}.tech-repo-list a{padding:var(--space-sm) var(--space-md);background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--ink);color:inherit;transition:background var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease);flex-direction:column;gap:.15rem;text-decoration:none;display:flex}.tech-repo-list a:hover,.tech-repo-list a:focus-visible{background:var(--bg-alt);border-color:var(--ink)}.tech-repo-label{font-family:var(--font-display);font-size:1rem;font-weight:var(--fw-semibold);color:var(--heading)}.tech-repo-note{font-family:var(--font-sans);color:var(--text-muted);letter-spacing:.04em;font-size:.78rem}.tech-pipeline{gap:var(--space-md);border-left:2px solid var(--border);padding:0;padding-left:var(--space-md);flex-direction:column;margin:0;list-style:none;display:flex}.tech-pipeline>li{gap:var(--space-sm);grid-template-columns:2.5rem minmax(0,1fr);align-items:baseline;display:grid}.tech-pipeline-step{font-family:var(--font-display);font-size:1.6rem;font-weight:var(--fw-bold);color:var(--ink);letter-spacing:-.02em;line-height:1}.tech-pipeline h3{font-family:var(--font-display);font-size:1.1rem;font-weight:var(--fw-semibold);color:var(--heading);margin:0 0 .25rem}.tech-pipeline p{font-family:var(--font-serif);color:var(--text-soft);margin:0;font-size:.95rem;line-height:1.55}