/* Terminal — a developer's profile as a shell session. */
:root { --t-font-display: "JetBrains Mono", ui-monospace, monospace; --t-font-body: "Inter", system-ui, sans-serif; --t-font-mono: "JetBrains Mono", ui-monospace, monospace; --t-max: 1000px; --t-radius: 10px; --t-radius-sm: 6px; --t-radius-pill: 6px; }

/* the window */
.t-term { grid-template-columns: 1fr; gap: 0; padding: 0; margin-block-start: clamp(20px, 4vw, 40px); background: var(--t-surface); border: 1px solid var(--t-line); border-radius: var(--t-radius); overflow: hidden; box-shadow: 0 30px 80px -40px rgba(0,0,0,.6); font-family: var(--t-font-mono); }
.t-term__bar { display: flex; align-items: center; gap: 8px; padding: 10px 14px; background: var(--t-surface2); border-block-end: 1px solid var(--t-line); font-size: var(--t-size-0); color: var(--t-muted); }
.t-term__dot { width: 12px; height: 12px; border-radius: 50%; background: var(--t-line); }
.t-term__dot:first-child { background: var(--t-accent2); }
.t-term__title { margin-inline: auto; }
.t-term__body { padding: clamp(18px, 3vw, 32px); display: grid; gap: 14px; }
.t-term__id { display: grid; gap: 20px; }
@media (min-width: 600px) { .t-term__id { grid-template-columns: auto 1fr; } }
.t-term__photo .t-photo { width: 120px; border-radius: var(--t-radius-sm); box-shadow: none; border: 1px solid var(--t-line); }
.t-term__line { margin: 0; font-size: var(--t-size-1); color: var(--t-muted); }
.t-term__prompt { color: var(--t-accent-text); font-weight: 700; }
.t-term__cmd { color: var(--t-text); }
.t-term__out { margin: 0; color: var(--t-muted); }
.t-term .t-name { font-family: var(--t-font-mono); font-weight: 700; font-size: clamp(1.8rem, 4.5vw, 2.8rem); letter-spacing: -0.02em; margin-block: 2px 10px; }
.t-term .t-name::before { content: "> "; color: var(--t-accent-text); }
.t-term .t-headline { font-family: var(--t-font-body); margin-block: 2px 12px; color: var(--t-text); }
.t-term .t-tagline { font-family: var(--t-font-body); margin-block: 2px 12px; }
.t-term .t-links { margin-block: 4px 10px; }
.t-term .t-link { font-family: var(--t-font-mono); font-size: var(--t-size-0); border-radius: var(--t-radius-sm); background: var(--t-surface2); }
.t-term .t-link::before { content: "./"; color: var(--t-muted); }
.t-term .t-actions { margin-block: 4px 12px; }
.t-term .t-stats { margin-block: 4px 10px; gap: 16px 32px; }
.t-term .t-stats strong { font-family: var(--t-font-mono); font-weight: 700; font-size: var(--t-size-4); color: var(--t-accent-text); }
.t-term .t-stats span { font-family: var(--t-font-mono); }
.t-term__cursor { display: inline-block; width: .6em; height: 1.1em; background: var(--t-accent); vertical-align: text-bottom; animation: blink 1.1s steps(2) infinite; }
@keyframes blink { 50% { opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .t-term__cursor { animation: none; } }
.btn { --bs-btn-border-radius: 6px; --bs-btn-font-weight: 600; font-family: var(--t-font-mono); font-size: var(--t-size-0); }

/* sections as markdown headings */
.t-section__title { font-family: var(--t-font-mono); font-weight: 700; font-size: clamp(1.2rem, 2.2vw, 1.5rem); }
.t-section__title::before { content: "## "; color: var(--t-accent-text); }
.t-section--summary .t-section__title { display: none; }
.t-summary { border-inline-start: 3px solid var(--t-accent); padding-inline-start: 16px; color: var(--t-muted); font-size: var(--t-size-2); }
.t-chip { font-family: var(--t-font-mono); font-size: var(--t-size-0); background: var(--t-surface); border-color: var(--t-line); }
.t-skillgroup h3 { font-family: var(--t-font-mono); }
.t-skillgroup h3::before { content: "// "; }
.t-timeline__when { font-family: var(--t-font-mono); color: var(--t-accent-text); }
.t-timeline__when::before { content: "# "; color: var(--t-muted); }
.t-item__title { font-family: var(--t-font-mono); font-weight: 700; }
.t-card .t-item__title::before { content: "$ "; color: var(--t-accent-text); }
.t-card__media { display: none; }
.t-tags .badge { font-family: var(--t-font-mono); background: var(--t-surface2); }
.t-tags .badge::before { content: "#"; }
.t-quote blockquote { font-family: var(--t-font-mono); font-size: var(--t-size-2); }
.t-quote blockquote::before { content: "/* "; color: var(--t-muted); } .t-quote blockquote::after { content: " */"; color: var(--t-muted); }
.t-list span { font-family: var(--t-font-mono); }
.form-control { font-family: var(--t-font-mono); border-radius: var(--t-radius-sm); }
.t-footer { font-family: var(--t-font-mono); }
