@import "https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@300;400;500;600;700&family=Noto+Serif+SC:wght@400;600;700;900&display=swap";
:root{--bg-page:#0d0b09;--bg-card:#2a2520;--bg-surface:#1e1a16;--bg-elevated:#352f2a;--bg-hover:#3d3630;--text-primary:#ede6da;--text-secondary:#a89f94;--text-muted:#6b635a;--accent:#d4a84b;--accent-hover:#e0b85c;--accent-light:#d4a84b26;--accent-glow:#d4a84b4d;--link:#c9a96e;--link-light:#e0c98f;--danger:#c45c4a;--danger-light:#c45c4a1f;--success:#6b9e5e;--warning:#d4a84b;--warning-light:#d4a84b1f;--info:#5e8db4;--info-light:#5e8db41f;--success-light:#6b9e5e1f;--border:#3d3630;--border-light:#2a2520;--border-accent:#d4a84b4d;--tag-theme:#c9a96e;--tag-theme-bg:#c9a96e26;--tag-person:#8b9dc3;--tag-person-bg:#8b9dc326;--tag-place:#a8c38b;--tag-place-bg:#a8c38b26;--tag-era:#c38ba8;--tag-era-bg:#c38ba826;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 8px #0006;--shadow-lg:0 8px 16px #00000080;--shadow-glow:0 0 20px #d4a84b33;--font-body:-apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", system-ui, sans-serif;--font-heading:"Noto Serif SC", "Source Han Serif SC", "Songti SC", Georgia, serif;--topbar-height:56px;--sidebar-width:260px;--glass-bg:#1e1a16bf;--glass-border:#d4a84b14;--glass-shadow:0 8px 32px #0006;--overlay-bg:#0006;--highlight-bg:#d4a84b40;--highlight-color:var(--accent)}*,:before,:after{box-sizing:border-box}body{font-family:var(--font-body);color:var(--text-primary);background:var(--bg-page);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0;font-size:14px;line-height:1.8}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--text-primary);letter-spacing:.02em;margin:0}h1{font-size:32px;font-weight:700;line-height:1.25}h2{font-size:26px;font-weight:600;line-height:1.3}h3{font-size:20px;font-weight:600;line-height:1.4}h4{font-size:18px;font-weight:500;line-height:1.4}a{color:var(--link);text-decoration:none;transition:color .2s}a:hover{color:var(--accent);text-decoration:underline}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}input,textarea,select{font-family:var(--font-body);color:var(--text-primary);background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);outline:none;width:100%;padding:10px 14px;font-size:14px;transition:all .2s}input:focus,textarea:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow), var(--shadow-glow);background:var(--bg-surface)}input::placeholder,textarea::placeholder,.ant-input::placeholder,.ant-input-input::placeholder{opacity:.65;color:var(--text-secondary)!important}.ant-select-selection-item{color:var(--text-primary)!important}.ant-select-selection-placeholder{opacity:.65;color:var(--text-secondary)!important}:root{--ant-color-text-base:var(--text-primary);--ant-color-text-placeholder:var(--text-secondary);--ant-color-text-quaternary:var(--text-muted)}input:disabled,textarea:disabled{opacity:.5;cursor:not-allowed;background:var(--bg-page)}input.error,textarea.error{border-color:var(--danger);box-shadow:0 0 0 3px #bf3a2b26}input[readonly],textarea[readonly]{cursor:default;color:var(--text-primary);background:0 0;border-color:#0000;padding-left:0}input[readonly]:focus,textarea[readonly]:focus{box-shadow:none;border-color:#0000}.glass-card{background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--glass-shadow)}.card{background:var(--bg-surface);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:var(--space-5);transition:all .2s}.card:hover{border-color:var(--border-accent);box-shadow:var(--shadow-glow)}.btn{border-radius:var(--radius-md);cursor:pointer;min-height:44px;font-size:14px;font-weight:500;font-family:var(--font-body);letter-spacing:.02em;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:10px 20px;transition:all .2s;display:inline-flex}.btn-primary{background:linear-gradient(135deg, var(--accent), var(--accent-hover));color:#1a1614;border:none;font-weight:600}.btn-primary:hover{box-shadow:var(--shadow-glow);transform:translateY(-1px)}.btn-secondary{color:var(--accent);border:1px solid var(--border-accent);background:0 0}.btn-secondary:hover{background:var(--accent-light)}.btn-danger{color:var(--danger);background:0 0;border:1px solid #bf3a2b4d}.btn-danger:hover{background:var(--danger-light)}.btn-sm{min-height:36px;padding:6px 14px;font-size:13px}.btn-ghost{color:var(--text-secondary);background:0 0}.btn-ghost:hover{color:var(--text-primary);background:var(--bg-hover)}.tag{letter-spacing:.03em;border-radius:4px;align-items:center;padding:2px 10px;font-size:12px;font-weight:500;line-height:1.6;display:inline-flex}.tag-theme{background:var(--tag-theme-bg);color:var(--tag-theme);border:1px solid #8ab4d433}.tag-person{background:var(--tag-person-bg);color:var(--tag-person);border:1px solid #d4a84b33}.tag-place{background:var(--tag-place-bg);color:var(--tag-place);border:1px solid #a0907a33}.tag-era{background:var(--tag-era-bg);color:var(--tag-era);border:1px solid #c9a84c33}.tag-gold{background:var(--accent-light);color:var(--accent);border:1px solid var(--border-accent)}table{border-collapse:collapse;border-radius:var(--radius-md);width:100%;overflow:hidden}th{text-align:left;color:var(--accent);text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid var(--border-accent);background:var(--bg-card);padding:14px 16px;font-size:12px;font-weight:700}td{color:var(--text-primary);border-bottom:1px solid var(--border-light);padding:14px 16px;font-size:14px;transition:background .15s}tr:last-child td{border-bottom:none}tr:hover td{background:var(--bg-hover)}.ant-table{font-size:14px}.ant-table-thead>tr>th{letter-spacing:.08em;font-size:12px;font-weight:700;border-bottom:1px solid var(--border-accent)!important}.ant-table-tbody>tr>td{border-bottom:1px solid var(--border-light)!important}.save-indicator{border-radius:20px;align-items:center;gap:6px;padding:4px 12px;font-size:12px;transition:all .3s;display:inline-flex}.save-indicator.saving{color:var(--warning);background:#d4a84b26}.save-indicator.saved{color:var(--success);background:#4caf501f}.save-indicator.unsaved{color:var(--danger);background:#bf3a2b1a}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-xl);padding:var(--space-8);width:90vw;max-width:640px;box-shadow:var(--shadow-lg);animation:.2s modalIn}@keyframes modalIn{0%{opacity:0;transform:scale(.95)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes slideIn{0%{transform:translate(-100%)}to{transform:translate(0)}}::selection{background:var(--accent-glow);color:var(--accent)}.ant-message{pointer-events:none}.ant-message-notice{pointer-events:auto}.text-accent{color:var(--accent)}.text-muted{color:var(--text-muted)}.text-secondary{color:var(--text-secondary)}.text-center{text-align:center}.flex{display:flex}.flex-center{justify-content:center;align-items:center;display:flex}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.mt-4{margin-top:var(--space-4)}.mb-4{margin-bottom:var(--space-4)}.p-4{padding:var(--space-4)}
@media (max-width:1200px){.ant-table-wrapper{overflow-x:auto}img{max-width:100%;height:auto}}@media (max-width:1023px){.ant-layout-content{padding:16px!important}}@media (max-width:639px){body{font-size:13px}h1{font-size:22px}h2{font-size:18px}h3{font-size:16px}.ant-table{font-size:12px}.ant-table-wrapper{overflow-x:auto}.grid-2,.grid-3{grid-template-columns:1fr!important}.grid-4{grid-template-columns:1fr 1fr!important}.ant-modal{max-width:100vw!important;margin:0!important;top:0!important}.ant-modal-content{min-height:100vh;border-radius:0!important}.two-col{grid-template-columns:1fr!important}.ant-layout-content{padding:12px!important}.ant-btn{min-height:44px}.ant-input{min-height:44px;font-size:16px}}@media print{.ant-layout-header,.ant-drawer{display:none!important}.ant-layout-content{margin:0!important;padding:0!important}body{color:#000;background:#fff}}
