*{box-sizing:border-box}
:root{--bg:#0d0f1a;--card:#13162a;--accent:#ffd54a;--text:#f3f4f6;--muted:#9ca3af}
html,body{height:100%}
body{margin:0;font-family:Poppins,system-ui,Segoe UI,Roboto,Arial,sans-serif;background:radial-gradient(80% 60% at 50% 20%,#1a1f3a 0%,#0d0f1a 60%);color:var(--text);display:flex;align-items:center;justify-content:center;padding:24px}
.container{width:100%;max-width:680px}
.hero{text-align:center;margin-bottom:16px}
.logo{max-width:260px;margin:0 auto 8px;display:block}
h1{font-weight:800;letter-spacing:1px;margin:4px 0 8px}
.subtitle{margin:0;color:var(--muted)}
.card{background:var(--card);border:1px solid rgba(255,255,255,.06);border-radius:18px;padding:18px 16px;margin:14px 0;box-shadow:0 10px 30px rgba(0,0,0,.25)}
.hidden{display:none}
label{display:block;margin-bottom:8px;font-weight:600}
.input-row{display:flex;gap:8px}
input{flex:1;padding:12px 14px;border-radius:12px;border:1px solid rgba(255,255,255,.1);background:#0c1022;color:var(--text)}
button{padding:12px 16px;border-radius:12px;border:0;background:linear-gradient(180deg,#ffd54a,#ffb300);color:#432000;font-weight:800;cursor:pointer;box-shadow:0 6px 0 #a36f00;transition:transform .06s ease}
button:disabled{filter:grayscale(1);opacity:.6;cursor:not-allowed;box-shadow:none}
button:active{transform:translateY(2px)}
.muted{color:var(--muted)}
.small{font-size:.9rem}
.footer{text-align:center;margin-top:10px}

/* Box animation */
.box-wrap{position:relative;height:220px;display:flex;align-items:center;justify-content:center;perspective:1000px}
.box{position:absolute;width:180px;height:120px;border-radius:12px;background:#b71c1c}
.box.body{bottom:28px;background:linear-gradient(180deg,#e53935,#b71c1c)}
.box.lid{height:36px;top:50px;background:linear-gradient(180deg,#ffeb3b,#f9a825);transform-origin:50% 100%;transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.box-wrap.open .box.lid{transform:rotateX(155deg)}
