/* 03 terminal */
.terminal-section { margin-top:34px; }
.terminal-shell { max-width:70rem; margin-inline:auto; max-height:0; opacity:0; transform:translateY(14px); overflow:hidden; border-radius:14px; transition:max-height 360ms var(--ease-out),opacity 300ms var(--ease-out),transform 300ms var(--ease-out); }
.terminal-section.open .terminal-shell { max-height:760px; opacity:1; transform:translateY(0); border:1px solid var(--line); background:#0a0908; }
.terminal-toolbar { display:flex; align-items:center; gap:8px; padding:13px 18px; color:var(--faint); border-bottom:1px solid var(--line); font-family:var(--mono); font-size:.8rem; }
.terminal-toolbar strong { color:var(--muted); }
.dot-r { width:7px; height:7px; border-radius:50%; background:#2c2a26; }
.dot-r:first-child { background:var(--gold-deep); }
.dot-r:not(:first-child) { display:none; }
.terminal-output { height:clamp(360px,52vh,560px); padding:20px; overflow:auto; color:#d8d2c4; font-family:var(--mono); font-size:.85rem; line-height:1.4; white-space:pre; font-variant-numeric:tabular-nums; scrollbar-color:#665f54 transparent; }
.terminal-form { display:flex; gap:10px; align-items:center; padding:15px 20px; border-top:1px solid var(--line); color:var(--gold); font-family:var(--mono); font-size:.88rem; transition:box-shadow 220ms var(--ease-out); }
.terminal-form:focus-within { box-shadow:inset 0 0 0 1px var(--gold-deep); }
.terminal-form input { flex:1; border:0; outline:0; color:var(--ink); background:transparent; font-family:var(--mono); caret-color:var(--gold); }
.terminal-form input::placeholder { color:#8f897d; }
.section-note { margin-top:18px; color:var(--faint); font-size:.85rem; }
.terminal-section.open + .section-note { display:none; }
