:root{--violet-900:#1f0a4a;--violet-800:#2d0d70;--violet-700:#4b0099;--violet-600:#6420b8;--violet-500:#7c3fd6;--violet-100:#f1eaff;--violet-50:#f7f3fe;--orange-600:#d94a00;--orange-500:#f05000;--orange-100:#ffece3;--ink:#171321;--ink-soft:#5b5570;--ink-faint:#8b85a0;--line:#e7e1f5;--line-soft:#f0ecfa;--surface:#fff;--bg:#f7f5fb;--success:#1a8f5c;--success-bg:#e6f7ef;--warning:#b9770e;--warning-bg:#fdf3e0;--danger:#c62839;--danger-bg:#fbe9eb;--info:#2a5fd6;--info-bg:#eaf0fd;--radius-sm:6px;--radius:8px;--radius-lg:10px;--shadow-card:0 1px 2px #1f0a4a0f, 0 1px 1px #1f0a4a0a;--shadow-pop:0 8px 24px #1f0a4a24;--font-ui:"Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, monospace;--sidebar-width:240px;--sidebar-width-collapsed:64px}*{box-sizing:border-box}body{font-family:var(--font-ui);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;margin:0}a{color:inherit;text-decoration:none}button{font-family:inherit}.admin-shell{min-height:100vh;display:flex}.admin-main{flex-direction:column;flex:1;min-width:0;display:flex}.admin-content{width:100%;max-width:1280px;margin:0 auto;padding:28px 32px}.page-title{letter-spacing:-.01em;font-size:22px;font-weight:700}.section-label{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-faint);font-size:11px;font-weight:600}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.btn{border-radius:var(--radius);cursor:pointer;border:1px solid #0000;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:600;transition:background .12s,border-color .12s;display:inline-flex}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--violet-700);color:#fff}.btn-primary:hover:not(:disabled){background:var(--violet-800)}.btn-secondary{background:var(--surface);color:var(--ink);border-color:var(--line)}.btn-secondary:hover:not(:disabled){background:var(--violet-50);border-color:var(--violet-500)}.btn-ghost{color:var(--ink-soft);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--line-soft);color:var(--ink)}.btn-danger{color:var(--danger);background:0 0}.btn-danger:hover:not(:disabled){background:var(--danger-bg)}.btn-sm{padding:5px 10px;font-size:12.5px}.field{flex-direction:column;gap:6px;display:flex}.field label{color:var(--ink-soft);font-size:12.5px;font-weight:600}.input,select.input,textarea.input{width:100%;color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);outline:none;padding:8px 10px;font-family:inherit;font-size:14px;transition:border-color .12s,box-shadow .12s}.input:focus,select.input:focus,textarea.input:focus{border-color:var(--violet-500);box-shadow:0 0 0 3px var(--violet-100)}.input-title{width:100%;font-size:26px;font-weight:700;font-family:var(--font-ui);color:var(--ink);background:0 0;border:none;outline:none}.input-title::placeholder{color:var(--ink-faint)}.badge{white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:3px 9px;font-size:11.5px;font-weight:600;display:inline-flex}.badge-draft{background:var(--line-soft);color:var(--ink-soft)}.badge-scheduled{background:var(--info-bg);color:var(--info)}.badge-published{background:var(--success-bg);color:var(--success)}.badge-warning{background:var(--warning-bg);color:var(--warning)}.table{border-collapse:collapse;width:100%;font-size:13.5px}.table th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-faint);border-bottom:1px solid var(--line);padding:10px 14px;font-size:11.5px;font-weight:600}.table td{border-bottom:1px solid var(--line-soft);vertical-align:middle;padding:12px 14px}.table tr:last-child td{border-bottom:none}.table tr:hover td{background:var(--violet-50)}.md-toolbar{border:1px solid var(--line);border-radius:var(--radius) var(--radius) 0 0;background:var(--bg);border-bottom:none;gap:2px;padding:6px;display:flex}.md-toolbar-btn{width:30px;height:28px;color:var(--ink-soft);cursor:pointer;background:0 0;border:none;border-radius:5px;font-size:12.5px;font-weight:600}.md-toolbar-btn:hover{background:var(--violet-100);color:var(--violet-700)}.md-editor-shell .cm-editor{border:1px solid var(--line);border-radius:0 0 var(--radius) var(--radius)}.md-editor-shell .cm-editor.cm-focused{border-color:var(--violet-500);box-shadow:0 0 0 3px var(--violet-100);outline:none}.md-editor-shell .cm-scroller{font-family:var(--font-mono)}.preview-header{max-width:640px;margin:0 auto 24px}.preview-header .cat{font-family:var(--font-mono);color:var(--orange-600);letter-spacing:.06em;text-transform:uppercase;margin-bottom:12px;font-size:11px}.preview-header h1{color:var(--violet-900);margin-bottom:12px;font-size:28px;font-weight:700;line-height:1.2}.preview-excerpt{color:var(--ink-soft);margin-bottom:20px;font-size:15px;line-height:1.6}.preview-hero{aspect-ratio:16/9;background:var(--violet-100);border-radius:12px;max-width:640px;margin-bottom:24px;margin-left:auto;margin-right:auto;overflow:hidden}.preview-hero img{object-fit:cover;width:100%;height:100%;display:block}.article-preview{max-width:640px;color:var(--ink);overflow-wrap:break-word;margin:0 auto;font-size:15.5px;line-height:1.75}.article-preview h2{color:var(--violet-900);margin:1.8em 0 .5em;font-size:23px;font-weight:700;line-height:1.3}.article-preview h3{color:var(--violet-900);margin:1.4em 0 .5em;font-size:18px;font-weight:700;line-height:1.35}.article-preview h2:first-child,.article-preview h3:first-child{margin-top:0}.article-preview p{margin:0 0 1em}.article-preview ul,.article-preview ol{margin:0 0 1em;padding-left:22px}.article-preview li{margin-bottom:6px}.article-preview li::marker{color:var(--orange-600)}.article-preview a{color:var(--violet-700);text-underline-offset:2px;text-decoration:underline}.article-preview a:hover{color:var(--orange-600)}.article-preview blockquote{border-left:3px solid var(--orange-500);color:var(--ink-soft);margin:1.4em 0;padding:2px 0 2px 18px;font-style:italic}.article-preview code{font-family:var(--font-mono);background:var(--violet-50);border-radius:4px;padding:1px 5px;font-size:.9em}.article-preview img{border-radius:var(--radius);max-width:100%;margin:1em 0}.article-preview strong{color:var(--violet-900)}::selection{background:var(--violet-100)}
