*{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#0d0f14;--bg2:#13151c;--bg3:#1a1d26;--bg4:#212530;
  --border:#2a2e3d;--border2:#363b4e;
  --green:#3ddc84;--green2:#2fc474;
  --green-dim:rgba(61,220,132,.1);--green-border:rgba(61,220,132,.25);
  --text:#e8eaf0;--text2:#9ba3b8;--text3:#5a6175;
  --red:#ff5f5f;--amber:#f0c040;--blue:#79b8ff;
  --radius:8px;--radius-lg:12px;
  --font:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --mono:'SF Mono',Consolas,'Fira Code',monospace;
}
body{font-family:var(--font);background:var(--bg);color:var(--text);min-height:100vh;font-size:14px;line-height:1.6}
::-webkit-scrollbar{width:4px;height:4px}
::-webkit-scrollbar-thumb{background:var(--border2);border-radius:2px}

/* ── NAV ── */
nav{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:0 2rem;height:54px;background:rgba(13,15,20,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}
.logo{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:600;color:#fff;text-decoration:none}
.logo-icon{width:26px;height:26px;background:var(--green);border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:14px}
.nav-links{display:flex;align-items:center;gap:4px}
.nav-links a{color:var(--text2);font-size:13px;text-decoration:none;padding:5px 10px;border-radius:6px;transition:all .15s}
.nav-links a:hover{color:var(--text);background:rgba(255,255,255,.04)}
.nav-links a.active{color:var(--text)}
.nav-right{display:flex;align-items:center;gap:10px}

/* Plan badge */
.plan-badge{font-size:10px;font-weight:700;padding:2px 8px;border-radius:100px;letter-spacing:.05em}
.plan-free{background:var(--bg3);color:var(--text3);border:1px solid var(--border)}
.plan-starter{background:rgba(121,184,255,.1);color:var(--blue);border:1px solid rgba(121,184,255,.25)}
.plan-pro{background:var(--green-dim);color:var(--green);border:1px solid var(--green-border)}
.plan-business{background:rgba(240,192,64,.1);color:var(--amber);border:1px solid rgba(240,192,64,.25)}
.plan-unlimited{background:rgba(255,95,95,.1);color:var(--red);border:1px solid rgba(255,95,95,.25)}

/* Auth nav items */
.nav-user{display:flex;align-items:center;gap:8px}
.nav-avatar{width:30px;height:30px;background:var(--green-dim);border:1px solid var(--green-border);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;color:var(--green);font-weight:600;cursor:pointer}

/* Lang switcher */
.lang-switcher{display:flex;gap:2px;background:var(--bg3);border:1px solid var(--border);border-radius:6px;padding:2px}
.lang-switch{background:transparent;border:none;color:var(--text3);font-size:12px;padding:3px 8px;border-radius:5px;cursor:pointer;font-weight:500}
.lang-switch.active{background:var(--bg4);color:var(--text)}

/* ── Buttons ── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;font-family:var(--font);font-size:13px;font-weight:500;padding:8px 18px;border-radius:var(--radius);border:none;cursor:pointer;transition:all .15s;text-decoration:none}
.btn-primary{background:var(--green);color:#0d0f14;font-weight:700}
.btn-primary:hover{background:var(--green2);transform:translateY(-1px)}
.btn-ghost{background:transparent;color:var(--text);border:1px solid var(--border)}
.btn-ghost:hover{border-color:var(--border2);background:var(--bg3)}
.btn-sm{padding:6px 14px;font-size:12px}
.btn-lg{padding:13px 28px;font-size:15px;font-weight:700}
.btn-full{width:100%}
.btn:disabled{opacity:.5;cursor:not-allowed;transform:none !important}

/* ── Cards ── */
.card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius-lg)}

