
/* style.css — Pro Jar UI */
:root{
  --bg:#071827; --card:#0b1220; --accent:#06b6d4; --accent-2:#0ea5a9;
  --muted:#9fb0c4; --danger:#ef4444;
  --jar-top: #093446; --jar-bottom:#041e25;
}
*{box-sizing:border-box}
body{margin:0;min-height:100vh;background:linear-gradient(180deg,#031226,#071827);color:#eaf6fb;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial;padding:22px;display:flex;justify-content:center}
.container{width:100%;max-width:980px;display:flex;flex-direction:column;gap:18px}
.header{display:flex;align-items:center;justify-content:space-between}
.header h1{margin:0;font-size:20px}
.header-controls{display:flex;gap:8px}
.panel{background:linear-gradient(180deg,var(--card), rgba(5,10,14,0.6));padding:16px;border-radius:12px;border:1px solid rgba(255,255,255,0.04);box-shadow:0 12px 30px rgba(2,6,23,0.6)}
.main-jar{display:flex;flex-direction:column;align-items:center}
.actions{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
.actions .btn{min-width:88px}
.small-actions{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}
.controls input, .panel input{width:100%;padding:12px;border-radius:10px;border:1px solid rgba(255,255,255,0.04);background:rgba(255,255,255,0.02);color:inherit;font-size:15px}
.btn{background:linear-gradient(90deg,var(--accent),var(--accent-2));border:none;padding:9px 12px;border-radius:10px;color:#022;font-weight:700;cursor:pointer;box-shadow:0 6px 18px rgba(3,10,16,0.6)}
.btn.ghost{background:transparent;border:1px solid rgba(255,255,255,0.04);color:var(--muted);box-shadow:none}
.btn.danger{background:linear-gradient(90deg,var(--danger),#ff7b7b);color:#fff}
.log{max-height:160px;overflow:auto;background:rgba(0,0,0,0.18);padding:10px;border-radius:8px;margin-top:8px}
.meta{color:var(--muted);margin-top:8px}
.label{color:var(--muted);margin-bottom:8px;font-size:14px;text-align:center}
.algo-box{background:rgba(255,255,255,0.02);padding:10px;border-radius:8px;margin-top:10px;font-family:ui-monospace,Menlo,monospace;color:#e6eef6}
.footer{color:var(--muted);font-size:13px;text-align:center;padding:8px}

/* Jar styles */
.jar{width:200px;height:380px;overflow:hidden;padding:18px;border-radius:30px;background:linear-gradient(180deg,var(--jar-top),var(--jar-bottom));border:8px solid rgba(0,0,0,0.5);margin:12px auto;display:flex;flex-direction:column-reverse;align-items:center;gap:12px;box-shadow:inset 0 10px 40px rgba(0,0,0,0.6)}
.jar.small{width:220px;height:330px;padding:12px;border-radius:20px}
.jar:before{content:'';position:absolute;width:40%;height:18%;top:6%;left:8%;background:linear-gradient(90deg,rgba(255,255,255,0.08),rgba(255,255,255,0.02));border-radius:12px;transform:rotate(-12deg);opacity:0.6;pointer-events:none}
.stack-item{width:80%;min-height:60px;background:linear-gradient(180deg,#0b6b88,#064a58);border-radius:12px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:20px;color:#eafaff;box-shadow:0 8px 24px rgba(0,0,0,0.6);transition:transform .28s cubic-bezier(.2,.9,.3,1),opacity .2s}
.stack-item.pushing{transform:translateY(-18px) scale(1.02);opacity:1}
.stack-item.popping{transform:translateY(18px) scale(.98);opacity:0.6}

/* layout for stacks in converter/evaluator */
.stacks-row{display:flex;gap:20px;align-items:flex-start;justify-content:center;margin-top:12px;flex-wrap:wrap}
.stack-col{text-align:center;flex:1;display:flex;flex-direction:column;align-items:center}

/* responsive */
@media (max-width:820px){
  .jar{width:90%;height:360px}.jar.small{width:48%;height:260px}.container{padding:12px}
}
