*{box-sizing:border-box}
html,body{margin:0;width:100%;height:100%;background:#000;color:#00ff66;font-family:Consolas,"Courier New",monospace;overflow:hidden}
body{display:flex;align-items:center;justify-content:center}
#matrix{position:fixed;inset:0;width:100%;height:100%;opacity:.25;z-index:0}
.scanlines{position:fixed;inset:0;z-index:1;pointer-events:none;background:repeating-linear-gradient(to bottom,rgba(0,255,80,.025) 0,rgba(0,255,80,.025) 1px,transparent 1px,transparent 4px)}
.terminal{position:relative;z-index:2;width:min(1100px,94vw);height:min(760px,92vh);border:1px solid #00ff66;box-shadow:0 0 25px rgba(0,255,80,.22),inset 0 0 35px rgba(0,255,80,.04);background:rgba(0,8,3,.86);display:flex;flex-direction:column}
header,footer{padding:12px 18px;border-bottom:1px solid rgba(0,255,102,.35);display:flex;justify-content:space-between;gap:15px;font-size:12px}
footer{border-top:1px solid rgba(0,255,102,.35);border-bottom:0;margin-top:auto;color:#58ff9a}
.brand span{color:#fff;text-shadow:0 0 8px #00ff66}
.status{animation:pulse 1.2s infinite}
.screen{padding:clamp(18px,4vw,45px);overflow:auto}
h1{font-size:clamp(38px,8vw,82px);letter-spacing:.14em;margin:0;text-shadow:0 0 8px #00ff66,0 0 30px rgba(0,255,102,.7);animation:flicker 3s infinite}
.subtitle{margin:8px 0 30px;color:#63ff9a;font-size:clamp(10px,2vw,14px);letter-spacing:.2em}
.terminal-log{height:230px;overflow:hidden;border:1px solid rgba(0,255,102,.25);padding:14px;background:rgba(0,0,0,.55);font-size:clamp(11px,1.7vw,14px);line-height:1.65}
.log-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.log-line::before{content:"root@simulacao:~# ";color:#8affb2}
.progress-wrap{margin-top:25px}
.progress-label{display:flex;justify-content:space-between;font-size:12px;margin-bottom:8px}
.progress{height:18px;border:1px solid #00ff66;padding:3px;box-shadow:0 0 10px rgba(0,255,102,.18)}
#bar{height:100%;width:0;background:#00ff66;box-shadow:0 0 15px #00ff66;transition:width .08s linear}
.result{margin-top:30px;border:1px solid #00ff66;padding:24px;text-align:center;box-shadow:0 0 25px rgba(0,255,102,.18);animation:appear .7s ease}
.hidden{display:none}
.result-title{font-size:clamp(18px,3vw,28px);font-weight:bold}
.result-main{margin-top:15px;font-size:clamp(16px,2.5vw,24px);font-weight:bold;color:#fff;text-shadow:0 0 8px #00ff66}
.result-sub{margin-top:10px;font-size:14px}
.simulation-note{margin-top:14px;color:#9affbd;font-size:11px;opacity:.8}
button{font-family:inherit;cursor:pointer}
.send-btn{margin-top:22px;padding:14px 20px;border:1px solid #00ff66;background:#00ff66;color:#001b08;font-weight:bold;box-shadow:0 0 18px rgba(0,255,102,.35);font-size:13px}
.send-btn:hover{filter:brightness(1.2);transform:translateY(-1px)}
.secondary-btn{display:block;margin:12px auto 0;padding:9px 14px;background:transparent;border:1px solid rgba(0,255,102,.5);color:#63ff9a;font-size:11px}
@keyframes pulse{50%{opacity:.35}}
@keyframes flicker{0%,18%,20%,22%,65%,67%,100%{opacity:1}19%,21%,66%{opacity:.55}}
@keyframes appear{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media(max-width:600px){.terminal{height:94vh}.terminal-log{height:190px}.send-btn{width:100%}header{font-size:10px}.status{display:none}}
