*{
  box-sizing:border-box;
}

:root{
  --bg:#0f0f10;
  --card:#171717;
  --soft:#262626;
  --text:#f5f5f5;
  --muted:#9b9b9b;
}

body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:
    Inter,
    system-ui,
    sans-serif;
}

.container{
  max-width:900px;
  margin:auto;
  padding:40px 20px;
}

.header{
  margin-bottom:24px;
}

.header h1{
  margin:0;
  font-size:32px;
}

.header p{
  color:var(--muted);
}

.unlock-card{
  display:flex;
  gap:10px;
  margin-bottom:20px;
}

input{
  flex:1;
}

input,
button,
a{
  border:none;
  border-radius:8px;
  background:var(--soft);
  color:white;
  padding:12px 14px;
  text-decoration:none;
}

.box{
  background:var(--card);
  border-radius:12px;
  padding:18px;
  margin-bottom:20px;
}

.locked{
  filter:blur(8px);
  user-select:none;
}

.toolbar{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:14px;
  gap:10px;
  flex-wrap:wrap;
}

.stats{
  display:flex;
  gap:12px;
  color:var(--muted);
  font-size:13px;
}

.actions{
  display:flex;
  gap:8px;
}

#sourceBox{
  margin:0;

  background:#0a0a0a;

  border-radius:8px;

  padding:16px;

  max-height:70vh;

  overflow:auto;

  white-space:pre-wrap;
}

.hidden{
  display:none;
}

button{
  cursor:pointer;
}

button:disabled{
  opacity:.4;
}