/* style.css — modern terminal look + neon accents */
:root{
  --bg:#07060a;
  --panel:#0f1720;
  --neon:#00ff88;
  --accent1:#ff6b6b;
  --accent2:#6be0ff;
  --muted:#9aa3a8;
}
*{box-sizing:border-box}
html,body{height:100%;margin:0;font-family:Inter,ui-sans-serif,system-ui,Segoe UI,Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif;background:linear-gradient(180deg,#04040a 0%, #080913 60%);color:#dfe7e9}
#stars{position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(circle at 20% 20%, rgba(255,255,255,0.02) 0, transparent 2%), radial-gradient(circle at 80% 10%, rgba(255,255,255,0.02) 0, transparent 2%);}
.site-header{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;align-items:center;padding:12px 24px;background:linear-gradient(90deg, rgba(255,255,255,0.02), transparent);backdrop-filter: blur(6px);}
.brand{font-weight:700;color:var(--neon);letter-spacing:0.6px}
.nav .nav-btn{background:linear-gradient(90deg,var(--accent2),var(--accent1));padding:8px 12px;border-radius:8px;color:#021018;text-decoration:none;font-weight:600;margin-left:8px}
.main{position:relative;z-index:2;padding:28px;display:flex;justify-content:center}
.generator-panel{width:1100px;display:flex;gap:20px}
.left{flex:1}
.right{width:340px}
.ascii-container{background:linear-gradient(180deg,#071018 0%, #0b1015 100%);padding:18px;border-radius:12px;border:1px solid rgba(0,255,136,0.06);box-shadow:0 6px 30px rgba(0,0,0,0.6)}
.neon .ascii-title{color:var(--neon);margin:0;font-family:'Courier New',monospace}
.ascii-subtitle{color:var(--muted)}
.upload-area{border:2px dashed rgba(0,255,136,0.12);padding:18px;text-align:center;border-radius:10px;cursor:pointer;margin:12px 0}
.upload-area:hover{background:rgba(0,255,136,0.02)}
.upload-icon{font-size:36px}
.preview{display:flex;gap:12px;margin-top:12px}
.preview-left,.preview-right{flex:1;background:#061018;padding:8px;border-radius:8px;border:1px solid rgba(255,255,255,0.02)}
.image-preview{max-width:100%;max-height:240px;display:block;margin:0 auto}
.ascii-output{background:#020406;color:var(--neon);padding:12px;border-radius:6px;height:240px;overflow:auto;font-family:'Courier New',monospace;font-size:8px;line-height:1}
.controls-row{display:flex;gap:8px;margin-top:12px}
.btn{background:linear-gradient(90deg,var(--accent2),#9dffb6);border:none;padding:8px 12px;border-radius:8px;color:#032;cursor:pointer;font-weight:600}
.btn.invert{background:linear-gradient(90deg,#ffd36b,#ff6b6b);color:#111}
.right .controls{background:rgba(0,0,0,0.2);padding:12px;border-radius:12px;border:1px solid rgba(255,255,255,0.02)}
.right label{display:block;margin-top:12px;color:var(--muted);font-weight:600}
.right input[type=range]{width:100%}
.right input[type=number],.right select{width:100%;padding:8px;border-radius:6px;border:1px solid rgba(255,255,255,0.04);background:#061018;color:inherit}
.char-set{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.char-option{background:#081218;padding:6px 8px;border-radius:6px;border:1px solid rgba(255,255,255,0.02);cursor:pointer}
.char-option.active{background:var(--neon);color:#021018}
.estimate{margin-top:12px;padding:8px;background:#061018;border-radius:6px;color:var(--muted)}
.embed{margin-top:16px;padding:12px;background:#051018;border-radius:10px;border:1px solid rgba(255,255,255,0.02)}
.embed h4{margin:0 0 8px 0;color:var(--neon)}
.embed .checkbox{display:flex;align-items:center;gap:8px;margin-top:10px;color:var(--muted);font-weight:600}
.embed-code{width:100%;min-height:110px;background:#061018;color:inherit;border:1px solid rgba(255,255,255,0.04);border-radius:6px;padding:8px;font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}
.about{margin-top:18px;padding:12px;background:linear-gradient(180deg,#051018,#08121a);border-radius:10px;border:1px solid rgba(255,255,255,0.02)}
.muted{color:var(--muted)}
.small{font-size:12px}
.site-footer{margin-top:40px;padding:18px;text-align:center;color:var(--muted)}
.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:12px;max-width:1100px;margin:0 auto}

/* small screens */
@media (max-width:1100px){.generator-panel{width:100%;flex-direction:column}.right{width:100%}.footer-inner{flex-direction:column}}

/* subtle twinkle animation */
@keyframes twinkle{0%{opacity:0.15}50%{opacity:0.6}100%{opacity:0.15}}
#stars::after{content:"";position:absolute;inset:0;background-image:radial-gradient(#ffffff 1px, transparent 1px), radial-gradient(#ffffff 1px, transparent 1px);background-size:200px 200px, 140px 140px;opacity:0.08;animation:twinkle 4s infinite;mix-blend-mode:screen}

/* Embed mode */
.embed-mode #stars,
.embed-mode .site-header,
.embed-mode .site-footer{display:none}
.embed-mode .main{padding:0}
.embed-mode .generator-panel{width:100%;max-width:100%;border-radius:0}
.embed-mode .ascii-container{border-radius:0}
.embed-mode{background:#000}
.embed-compact .right{display:none}
.embed-compact .generator-panel{gap:0}

/* Modal (preview) */
.modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center;z-index:40}
.modal[aria-hidden="false"]{display:flex}
.modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,0.6)}
.modal-content{position:relative;background:#071018;border-radius:10px;padding:16px;max-width:900px;width:95%;z-index:45;border:1px solid rgba(255,255,255,0.03)}
.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.modal-body{max-height:70vh;overflow:auto}
.terminal-sim{background:#000;padding:12px;border-radius:6px;border:1px solid rgba(255,255,255,0.03)}
.preview-terminal{color:#0f0;font-family:monospace;white-space:pre;line-height:1;overflow:auto}

.btn svg{vertical-align:middle;margin-right:6px}