/* ── Forms ── */
.field{display:flex;flex-direction:column;gap:5px}
.field label{font-size:12px;color:var(--text2)}
.input{background:var(--bg3);border:1px solid var(--border);border-radius:var(--radius);padding:10px 14px;color:var(--text);font-size:14px;font-family:var(--font);outline:none;transition:border-color .15s;width:100%}
.input:focus{border-color:var(--green)}
.input::placeholder{color:var(--text3)}
select.input{cursor:pointer}

/* ── Badges ── */
.badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;padding:3px 10px;border-radius:100px;font-weight:500}
.badge-green{background:var(--green-dim);color:var(--green);border:1px solid var(--green-border)}
.badge-blue{background:rgba(121,184,255,.1);color:var(--blue);border:1px solid rgba(121,184,255,.25)}
.badge-amber{background:rgba(240,192,64,.1);color:var(--amber);border:1px solid rgba(240,192,64,.25)}
.badge-red{background:rgba(255,95,95,.1);color:var(--red);border:1px solid rgba(255,95,95,.25)}
.badge-gray{background:var(--bg3);color:var(--text3);border:1px solid var(--border)}

/* ── Status badges ── */
.status-badge{display:inline-flex;align-items:center;gap:5px;font-size:11px;padding:3px 10px;border-radius:100px;font-weight:500}
.status-queued{background:var(--bg3);color:var(--text3);border:1px solid var(--border)}
.status-compiling,.status-uploading{background:rgba(240,192,64,.1);color:var(--amber);border:1px solid rgba(240,192,64,.25)}
.status-success{background:var(--green-dim);color:var(--green);border:1px solid var(--green-border)}
.status-failed{background:rgba(255,95,95,.1);color:var(--red);border:1px solid rgba(255,95,95,.25)}

/* ── Toast ── */
.toast{position:fixed;bottom:24px;right:24px;font-size:13px;padding:10px 18px;border-radius:var(--radius);z-index:9999;opacity:0;transform:translateY(8px);transition:all .25s;pointer-events:none;border:1px solid var(--border2)}
.toast.show{opacity:1;transform:none}
.toast-info{background:var(--bg3);color:var(--text)}
.toast-success{background:rgba(61,220,132,.1);color:var(--green);border-color:var(--green-border)}
.toast-error{background:rgba(255,95,95,.1);color:var(--red);border-color:rgba(255,95,95,.25)}

/* ── Section headers ── */
.eyebrow{font-size:11px;font-weight:600;color:var(--green);letter-spacing:.07em;text-transform:uppercase;margin-bottom:4px}
.section-title{font-size:22px;font-weight:700;color:#fff;margin-bottom:.5rem}
.section-desc{font-size:14px;color:var(--text2);line-height:1.75}

/* ── Modal ── */
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.7);backdrop-filter:blur(4px);z-index:500;display:none;align-items:center;justify-content:center}
.modal-overlay.show{display:flex}
.modal{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius-lg);padding:2rem;max-width:440px;width:90%;position:relative}
.modal-close{position:absolute;top:12px;right:14px;background:transparent;border:none;color:var(--text3);font-size:18px;cursor:pointer;line-height:1}
.modal-close:hover{color:var(--text)}

/* ── Footer ── */
footer{border-top:1px solid var(--border);padding:1.5rem 2rem;display:flex;align-items:center;justify-content:space-between;margin-top:3rem}
.footer-logo{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text3)}
.footer-links{display:flex;gap:20px}
.footer-links a{font-size:12px;color:var(--text3);text-decoration:none;cursor:pointer}
.footer-links a:hover{color:var(--text2)}

/* ── Spinner ── */
@keyframes spin{to{transform:rotate(360deg)}}
.spinner{display:inline-block;width:15px;height:15px;border:2px solid rgba(0,0,0,.2);border-top-color:currentColor;border-radius:50%;animation:spin .7s linear infinite}

/* ── Responsive ── */
@media(max-width:640px){
  nav{padding:0 1rem}
  .nav-links{display:none}
  footer{flex-direction:column;gap:12px;text-align:center}
}
