:root { color: #232428; background: #f7f6f2; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans CJK SC", "Source Han Sans SC", "Microsoft YaHei", sans-serif; font-size: 16px; } * { box-sizing: border-box; } body { margin: 0; min-height: 100vh; background: #f7f6f2; } button, input, select, textarea { font: inherit; } button { border: 0; border-radius: 0.65em; padding: 0.72em 1.15em; background: #243b53; color: #fff; cursor: pointer; } button:hover { background: #1c3147; } button.ghost { background: #fff; color: #243b53; box-shadow: 0 0 0.2em rgb(29 53 87 / 13%); } button.publish { background: #7b4f27; } button.publish:hover { background: #643f1f; } input, select, textarea { width: 100%; border: 1px solid #e1ded7; border-radius: 0.7em; background: #fff; color: #232428; padding: 0.8em 0.95em; outline: 0; } input:focus, select:focus, textarea:focus { border-color: #9aa9b6; box-shadow: 0 0 0 0.2em rgb(36 59 83 / 10%); } label { display: grid; gap: 0.5em; color: #55575d; font-size: 0.9em; } textarea { resize: vertical; line-height: 1.7; } .shell { width: min(92vw, 1180px); margin: 0 auto; padding: 5vh 0; } .login-view { min-height: 90vh; display: grid; place-items: center; } .login-panel { width: min(92vw, 28em); display: grid; gap: 1.2em; padding: 2em; border-radius: 1em; background: #fff; box-shadow: 0 1em 3em rgb(29 53 87 / 10%); } .topbar { display: flex; align-items: center; justify-content: space-between; gap: 2em; margin-bottom: 1.8em; } .topbar h1, .editor-head h2, .panel-heading h2, .login-panel h1 { margin: 0; line-height: 1.2; } .eyebrow { margin: 0 0 0.35em; color: #8b8175; font-size: 0.78em; letter-spacing: 0.16em; text-transform: uppercase; } .topbar-actions, .editor-actions { display: flex; align-items: center; gap: 0.7em; } .user-badge { color: #6d7179; font-size: 0.9em; } .workspace { display: grid; grid-template-columns: minmax(18em, 0.9fr) minmax(0, 2.1fr); gap: 1.4em; align-items: start; } .post-list-panel, .editor-panel { min-width: 0; } .panel-heading { display: flex; align-items: center; justify-content: space-between; gap: 1em; margin-bottom: 1em; } .panel-heading select { max-width: 9em; } .post-list { display: grid; gap: 0.75em; } .post-item { width: 100%; display: grid; gap: 0.45em; text-align: left; border-radius: 0.8em; padding: 1em; background: #fff; color: #232428; box-shadow: 0 0 0.2em rgb(29 53 87 / 10%); } .post-item:hover, .post-item.active { background: #fbfaf7; box-shadow: 0 0.45em 1.4em rgb(29 53 87 / 11%); } .post-item-title { font-weight: 700; line-height: 1.35; } .post-item-meta { color: #777b82; font-size: 0.82em; } .editor-panel { border-radius: 1em; background: #fff; box-shadow: 0 0 0.2em rgb(29 53 87 / 10%); } .editor-form { display: grid; gap: 1.2em; padding: 1.4em; } .editor-head { display: flex; align-items: center; justify-content: space-between; gap: 1em; } .fields-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1em; } .wide-field { grid-column: 1 / -1; } .body-field textarea { min-height: 42vh; font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace; font-size: 0.95em; } .message { min-height: 1.4em; margin: 0; color: #7b4f27; font-size: 0.9em; } @media (max-width: 860px) { .topbar, .editor-head { align-items: flex-start; flex-direction: column; } .workspace, .fields-grid { grid-template-columns: 1fr; } .topbar-actions, .editor-actions { width: 100%; flex-wrap: wrap; } }