:root { color-scheme: dark; }
* { box-sizing: border-box; }
body { margin: 0; color: #dce9e5; background: #132426; font: 14px/1.65 "Microsoft YaHei", sans-serif; }
main { max-width: 1100px; margin: 40px auto; padding: 0 24px; }
header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 25px; }
header small { letter-spacing: 3px; color: #8da9a1; }
h1 { font-size: 30px; margin: 3px 0; font-weight: 500; }
h2 { font-size: 19px; margin: 0 0 14px; font-weight: 500; }
a { color: #9fdbca; text-decoration: none; }
a:hover { text-decoration: underline; }
section { background: #1c3133; border: 1px solid #36514f; border-radius: 7px; margin-bottom: 25px; padding: 25px; }
p { color: #acc0b9; }
label { display: flex; flex-direction: column; gap: 7px; margin-bottom: 15px; }
input { min-width: 0; width: 100%; border: 1px solid #47625d; background: #15292b; color: #e9f2ef; padding: 11px 12px; border-radius: 4px; font: inherit; }
select { min-width: 0; width: 100%; border: 1px solid #47625d; background: #15292b; color: #e9f2ef; padding: 11px 12px; border-radius: 4px; font: inherit; }
input[type="file"] { font-size: 12px; padding: 10px; }
input[type="checkbox"] { width: auto; accent-color: #b3e9d6; }
button { padding: 10px 20px; border: 0; background: #a3d6c4; color: #14362d; border-radius: 4px; font: inherit; cursor: pointer; }
button:hover { filter: brightness(1.1); }
input:focus-visible, button:focus-visible, a:focus-visible { outline: 2px solid #b5e9d6; outline-offset: 3px; }
.editor { display: grid; grid-template-columns: 1fr 1fr; gap: 0 25px; }
.wide { grid-column: 1 / -1; }
.hint { font-size: 12px; margin: 0 0 20px; }
.checks { display: flex; gap: 25px; }
.checks label { flex-direction: row; align-items: center; }
.login { max-width: 460px; margin: 60px auto; }
.logout { display: flex; justify-content: flex-end; margin-bottom: 20px; }
.admin-nav { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin-bottom: 25px; }
.admin-nav > a { padding: 9px 16px; border-radius: 4px; }
.admin-nav > a[aria-current="page"] { background: #2c4944; color: #e5f5ed; }
.admin-nav .logout { margin: 0 0 0 auto; }
.password-panel { max-width: 600px; }
.background-thumb { display: block; width: 135px; height: 75px; object-fit: cover; border-radius: 4px; }
.import-preview { display: flex; flex-wrap: wrap; gap: 20px; align-items: center; margin-bottom: 20px; }
.import-preview img { width: 120px; height: 120px; object-fit: cover; border-radius: 4px; }
.import-preview audio { max-width: 100%; }
.resolver-log { margin-bottom: 20px; border-top: 1px solid #39534d; padding-top: 12px; }
.resolver-log summary { cursor: pointer; color: #b3e9d6; }
.resolver-log pre { max-height: 400px; overflow: auto; white-space: pre-wrap; overflow-wrap: anywhere; padding: 15px; background: #132426; color: #dce9e5; font: 12px/1.7 monospace; }
.resolver-log .log-url { overflow-wrap: anywhere; }
.secondary { background: #2c4944; color: #c9e2d7; }
.notice { padding: 13px 20px; border: 1px solid #608a78; background: #254339; border-radius: 4px; }
.error { border-color: #bc7d7d; background: #513232; color: #ffe5e5; }
.search { display: flex; gap: 10px; margin-bottom: 20px; }
.search input { max-width: 350px; }
.search > a { align-self: center; white-space: nowrap; }
.table-wrap { overflow-x: auto; }
table { border-collapse: collapse; width: 100%; min-width: 600px; }
td, th { text-align: left; padding: 13px 12px; border-bottom: 1px solid #39534d; }
th { color: #a0bcb0; font-weight: 400; }
td strong { font-weight: 500; overflow-wrap: anywhere; }
td small { color: #9fb8ac; }
.actions { white-space: nowrap; }
.actions form { display: inline-block; margin-left: 15px; }
.danger { background: transparent; color: #e8a4a4; padding: 3px; }
.pagination { display: flex; gap: 25px; justify-content: center; margin-top: 25px; color: #abc2b6; }
@media (max-width: 650px) { main { margin: 20px auto; padding: 0 12px; } section { padding: 18px; } .editor { grid-template-columns: 1fr; } .checks { gap: 15px; } }
