:root { --card-bg:#0f0f10; --card-bd:#1f2937; --card-accent:#94a3b8; --muted:#9ca3af; }
.terminal-output .cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:1rem; margin-top:0.5rem; }
.terminal-output .card { opacity:0; transform:translateY(8px); background:var(--card-bg); border:1px solid var(--card-bd); padding:1rem; border-radius:.75rem; transition:opacity .4s ease, transform .4s ease; }
.terminal-output .card.in { opacity:1; transform:translateY(0); }
.terminal-output .badge { display:inline-block; font-size:.7rem; color:#e5e7eb; background:#111215; border:1px solid var(--card-bd); padding:.15rem .45rem; border-radius:999px; margin-bottom:.5rem; }
.terminal-output .card h4 { margin:.25rem 0 .35rem; color:#e5e7eb; font-weight:600; }
.terminal-output .card p { color:var(--muted); font-size:.9rem; }
.terminal-output .meters { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:1rem; margin:.5rem 0; }
.terminal-output .meter { background:#0b0b0b; border:1px solid var(--card-bd); border-radius:8px; padding:.65rem; }
.terminal-output .meter .bar { height:6px; background:#111215; border:1px solid #272b33; border-radius:4px; margin-top:.4rem; overflow:hidden; }
.terminal-output .meter .fill { height:100%; width:0; background:#e5e7eb; transition:width 800ms ease; }
.terminal-output .tools { display:flex; flex-wrap:wrap; gap:.5rem; margin-top:.5rem; }
.terminal-output .tag { font-size:.8rem; padding:.35rem .6rem; border:1px solid var(--card-bd); border-radius:999px; background:#0f1012; color:#cbd5e1; }

/* extended terminal color palette */
.terminal-output .c-red{color:#ff4444}
.terminal-output .c-green{color:#44ff44}
.terminal-output .c-yellow{color:#ffff44}
.terminal-output .c-blue{color:#4444ff}
.terminal-output .c-magenta{color:#ff44ff}
.terminal-output .c-cyan{color:#44ffff}
.terminal-output .c-gray{color:#888888}
.terminal-output .c-white{color:#ffffff}

/* subtle neon glow for highlighted text */
.terminal-output .c-green, .terminal-output .c-cyan, .terminal-output .c-yellow {
    text-shadow: 0 0 8px rgba(68,255,68,0.3), 0 0 18px rgba(68,255,68,0.1);
}

/* blinking block cursor for typed lines and input */
.line.wait::after,
#terminal-input::after {
    content: '';
    display: inline-block;
    width: 10px;
    height: 1.1em;
    background: linear-gradient(90deg,#44ff44,#44ffff);
    margin-left: 6px;
    vertical-align: middle;
    animation: blinkCursor 1s steps(2,start) infinite;
    border-radius: 2px;
    opacity: 0.9;
}
@keyframes blinkCursor {
    50% { opacity: 0; transform: translateY(0); }
}

/* stronger terminal window tint and greenish highlights */
.terminal-panel {
    border: 1px solid rgba(0,255,0,0.3);
    background: linear-gradient(180deg, rgba(0,20,0,0.9), rgba(0,10,0,0.95));
    box-shadow: 0 8px 40px rgba(0,255,0,0.2), inset 0 0 20px rgba(0,255,0,0.1);
}

/* terminal output text colors */
.terminal-output { color: #00ff00; }
.terminal-output .line { color: #00ff41; }
.terminal-output .prompt { color: #00ff00; }
.terminal-output .prompt .u { color: #00ffff; }
.terminal-output .prompt .h { color: #ffff00; }
.terminal-output .prompt .p { color: #00ff00; }