/* CyberTyper — estilos do plugin (isolados com prefixo .ct-). */
.ct-shell{--ct-bg:#050a06;--ct-panel:#0a120c;--ct-border:#123a1c;--ct-green:#33ff66;--ct-dim:#1d8f3f;--ct-faint:#0f4a22;--ct-amber:#ffb000;--ct-glitch:#ff2244;
  position:relative;max-width:540px;margin:0 auto;font-family:'Share Tech Mono','Courier New',ui-monospace,monospace;color:var(--ct-green);}
.ct-shell *{box-sizing:border-box;}
.ct-amber{color:var(--ct-amber);}
.ct-glitch{color:var(--ct-glitch);}

.ct-hidden-input{position:fixed;bottom:0;left:0;width:1px;height:1px;opacity:0;pointer-events:none;font-size:16px;caret-color:transparent;border:0;}

.ct-panel{border:1px solid var(--ct-border);background:var(--ct-panel);border-radius:8px;padding:24px;
  box-shadow:0 0 12px rgba(51,255,102,.35),inset 0 0 24px rgba(51,255,102,.06);}
.ct-flicker{animation:ct-flicker 4s linear infinite;}
@keyframes ct-flicker{0%,100%,94%{opacity:1}93%{opacity:.82}97%{opacity:.9}}
.ct-title{text-align:center;font-size:34px;font-weight:700;letter-spacing:.15em;margin:0;color:var(--ct-green);text-shadow:0 0 10px rgba(51,255,102,.6);}
.ct-sub{text-align:center;font-size:13px;color:var(--ct-dim);margin:8px 0 0;}
.ct-label{display:block;font-size:11px;color:var(--ct-dim);margin-top:22px;}
.ct-mt{margin-top:24px;}
.ct-name{width:100%;margin-top:4px;border:1px solid var(--ct-border);background:var(--ct-bg);color:var(--ct-green);
  padding:8px 12px;font-family:inherit;font-size:16px;border-radius:4px;outline:none;}
.ct-name:focus{border-color:var(--ct-green);}
.ct-modes{display:flex;flex-direction:column;gap:8px;margin-top:8px;}
.ct-mode{text-align:left;border:1px solid var(--ct-faint);background:transparent;border-radius:4px;padding:12px 16px;cursor:pointer;
  transition:border-color .15s,background .15s,box-shadow .15s;color:inherit;font-family:inherit;}
.ct-mode:hover{border-color:var(--ct-green);background:rgba(51,255,102,.05);box-shadow:0 0 12px rgba(51,255,102,.35);}
.ct-mode-label{display:block;font-weight:700;letter-spacing:.08em;color:var(--ct-green);}
.ct-mode:hover .ct-mode-label{color:var(--ct-amber);}
.ct-mode-desc{display:block;font-size:11px;color:var(--ct-dim);margin-top:2px;}
.ct-hint{text-align:center;font-size:11px;color:var(--ct-dim);margin-top:24px;}

.ct-game{position:relative;width:100%;aspect-ratio:540/960;margin:0 auto;filter:saturate(1.15);}
.ct-canvas{width:100%;height:100%;border:1px solid var(--ct-border);border-radius:6px;display:block;
  box-shadow:0 0 12px rgba(51,255,102,.35),inset 0 0 24px rgba(51,255,102,.06);}
.ct-scanlines{position:absolute;inset:0;border-radius:6px;pointer-events:none;
  background:repeating-linear-gradient(to bottom,rgba(0,0,0,0) 0,rgba(0,0,0,0) 2px,rgba(0,0,0,.22) 3px);mix-blend-mode:multiply;}
.ct-play-hint{text-align:center;font-size:11px;color:var(--ct-dim);margin-top:8px;}
.ct-emp{position:absolute;bottom:12px;right:12px;z-index:20;border:1px solid var(--ct-amber);background:rgba(5,10,6,.85);
  color:var(--ct-amber);border-radius:999px;padding:12px 16px;font-size:12px;font-weight:700;letter-spacing:.12em;font-family:inherit;cursor:pointer;}
.ct-emp:active{background:rgba(255,176,0,.25);}

.ct-over{position:absolute;inset:0;z-index:30;display:flex;align-items:center;justify-content:center;
  background:rgba(5,10,6,.92);backdrop-filter:blur(3px);border-radius:6px;}
.ct-over-box{width:92%;max-width:420px;border:1px solid var(--ct-glitch);background:var(--ct-panel);border-radius:8px;padding:24px;text-align:center;
  box-shadow:0 0 12px rgba(255,34,68,.5);}
.ct-over-title{font-size:24px;font-weight:700;letter-spacing:.15em;color:var(--ct-glitch);margin:0;}
.ct-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px;text-align:left;}
.ct-stat{border:1px solid var(--ct-border);background:var(--ct-bg);border-radius:4px;padding:8px 12px;}
.ct-stat-l{display:block;font-size:10px;color:var(--ct-dim);}
.ct-stat-v{display:block;font-size:15px;color:var(--ct-green);}
.ct-stat-v.ct-amber{font-size:18px;font-weight:700;}
.ct-best{font-size:12px;color:var(--ct-dim);margin:16px 0 0;}
.ct-btn{width:100%;margin-top:12px;border:1px solid var(--ct-faint);background:transparent;color:var(--ct-green);
  border-radius:4px;padding:8px 16px;font-size:14px;font-family:inherit;cursor:pointer;transition:border-color .15s,background .15s;}
.ct-btn:hover{border-color:var(--ct-green);background:rgba(51,255,102,.05);}
.ct-btn-amber{border-color:var(--ct-amber);background:rgba(255,176,0,.1);color:var(--ct-amber);font-weight:700;letter-spacing:.08em;animation:ct-pulse 1.5s infinite;}
.ct-btn-sub{display:block;font-size:10px;font-weight:400;opacity:.8;}
@keyframes ct-pulse{50%{opacity:.7}}
