/* Stars & satellite canvas */
.ct-stars-canvas-wrap { position:absolute;inset:0;pointer-events:none; }
.ct-stars-canvas { position:absolute;inset:0;width:100%;height:100%; }

/* Satellites */
.ct-sat {
    position:absolute;
    pointer-events:none;
    animation:ctSatMove linear infinite;
    opacity:0;
}
.ct-sat::before {
    content:'';
    display:block;
    width:24px;
    height:1.5px;
    background:linear-gradient(to right,transparent,rgba(200,220,255,.55));
    position:absolute;
    right:3px;
    top:50%;
    transform:translateY(-50%);
}
.ct-sat::after {
    content:'';
    display:block;
    width:3px;
    height:3px;
    background:#fff;
    border-radius:50%;
    position:absolute;
    right:0;
    top:50%;
    transform:translateY(-50%);
    box-shadow:0 0 5px 1px rgba(180,210,255,.7);
}
@keyframes ctSatMove {
    0%   { left:-80px; opacity:0; }
    4%   { opacity:1; }
    96%  { opacity:1; }
    100% { left:calc(100% + 80px); opacity:0; }
}

/* Terminal */
.ct-term {
    border-radius:12px;
    overflow:hidden;
    border:1px solid rgba(245,166,35,.18);
}
.ct-term__bar {
    background:#171825;
    padding:10px 18px;
    display:flex;
    align-items:center;
    gap:14px;
    border-bottom:1px solid rgba(255,255,255,.05);
    flex-wrap:wrap;
    row-gap:8px;
}
.ct-term__dots { display:flex;gap:7px;align-items:center;flex-shrink:0; }
.ct-term__dot  { width:12px;height:12px;border-radius:50%; }
.ct-term__dot--r{background:#ff5f57}.ct-term__dot--y{background:#febc2e}.ct-term__dot--g{background:#28c840}
.ct-term__title {
    flex:1;
    text-align:center;
    font-size:12px;
    color:rgba(255,255,255,.3);
}
.ct-term__tabs { display:flex;gap:6px;flex-shrink:0; }
.ct-tab {
    padding:5px 14px;
    font-size:12px;
    border-radius:6px;
    border:1px solid rgba(255,255,255,.1);
    background:transparent;
    color:rgba(255,255,255,.4);
    cursor:pointer;
    transition:.2s;
}
.ct-tab:hover { border-color:rgba(245,166,35,.4);color:rgba(255,255,255,.7); }
.ct-tab--active { background:rgba(245,166,35,.12);border-color:rgba(245,166,35,.45);color:#F5A623; }

.ct-term__body {
    background:#080910;
    padding:22px 28px;
    font-size:13px;
    line-height:1.8;
    min-height:240px;
}
.ct-line { opacity:0;animation:ctFade .2s forwards; }
.ct-line--pre { opacity:1;animation:none; }
@keyframes ctFade { from{opacity:0;transform:translateY(4px)} to{opacity:1;transform:translateY(0)} }
.ct-p   { color:rgba(255,255,255,.22); }
.ct-h   { color:#4fc3f7; }
.ct-sep { color:rgba(255,255,255,.28); }
.ct-cmd { color:#e2e8f0; }
.ct-out { display:block;padding-left:16px; }
.ct-ok  { color:#28c840; }
.ct-inf { color:rgba(255,255,255,.45); }
.ct-hi  { color:#F5A623; }
.ct-cur {
    display:inline-block;width:8px;height:14px;
    background:#F5A623;vertical-align:text-bottom;margin-left:2px;
    animation:ctBlink 1s step-end infinite;
}
@keyframes ctBlink { 0%,100%{opacity:1} 50%{opacity:0} }

.ct-term__footer {
    background:#0f1020;
    border-top:1px solid rgba(255,255,255,.05);
    padding:10px 24px;
    display:flex;
    gap:28px;
    flex-wrap:wrap;
}
.ct-stat {
    display:flex;align-items:center;gap:7px;
    font-size:11px;color:rgba(255,255,255,.45);
}
.ct-stat__dot { width:7px;height:7px;border-radius:50%;flex-shrink:0; }
.ct-stat__dot--green  { background:#28c840;box-shadow:0 0 6px rgba(40,200,64,.6); }
.ct-stat__dot--orange { background:#F5A623;box-shadow:0 0 6px rgba(245,166,35,.6); }
.ct-stat__dot--blue   { background:#4fc3f7;box-shadow:0 0 6px rgba(79,195,247,.6); }

@media(max-width:600px) {
    .ct-term__body { font-size:11px;padding:14px 14px;min-height:200px; }
    .ct-term__title { display:none; }
    .ct-term__footer { gap:14px; }
}
