:root { color-scheme: dark light; }
body { font-family: system-ui, sans-serif; margin: 0; }
.wrap { max-width: 900px; margin: 0 auto; padding: 16px; }
.card { border: 1px solid rgba(127,127,127,.25); border-radius: 12px; }
.brand { text-decoration: none; color: inherit; }
.nav a { margin-right: 12px; text-decoration: none; }
.muted { opacity: .7; }
.footer { opacity: .7; }
.list { list-style: none; padding: 0; margin: 0; }
.list li { padding: 10px 0; border-top: 1px solid rgba(127,127,127,.25); }
.list li:first-child { border-top: 0; }
.row { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.form { display: grid; gap: 8px; }
input, textarea, button { font: inherit; padding: 10px; border-radius: 10px; border: 1px solid rgba(127,127,127,.35); }
.btn { cursor: pointer; }
.btn.danger { border-color: rgba(255,0,0,.35); }
.box { padding: 12px; border-radius: 10px; border: 1px solid rgba(127,127,127,.25); }
hr { border: 0; border-top: 1px solid rgba(127,127,127,.25); margin: 16px 0; }
.notice { padding: 10px 12px; border-radius: 8px; margin: 10px 0; }
.notice.ok { border: 1px solid #2e7d32; }
.notice.err { border: 1px solid #c62828; }

.grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
@media (max-width: 800px) { .grid { grid-template-columns: 1fr; } }

.table { width: 100%; border-collapse: collapse; }
.table th, .table td { padding: 10px; border-bottom: 1px solid rgba(255,255,255,0.08); }
