:root{
  --bg: #f3f5f8;
  --card: #ffffff;
  --text: #111;
  --muted: #555;
  --primary: #3b6ff5;
  --primary-hover: #2f5bcd;
  --danger: #b00020;
  --surface: rgba(255,255,255,0.86);
}
*{ box-sizing: border-box; }
html, body {
  margin:0; padding:0;
  font-family: system-ui, Segoe UI, Arial;
  color: var(--text);
  background-color: var(--bg);
  background-image:
    radial-gradient(transparent, transparent),
    url('/png/bg.png');
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  background-attachment: fixed;
  min-height: 100%;
}
h1{ font-size: 24px; margin: 12px 0 16px; }
h3{ margin: 12px 0; }
label{ display:block; margin: 10px 0 6px; color: var(--muted);}
input[type="text"], input[type="number"], input[type="file"], input:not([type]) {
  width: 100%; padding: 10px 12px; border: 1px solid #ddd; border-radius: 8px; background: #fff;
}
button, .btn{
  display:inline-block; padding:10px 16px; border:none; border-radius:10px; color:#fff; background: var(--primary);
  cursor:pointer; text-decoration:none;
}
button:hover, .btn:hover { background: var(--primary-hover); }
button[disabled]{ opacity:.5; cursor:not-allowed; }
.btn.danger { background: var(--danger); }
.container{
  max-width: 980px;
  margin: 16px auto;
  padding: 16px;
  background: var(--surface);
  border-radius: 16px;
  box-shadow: 0 10px 30px rgba(0,0,0,.10);
  backdrop-filter: saturate(1.1) blur(2px);
}
.note{ color: var(--muted); }
.list{
  background: var(--card);
  border-radius: 12px;
  padding: 8px 12px;
  box-shadow: 0 2px 10px rgba(0,0,0,.06);
}
.ok { color: #0a8f3c; }
