:root { color-scheme: light; font-family: system-ui, "Microsoft YaHei", sans-serif; background: #f5f6f4; color: #16221c; }
* { box-sizing: border-box; }
body { margin: 0; }
.shell { width: min(920px, 100%); margin: 0 auto; padding: 20px 16px 64px; }
header { display: flex; align-items: baseline; gap: 16px; margin-bottom: 18px; }
header .brand { font-weight: 800; font-size: 1.5rem; color: #176346; }
header p { color: #53625a; margin: 0; }
header .developer-signature { width: 72px; height: 72px; object-fit: contain; margin-left: auto; }
h1 { font-size: 1.35rem; margin: 0 0 16px; }
h2 { font-size: 1.12rem; margin-top: 28px; }
.panel { background: white; border: 1px solid #dae2db; border-radius: 12px; padding: 22px; box-shadow: 0 3px 12px #2031270a; }
.panel + .panel { margin-top: 18px; }
.row { display: flex; align-items: center; gap: 12px; }
.between { justify-content: space-between; }
.fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; margin: 14px 0; }
label { display: block; font-weight: 600; margin: 12px 0 6px; }
input, select { display: block; width: 100%; margin-top: 6px; padding: 10px; border: 1px solid #a8b5ac; border-radius: 7px; background: #fff; font: inherit; min-width: 0; }
input:disabled, select:disabled { background: #f2f4f2; }
button { margin: 10px 8px 0 0; padding: 10px 15px; border: 0; border-radius: 7px; background: #176346; color: #fff; font: inherit; font-weight: 650; cursor: pointer; }
button:hover { background: #0f4e36; }
button:disabled { background: #aeb7b0; cursor: not-allowed; }
button.quiet { background: #e7eee9; color: #164b35; }
#message { min-height: 1.5em; color: #9a3b22; font-weight: 600; }
.hint { color: #67746b; font-size: .9rem; }
.asset-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; margin-top: 16px; }
.asset { border: 1px solid #d6e0d8; border-radius: 8px; padding: 12px; min-width: 0; }
.asset img { width: 100%; height: 160px; object-fit: contain; background: #f5f7f5; }
.asset p { overflow-wrap: anywhere; margin: 7px 0; }
.asset .primary { color: #176346; font-weight: 700; }
@media (max-width: 640px) { .shell { padding: 14px 10px 40px; } .panel { padding: 16px; } .fields,.asset-grid { grid-template-columns: 1fr; } .row.between { align-items: flex-start; } header { display: block; } }
