:root{--color-text-primary: #000000;--color-text-secondary: #757575;--color-text-tertiary: #999999;--color-background: #FFFFFF;--color-background-secondary: #F5F5F5;--color-border: #DDDDDD;--color-border-light: #ECECEC;--color-input-border: #CCCCCC;--spacing-xs: .5rem;--spacing-sm: 1rem;--spacing-md: 2rem;--spacing-lg: 3rem;--spacing-xl: 4rem;--spacing-2xl: 6rem;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1.125rem;--font-size-lg: 1.5rem;--font-size-xl: 2rem;--font-size-2xl: 3rem;--line-height-tight: 1.2;--line-height-normal: 1.5;--line-height-relaxed: 1.7;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-weight-black: 900;--max-width-narrow: 720px;--max-width-medium: 1000px;--max-width-wide: 1400px;--border-radius: 0;--transition-speed: .2s}*,*:before,*:after{box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;padding:0;font-family:var(--font-family);font-size:var(--font-size-base);line-height:var(--line-height-relaxed);color:var(--color-text-primary);background-color:var(--color-background)}h1,h2,h3,h4,h5,h6{margin:0;font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);color:var(--color-text-primary)}h1{font-size:clamp(2rem,5vw,4rem);font-weight:var(--font-weight-black);margin-bottom:var(--spacing-md)}h2{font-size:clamp(1.75rem,4vw,3rem);margin-bottom:var(--spacing-md)}h3{font-size:var(--font-size-xl);margin-bottom:var(--spacing-sm)}h4{font-size:var(--font-size-lg);margin-bottom:var(--spacing-sm)}p{margin:0 0 var(--spacing-sm) 0;color:var(--color-text-primary)}a{color:var(--color-text-primary);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px;transition:opacity var(--transition-speed)}a:hover{opacity:.7}button,.button{font-family:var(--font-family);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);padding:.75rem 1.5rem;border:2px solid var(--color-text-primary);background-color:var(--color-text-primary);color:var(--color-background);cursor:pointer;transition:all var(--transition-speed);border-radius:var(--border-radius)}button:hover:not(:disabled),.button:hover{background-color:#333;border-color:#333}button:disabled{opacity:.5;cursor:not-allowed}button.secondary,.button.secondary{background-color:transparent;color:var(--color-text-primary)}button.secondary:hover:not(:disabled),.button.secondary:hover{background-color:var(--color-background-secondary);border-color:var(--color-text-primary)}input,textarea,select{font-family:var(--font-family);font-size:var(--font-size-base);padding:.75rem 1rem;border:1px solid var(--color-input-border);background-color:var(--color-background);color:var(--color-text-primary);border-radius:var(--border-radius);transition:border-color var(--transition-speed)}input:focus,textarea:focus,select:focus{outline:none;border:2px solid var(--color-text-primary);padding:calc(.75rem - 1px) calc(1rem - 1px)}textarea{resize:vertical;font-family:var(--font-family)}.container{width:100%;max-width:var(--max-width-wide);margin:0 auto;padding:0 var(--spacing-md)}.container-narrow{max-width:var(--max-width-narrow)}.container-medium{max-width:var(--max-width-medium)}.text-center{text-align:center}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mt-xl{margin-top:var(--spacing-xl)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.mb-xl{margin-bottom:var(--spacing-xl)}.loading{text-align:center;padding:var(--spacing-xl);color:var(--color-text-secondary);font-size:var(--font-size-lg)}@media(max-width:768px){:root{--spacing-md: 1.5rem;--spacing-lg: 2rem;--spacing-xl: 3rem;--spacing-2xl: 4rem}.container{padding:0 var(--spacing-sm)}body{font-size:1rem}}#root{min-height:100vh;display:flex;flex-direction:column}.header{background:var(--color-background);border-bottom:1px solid var(--color-border);padding:var(--spacing-md) 0;position:sticky;top:0;z-index:100}.header .container{display:flex;justify-content:space-between;align-items:center}.logo{font-size:var(--font-size-lg);font-weight:var(--font-weight-black);color:var(--color-text-primary);text-decoration:none;letter-spacing:-.02em}.logo:hover{opacity:1;text-decoration:none}.nav{display:flex;align-items:center;gap:var(--spacing-md)}.nav a{color:var(--color-text-primary);text-decoration:none;font-weight:var(--font-weight-medium);font-size:var(--font-size-base);transition:opacity var(--transition-speed)}.nav a:hover{opacity:.6}.logout-btn{background:transparent;color:var(--color-text-primary);border:1px solid var(--color-border);padding:.5rem 1rem;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-speed)}.logout-btn:hover{background:var(--color-text-primary);color:var(--color-background);border-color:var(--color-text-primary)}@media(max-width:768px){.header{padding:var(--spacing-sm) 0}.nav{gap:var(--spacing-sm)}.nav a{font-size:var(--font-size-sm)}}.footer{border-top:1px solid var(--color-border);padding:var(--spacing-lg) 0;margin-top:auto;background:var(--color-background)}.footer p{text-align:center;margin:0;color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.footer a{color:var(--color-text-secondary);text-decoration:none;transition:color var(--transition-speed)}.footer a:hover{color:var(--color-text-primary);text-decoration:underline}@media(max-width:768px){.footer p{font-size:var(--font-size-xs);padding:0 var(--spacing-md)}}.app-layout{display:flex;flex-direction:column;min-height:100vh}.main-content{flex:1;padding:var(--spacing-xl) 0;background:var(--color-background)}.layout-centered .main-content{display:flex;align-items:center;justify-content:center;padding:var(--spacing-lg) 0}.layout-wide .main-content{max-width:none}.layout-wide .main-content .container{max-width:var(--max-width-wide)}.layout-admin{flex-direction:row;flex-wrap:wrap}.layout-admin .header{width:100%}.layout-admin .main-content{flex:1;padding:var(--spacing-lg)}.layout-admin .footer{width:100%}.layout-narrow .main-content .container{max-width:var(--max-width-narrow)}.content-wrapper{width:100%;max-width:var(--max-width-wide);margin:0 auto;padding:0 var(--spacing-md)}.app-layout .footer{margin-top:auto}.breadcrumb-area{padding:var(--spacing-sm) 0;border-bottom:1px solid var(--color-border-light);margin-bottom:var(--spacing-md)}.breadcrumb{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.breadcrumb a{color:var(--color-text-secondary);text-decoration:none}.breadcrumb a:hover{color:var(--color-text-primary)}.breadcrumb-separator{color:var(--color-text-tertiary)}.page-enter{opacity:0;transform:translateY(10px)}.page-enter-active{opacity:1;transform:translateY(0);transition:opacity .3s ease,transform .3s ease}@media(max-width:768px){.main-content{padding:var(--spacing-md) 0}.layout-admin{flex-direction:column}.layout-centered .main-content{padding:var(--spacing-md) 0}}.article-card{background:var(--color-background);border-bottom:1px solid var(--color-border-light);padding:var(--spacing-xl) 0;transition:opacity var(--transition-speed)}.article-card:hover{opacity:.8}.article-card:last-child{border-bottom:none}.article-link{text-decoration:none;color:inherit;display:block}.article-title{margin:0 0 var(--spacing-sm) 0;font-size:clamp(1.5rem,3vw,2.5rem);font-weight:var(--font-weight-black);color:var(--color-text-primary);line-height:var(--line-height-tight);letter-spacing:-.02em}.article-summary{color:var(--color-text-secondary);line-height:var(--line-height-relaxed);margin:0 0 var(--spacing-md) 0;font-size:var(--font-size-base)}.article-meta{display:flex;gap:var(--spacing-md);font-size:var(--font-size-sm);color:var(--color-text-tertiary);margin-bottom:var(--spacing-sm);flex-wrap:wrap}.article-date{font-weight:var(--font-weight-medium)}.article-categories{color:var(--color-text-primary);font-weight:var(--font-weight-medium)}.article-views{color:var(--color-text-tertiary)}.article-tags{display:flex;gap:var(--spacing-sm);flex-wrap:wrap}.tag{background:transparent;color:var(--color-text-primary);border:1px solid var(--color-border);padding:.25rem .75rem;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);transition:all var(--transition-speed)}.tag:hover{background:var(--color-text-primary);color:var(--color-background);border-color:var(--color-text-primary)}@media(max-width:768px){.article-card{padding:var(--spacing-md) 0}.article-meta{gap:var(--spacing-sm)}}@keyframes skeleton-loading{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}.skeleton{background:linear-gradient(90deg,var(--color-background-secondary) 0px,#e8e8e8 50px,var(--color-background-secondary) 100px);background-size:200px 100%;animation:skeleton-loading 1.5s ease-in-out infinite;border-radius:2px}.skeleton-text{height:1em;margin-bottom:.75em;width:100%}.skeleton-title{height:1.5em;margin-bottom:1em;width:60%}.skeleton-title-large{height:2.5em;margin-bottom:1.5em;width:80%}.skeleton-meta{height:.875em;margin-bottom:1em;width:150px}.skeleton-avatar{width:48px;height:48px;border-radius:50%}.skeleton-image{width:100%;height:200px}.skeleton-button{width:100px;height:40px}.skeleton-card-wrapper{display:grid;gap:var(--spacing-md)}.skeleton-card{border:1px solid var(--color-border);overflow:hidden}.skeleton-card-content{padding:var(--spacing-md)}.article-list-skeleton{display:flex;flex-direction:column;gap:var(--spacing-lg)}.article-skeleton{padding:var(--spacing-lg) 0;border-bottom:1px solid var(--color-border-light)}.article-skeleton:last-child{border-bottom:none}.article-detail-skeleton{padding:var(--spacing-xl) 0}.skeleton-content{margin-top:var(--spacing-lg)}.skeleton-content .skeleton-text{margin-bottom:1em}@media(max-width:768px){.skeleton-title{width:80%}.skeleton-image{height:150px}}.table-skeleton{border:1px solid var(--color-border);overflow:hidden}.skeleton-table-header{display:flex;gap:1px;background:var(--color-background-secondary);padding:var(--spacing-sm);border-bottom:1px solid var(--color-border)}.skeleton-cell-header{flex:1;height:1.25rem}.skeleton-table-row{display:flex;gap:1px;padding:var(--spacing-sm);border-bottom:1px solid var(--color-border-light)}.skeleton-table-row:last-child{border-bottom:none}.skeleton-cell{flex:1;height:1rem}.settings-skeleton{max-width:600px}.settings-skeleton-group{margin-bottom:var(--spacing-md)}.settings-skeleton-group .skeleton-text{margin-bottom:var(--spacing-xs)}.skeleton-input{height:48px;width:100%}.skeleton-textarea{height:120px;width:100%}.article-list{max-width:var(--max-width-medium);margin:0 auto}.article-list .loading,.article-list .no-articles{padding:var(--spacing-2xl);text-align:center;color:var(--color-text-secondary);font-size:var(--font-size-lg)}.home-page{min-height:60vh}.home-page .container{max-width:var(--max-width-medium)}.pagination{display:flex;justify-content:center;align-items:center;gap:var(--spacing-md);margin:var(--spacing-xl) 0;padding-top:var(--spacing-lg);border-top:1px solid var(--color-border-light)}.pagination button{background:transparent;border:1px solid var(--color-text-primary);color:var(--color-text-primary);padding:.75rem 1.5rem;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-speed)}.pagination button:hover:not(:disabled){background:var(--color-text-primary);color:var(--color-background)}.pagination button:disabled{opacity:.3;cursor:not-allowed;border-color:var(--color-border);color:var(--color-text-tertiary)}.page-info{color:var(--color-text-secondary);font-weight:var(--font-weight-medium);font-size:var(--font-size-base)}@media(max-width:768px){.pagination{gap:var(--spacing-sm)}.pagination button{padding:.5rem 1rem;font-size:var(--font-size-sm)}}.markdown-content{color:var(--color-text-primary);line-height:1.8;font-size:var(--font-size-base);word-wrap:break-word}.markdown-content h1,.markdown-content h2,.markdown-content h3,.markdown-content h4,.markdown-content h5,.markdown-content h6{margin:2em 0 1em;font-weight:700;line-height:1.3;color:var(--color-text-primary);letter-spacing:-.02em}.markdown-content h1{font-size:2.25rem;border-bottom:2px solid var(--color-border-light);padding-bottom:.3em}.markdown-content h2{font-size:1.8rem;padding-bottom:.3em;border-bottom:1px solid var(--color-border-light)}.markdown-content h3{font-size:1.5rem}.markdown-content h4{font-size:1.25rem}.markdown-content p{margin-bottom:1.5em;line-height:1.8}.markdown-content a{color:var(--color-primary);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .2s}.markdown-content a:hover{border-bottom-color:var(--color-primary);opacity:.9}.markdown-content ul,.markdown-content ol{margin-bottom:1.5em;padding-left:1.5em}.markdown-content li{margin:.5em 0}.markdown-content li>p{margin-bottom:.5em}.markdown-content blockquote{margin:1.5em 0;padding:1em 1.5em;background:var(--color-background-secondary);border-left:4px solid var(--color-primary);border-radius:4px;color:#555;font-style:italic}.markdown-content blockquote p:last-child{margin-bottom:0}.markdown-content code{background:#afb8c133;padding:.2em .4em;border-radius:6px;font-family:JetBrains Mono,Fira Code,monospace;font-size:.85em;color:#d12c56}.markdown-content pre{border-radius:8px;margin:1.5em 0;overflow:hidden;box-shadow:0 4px 12px #0000000d}.markdown-content img{max-width:100%;height:auto;margin:2em auto;display:block;border-radius:8px;box-shadow:0 4px 12px #0000001a}.markdown-content table{width:100%;border-collapse:collapse;margin:2em 0;display:block;overflow-x:auto;font-size:.95em}.markdown-content th,.markdown-content td{padding:12px 16px;border:1px solid var(--color-border);text-align:left}.markdown-content th{background:var(--color-background-secondary);font-weight:600}.markdown-content tr:nth-child(2n){background-color:#fafbfc}.markdown-content hr{height:1px;border:none;background-color:var(--color-border);margin:3em 0}.markdown-content .task-list-item{list-style:none;display:flex;align-items:flex-start}.markdown-content .task-list-item input{margin-top:.3em;margin-right:.5em}@media(max-width:768px){.markdown-content{font-size:16px}.markdown-content h1{font-size:1.75rem}.markdown-content h2{font-size:1.5rem}}.comment-list{background:var(--color-background);padding:var(--spacing-lg) 0;margin-top:var(--spacing-xl);border-top:1px solid var(--color-border-light)}.comment-list h3{margin:0 0 var(--spacing-lg) 0;font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.comment-item{padding:var(--spacing-md) 0;border-bottom:1px solid var(--color-border-light);position:relative}.comment-item:last-child{border-bottom:none}.comment-header{display:flex;justify-content:space-between;margin-bottom:var(--spacing-xs);align-items:baseline}.comment-author{font-weight:var(--font-weight-bold);color:var(--color-text-primary);font-size:var(--font-size-base)}.comment-date{color:var(--color-text-tertiary);font-size:var(--font-size-sm)}.comment-content{color:var(--color-text-primary);line-height:var(--line-height-relaxed);margin:0 0 var(--spacing-sm) 0;font-size:var(--font-size-base)}.delete-btn{background:transparent;color:var(--color-text-primary);border:1px solid var(--color-border);padding:.375rem .875rem;font-size:var(--font-size-sm);cursor:pointer;margin-top:var(--spacing-xs);transition:all var(--transition-speed);font-weight:var(--font-weight-medium)}.no-comments{text-align:center;padding:var(--spacing-xl);color:var(--color-text-secondary);font-size:var(--font-size-base)}.toast-container{position:fixed;top:20px;right:20px;z-index:9999;display:flex;flex-direction:column;gap:10px;max-height:100vh;pointer-events:none}.toast-item{pointer-events:auto;min-width:300px;max-width:400px;background:#fff;padding:12px 16px;border-radius:8px;box-shadow:0 4px 12px #00000026;display:flex;align-items:flex-start;gap:12px;animation:toastSlideIn .3s cubic-bezier(.18,.89,.32,1.28);border-left:4px solid #1890ff;font-size:14px;line-height:1.5;color:#333;position:relative;overflow:hidden}@keyframes toastSlideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.toast-success{border-left-color:#52c41a}.toast-success .toast-icon{color:#52c41a}.toast-error{border-left-color:#ff4d4f}.toast-error .toast-icon{color:#ff4d4f}.toast-warning{border-left-color:#faad14}.toast-warning .toast-icon{color:#faad14}.toast-info{border-left-color:#1890ff}.toast-info .toast-icon{color:#1890ff}.toast-icon{font-size:16px;margin-top:1px}.toast-message{flex:1;word-break:break-word}.toast-close{background:none;border:none;color:#999;cursor:pointer;font-size:18px;padding:0;margin-left:8px;line-height:1;transition:color .2s}.toast-close:hover{color:#333}.comment-form{background:var(--color-background);padding:var(--spacing-lg) 0;margin-top:var(--spacing-xl);border-top:1px solid var(--color-border-light)}.comment-form h3{margin:0 0 var(--spacing-md) 0;font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.comment-form .form-group{margin-bottom:var(--spacing-md)}.comment-form label{display:block;margin-bottom:var(--spacing-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);font-size:var(--font-size-base)}.comment-form input,.comment-form textarea{width:100%;font-family:var(--font-family);font-size:var(--font-size-base);padding:.75rem 1rem;border:1px solid var(--color-input-border);background-color:var(--color-background);color:var(--color-text-primary);transition:border-color var(--transition-speed)}.comment-form input:focus,.comment-form textarea:focus{outline:none;border:2px solid var(--color-text-primary);padding:calc(.75rem - 1px) calc(1rem - 1px)}.comment-form textarea{resize:vertical;min-height:120px;font-family:var(--font-family)}.comment-form button{background:var(--color-text-primary);color:var(--color-background);border:2px solid var(--color-text-primary);padding:.75rem 2rem;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-speed)}.comment-form button:hover:not(:disabled){background:#333;border-color:#333}.comment-form button:disabled{opacity:.5;cursor:not-allowed}.confirm-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:10000;animation:fadeIn .2s ease-out}.confirm-modal{background:#fff;width:90%;max-width:400px;border-radius:12px;box-shadow:0 8px 30px #0003;overflow:hidden;animation:scaleIn .2s ease-out;display:flex;flex-direction:column}.confirm-header{padding:20px 24px 10px}.confirm-header h3{margin:0;font-size:18px;font-weight:600;color:#333}.confirm-body{padding:0 24px 24px;color:#666;font-size:15px;line-height:1.6}.confirm-footer{padding:16px 24px;background-color:#f9fafb;display:flex;justify-content:flex-end;gap:12px;border-top:1px solid #f0f0f0}.confirm-footer button{padding:8px 16px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;border:none}.btn-cancel{background-color:#fff;color:#666;border:1px solid #d9d9d9!important}.btn-cancel:hover{color:#40a9ff;border-color:#40a9ff!important}.btn-confirm{background-color:#1890ff;color:#fff}.btn-confirm:hover{background-color:#40a9ff}.confirm-danger .btn-confirm{background-color:#ff4d4f}.confirm-danger .btn-confirm:hover{background-color:#ff7875}.confirm-danger .confirm-header h3{color:#ff4d4f}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.article-detail-page{min-height:60vh}.article-detail-page .container{max-width:var(--max-width-medium)}.article-content{background:var(--color-background);padding:0}.article-title{font-size:clamp(2.5rem,6vw,4.5rem);margin:0 0 var(--spacing-lg) 0;color:var(--color-text-primary);line-height:var(--line-height-tight);font-weight:var(--font-weight-black);letter-spacing:-.03em}.article-meta{display:flex;flex-wrap:wrap;gap:var(--spacing-md);padding:var(--spacing-md) 0;margin-bottom:var(--spacing-lg);border-top:1px solid var(--color-border-light);border-bottom:1px solid var(--color-border-light);color:var(--color-text-secondary);font-size:var(--font-size-sm)}.article-meta span{display:inline-block}.article-tags{display:flex;gap:var(--spacing-sm);flex-wrap:wrap;margin-bottom:var(--spacing-lg)}.article-tags .tag{background:transparent;color:var(--color-text-primary);border:1px solid var(--color-border);padding:.375rem .875rem;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);transition:all var(--transition-speed)}.article-tags .tag:hover{background:var(--color-text-primary);color:var(--color-background)}.article-actions{margin-bottom:var(--spacing-lg)}.article-actions button{background:transparent;color:var(--color-text-primary);border:1px solid var(--color-text-primary);padding:.75rem 1.5rem;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold)}.article-actions button:hover{background:var(--color-text-primary);color:var(--color-background)}.article-body{margin-top:var(--spacing-xl);padding-bottom:var(--spacing-xl);border-bottom:1px solid var(--color-border-light)}@media(max-width:768px){.article-meta{gap:var(--spacing-sm)}}.CodeMirror{font-family:monospace;height:300px;color:#000;direction:ltr}.CodeMirror-lines{padding:4px 0}.CodeMirror pre.CodeMirror-line,.CodeMirror pre.CodeMirror-line-like{padding:0 4px}.CodeMirror-gutter-filler,.CodeMirror-scrollbar-filler{background-color:#fff}.CodeMirror-gutters{border-right:1px solid #ddd;background-color:#f7f7f7;white-space:nowrap}.CodeMirror-linenumber{padding:0 3px 0 5px;min-width:20px;text-align:right;color:#999;white-space:nowrap}.CodeMirror-guttermarker{color:#000}.CodeMirror-guttermarker-subtle{color:#999}.CodeMirror-cursor{border-left:1px solid #000;border-right:none;width:0}.CodeMirror div.CodeMirror-secondarycursor{border-left:1px solid silver}.cm-fat-cursor .CodeMirror-cursor{width:auto;border:0!important;background:#7e7}.cm-fat-cursor div.CodeMirror-cursors{z-index:1}.cm-fat-cursor .CodeMirror-line::selection,.cm-fat-cursor .CodeMirror-line>span::selection,.cm-fat-cursor .CodeMirror-line>span>span::selection{background:0 0}.cm-fat-cursor .CodeMirror-line::-moz-selection,.cm-fat-cursor .CodeMirror-line>span::-moz-selection,.cm-fat-cursor .CodeMirror-line>span>span::-moz-selection{background:0 0}.cm-fat-cursor{caret-color:transparent}@-moz-keyframes blink{50%{background-color:transparent}}@-webkit-keyframes blink{50%{background-color:transparent}}@keyframes blink{50%{background-color:transparent}}.cm-tab{display:inline-block;text-decoration:inherit}.CodeMirror-rulers{position:absolute;inset:-50px 0 0;overflow:hidden}.CodeMirror-ruler{border-left:1px solid #ccc;top:0;bottom:0;position:absolute}.cm-s-default .cm-header{color:#00f}.cm-s-default .cm-quote{color:#090}.cm-negative{color:#d44}.cm-positive{color:#292}.cm-header,.cm-strong{font-weight:700}.cm-em{font-style:italic}.cm-link{text-decoration:underline}.cm-strikethrough{text-decoration:line-through}.cm-s-default .cm-keyword{color:#708}.cm-s-default .cm-atom{color:#219}.cm-s-default .cm-number{color:#164}.cm-s-default .cm-def{color:#00f}.cm-s-default .cm-variable-2{color:#05a}.cm-s-default .cm-type,.cm-s-default .cm-variable-3{color:#085}.cm-s-default .cm-comment{color:#a50}.cm-s-default .cm-string{color:#a11}.cm-s-default .cm-string-2{color:#f50}.cm-s-default .cm-meta,.cm-s-default .cm-qualifier{color:#555}.cm-s-default .cm-builtin{color:#30a}.cm-s-default .cm-bracket{color:#997}.cm-s-default .cm-tag{color:#170}.cm-s-default .cm-attribute{color:#00c}.cm-s-default .cm-hr{color:#999}.cm-s-default .cm-link{color:#00c}.cm-s-default .cm-error,.cm-invalidchar{color:red}.CodeMirror-composing{border-bottom:2px solid}div.CodeMirror span.CodeMirror-matchingbracket{color:#0b0}div.CodeMirror span.CodeMirror-nonmatchingbracket{color:#a22}.CodeMirror-matchingtag{background:#ff96004d}.CodeMirror-activeline-background{background:#e8f2ff}.CodeMirror{position:relative;overflow:hidden;background:#fff}.CodeMirror-scroll{overflow:scroll!important;margin-bottom:-50px;margin-right:-50px;padding-bottom:50px;height:100%;outline:0;position:relative;z-index:0}.CodeMirror-sizer{position:relative;border-right:50px solid transparent}.CodeMirror-gutter-filler,.CodeMirror-hscrollbar,.CodeMirror-scrollbar-filler,.CodeMirror-vscrollbar{position:absolute;z-index:6;display:none;outline:0}.CodeMirror-vscrollbar{right:0;top:0;overflow-x:hidden;overflow-y:scroll}.CodeMirror-hscrollbar{bottom:0;left:0;overflow-y:hidden;overflow-x:scroll}.CodeMirror-scrollbar-filler{right:0;bottom:0}.CodeMirror-gutter-filler{left:0;bottom:0}.CodeMirror-gutters{position:absolute;left:0;top:0;min-height:100%;z-index:3}.CodeMirror-gutter{white-space:normal;height:100%;display:inline-block;vertical-align:top;margin-bottom:-50px}.CodeMirror-gutter-wrapper{position:absolute;z-index:4;background:0 0!important;border:none!important}.CodeMirror-gutter-background{position:absolute;top:0;bottom:0;z-index:4}.CodeMirror-gutter-elt{position:absolute;cursor:default;z-index:4}.CodeMirror-gutter-wrapper ::selection{background-color:transparent}.CodeMirror-gutter-wrapper ::-moz-selection{background-color:transparent}.CodeMirror-lines{cursor:text;min-height:1px}.CodeMirror pre.CodeMirror-line,.CodeMirror pre.CodeMirror-line-like{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0;border-width:0;background:0 0;font-family:inherit;font-size:inherit;margin:0;white-space:pre;word-wrap:normal;line-height:inherit;color:inherit;z-index:2;position:relative;overflow:visible;-webkit-tap-highlight-color:transparent;-webkit-font-variant-ligatures:contextual;font-variant-ligatures:contextual}.CodeMirror-wrap pre.CodeMirror-line,.CodeMirror-wrap pre.CodeMirror-line-like{word-wrap:break-word;white-space:pre-wrap;word-break:normal}.CodeMirror-linebackground{position:absolute;inset:0;z-index:0}.CodeMirror-linewidget{position:relative;z-index:2;padding:.1px}.CodeMirror-code{outline:0}.CodeMirror-gutter,.CodeMirror-gutters,.CodeMirror-linenumber,.CodeMirror-scroll,.CodeMirror-sizer{-moz-box-sizing:content-box;box-sizing:content-box}.CodeMirror-measure{position:absolute;width:100%;height:0;overflow:hidden;visibility:hidden}.CodeMirror-cursor{position:absolute;pointer-events:none}.CodeMirror-measure pre{position:static}div.CodeMirror-cursors{visibility:hidden;position:relative;z-index:3}div.CodeMirror-dragcursors,.CodeMirror-focused div.CodeMirror-cursors{visibility:visible}.CodeMirror-selected{background:#d9d9d9}.CodeMirror-focused .CodeMirror-selected{background:#d7d4f0}.CodeMirror-crosshair{cursor:crosshair}.CodeMirror-line::selection,.CodeMirror-line>span::selection,.CodeMirror-line>span>span::selection{background:#d7d4f0}.CodeMirror-line::-moz-selection,.CodeMirror-line>span::-moz-selection,.CodeMirror-line>span>span::-moz-selection{background:#d7d4f0}.cm-searching{background-color:#ffa;background-color:#ff06}.cm-force-border{padding-right:.1px}@media print{.CodeMirror div.CodeMirror-cursors{visibility:hidden}}.cm-tab-wrap-hack:after{content:""}span.CodeMirror-selectedtext{background:0 0}.EasyMDEContainer{display:block}.CodeMirror-rtl pre{direction:rtl}.EasyMDEContainer.sided--no-fullscreen{display:flex;flex-direction:row;flex-wrap:wrap}.EasyMDEContainer .CodeMirror{box-sizing:border-box;height:auto;border:1px solid #ced4da;border-bottom-left-radius:4px;border-bottom-right-radius:4px;padding:10px;font:inherit;z-index:0;word-wrap:break-word}.EasyMDEContainer .CodeMirror-scroll{cursor:text}.EasyMDEContainer .CodeMirror-fullscreen{background:#fff;position:fixed!important;inset:50px 0 0;height:auto;z-index:8;border-right:none!important;border-bottom-right-radius:0!important}.EasyMDEContainer .CodeMirror-sided{width:50%!important}.EasyMDEContainer.sided--no-fullscreen .CodeMirror-sided{border-right:none!important;border-bottom-right-radius:0;position:relative;flex:1 1 auto}.EasyMDEContainer .CodeMirror-placeholder{opacity:.5}.EasyMDEContainer .CodeMirror-focused .CodeMirror-selected{background:#d9d9d9}.editor-toolbar{position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;padding:9px 10px;border-top:1px solid #ced4da;border-left:1px solid #ced4da;border-right:1px solid #ced4da;border-top-left-radius:4px;border-top-right-radius:4px}.editor-toolbar.fullscreen{width:100%;height:50px;padding-top:10px;padding-bottom:10px;box-sizing:border-box;background:#fff;border:0;position:fixed;top:0;left:0;opacity:1;z-index:9}.editor-toolbar.fullscreen:before{width:20px;height:50px;background:-moz-linear-gradient(left,#fff 0,rgba(255,255,255,0) 100%);background:-webkit-gradient(linear,left top,right top,color-stop(0,#fff),color-stop(100%,rgba(255,255,255,0)));background:-webkit-linear-gradient(left,#fff 0,rgba(255,255,255,0) 100%);background:-o-linear-gradient(left,#fff 0,rgba(255,255,255,0) 100%);background:-ms-linear-gradient(left,#fff 0,rgba(255,255,255,0) 100%);background:linear-gradient(to right,#fff 0,#fff0);position:fixed;top:0;left:0;margin:0;padding:0}.editor-toolbar.fullscreen:after{width:20px;height:50px;background:-moz-linear-gradient(left,rgba(255,255,255,0) 0,#fff 100%);background:-webkit-gradient(linear,left top,right top,color-stop(0,rgba(255,255,255,0)),color-stop(100%,#fff));background:-webkit-linear-gradient(left,rgba(255,255,255,0) 0,#fff 100%);background:-o-linear-gradient(left,rgba(255,255,255,0) 0,#fff 100%);background:-ms-linear-gradient(left,rgba(255,255,255,0) 0,#fff 100%);background:linear-gradient(to right,#fff0 0,#fff);position:fixed;top:0;right:0;margin:0;padding:0}.EasyMDEContainer.sided--no-fullscreen .editor-toolbar{width:100%}.editor-toolbar .easymde-dropdown,.editor-toolbar button{background:0 0;display:inline-block;text-align:center;text-decoration:none!important;height:30px;margin:0;padding:0;border:1px solid transparent;border-radius:3px;cursor:pointer}.editor-toolbar button{font-weight:700;min-width:30px;padding:0 6px;white-space:nowrap}.editor-toolbar button.active,.editor-toolbar button:hover{background:#fcfcfc;border-color:#95a5a6}.editor-toolbar i.separator{display:inline-block;width:0;border-left:1px solid #d9d9d9;border-right:1px solid #fff;color:transparent;text-indent:-10px;margin:0 6px}.editor-toolbar button:after{font-family:Arial,Helvetica Neue,Helvetica,sans-serif;font-size:65%;vertical-align:text-bottom;position:relative;top:2px}.editor-toolbar button.heading-1:after{content:"1"}.editor-toolbar button.heading-2:after{content:"2"}.editor-toolbar button.heading-3:after{content:"3"}.editor-toolbar button.heading-bigger:after{content:"▲"}.editor-toolbar button.heading-smaller:after{content:"▼"}.editor-toolbar.disabled-for-preview button:not(.no-disable){opacity:.6;pointer-events:none}@media only screen and (max-width:700px){.editor-toolbar i.no-mobile{display:none}}.editor-statusbar{padding:8px 10px;font-size:12px;color:#959694;text-align:right}.EasyMDEContainer.sided--no-fullscreen .editor-statusbar{width:100%}.editor-statusbar span{display:inline-block;min-width:4em;margin-left:1em}.editor-statusbar .lines:before{content:"lines: "}.editor-statusbar .words:before{content:"words: "}.editor-statusbar .characters:before{content:"characters: "}.editor-preview-full{position:absolute;width:100%;height:100%;top:0;left:0;z-index:7;overflow:auto;display:none;box-sizing:border-box}.editor-preview-side{position:fixed;bottom:0;width:50%;top:50px;right:0;z-index:9;overflow:auto;display:none;box-sizing:border-box;border:1px solid #ddd;word-wrap:break-word}.editor-preview-active-side{display:block}.EasyMDEContainer.sided--no-fullscreen .editor-preview-active-side{flex:1 1 auto;height:auto;position:static}.editor-preview-active{display:block}.editor-preview{padding:10px;background:#fafafa}.editor-preview>p{margin-top:0}.editor-preview pre{background:#eee;margin-bottom:10px}.editor-preview table td,.editor-preview table th{border:1px solid #ddd;padding:5px}.cm-s-easymde .cm-tag{color:#63a35c}.cm-s-easymde .cm-attribute{color:#795da3}.cm-s-easymde .cm-string{color:#183691}.cm-s-easymde .cm-header-1{font-size:calc(1.375rem + 1.5vw)}.cm-s-easymde .cm-header-2{font-size:calc(1.325rem + .9vw)}.cm-s-easymde .cm-header-3{font-size:calc(1.3rem + .6vw)}.cm-s-easymde .cm-header-4{font-size:calc(1.275rem + .3vw)}.cm-s-easymde .cm-header-5{font-size:1.25rem}.cm-s-easymde .cm-header-6{font-size:1rem}.cm-s-easymde .cm-header-1,.cm-s-easymde .cm-header-2,.cm-s-easymde .cm-header-3,.cm-s-easymde .cm-header-4,.cm-s-easymde .cm-header-5,.cm-s-easymde .cm-header-6{margin-bottom:.5rem;line-height:1.2}.cm-s-easymde .cm-comment{background:#0000000d;border-radius:2px}.cm-s-easymde .cm-link{color:#7f8c8d}.cm-s-easymde .cm-url{color:#aab2b3}.cm-s-easymde .cm-quote{color:#7f8c8d;font-style:italic}.editor-toolbar .easymde-dropdown{position:relative;background:linear-gradient(to bottom right,#fff 0 84%,#333 50% 100%);border-radius:0;border:1px solid #fff}.editor-toolbar .easymde-dropdown:hover{background:linear-gradient(to bottom right,#fff 0 84%,#333 50% 100%)}.easymde-dropdown-content{display:block;visibility:hidden;position:absolute;background-color:#f9f9f9;box-shadow:0 8px 16px #0003;padding:8px;z-index:2;top:30px}.easymde-dropdown:active .easymde-dropdown-content,.easymde-dropdown:focus .easymde-dropdown-content,.easymde-dropdown:focus-within .easymde-dropdown-content{visibility:visible}.easymde-dropdown-content button{display:block}span[data-img-src]:after{content:"";background-image:var(--bg-image);display:block;max-height:100%;max-width:100%;background-size:contain;height:0;padding-top:var(--height);width:var(--width);background-repeat:no-repeat}.CodeMirror .cm-spell-error:not(.cm-url):not(.cm-comment):not(.cm-tag):not(.cm-word){background:#ff000026}.markdown-editor-container{margin-bottom:var(--spacing-md)}.markdown-editor-container .EasyMDEContainer{border:1px solid var(--color-input-border);background:var(--color-background)}.markdown-editor-container .EasyMDEContainer:focus-within{border:2px solid var(--color-text-primary)}.markdown-editor-container .EasyMDEContainer .CodeMirror{border:none;font-size:var(--font-size-base);font-family:Courier New,monospace;color:var(--color-text-primary);background:var(--color-background);min-height:500px;max-height:800px}.markdown-editor-container .EasyMDEContainer .CodeMirror-cursor{border-left-color:var(--color-text-primary)}.markdown-editor-container .EasyMDEContainer .editor-toolbar{border-top:none;border-left:none;border-right:none;border-bottom:1px solid var(--color-border-light);background:var(--color-background-secondary)}.markdown-editor-container .EasyMDEContainer .editor-toolbar button{color:var(--color-text-primary);border:none}.markdown-editor-container .EasyMDEContainer .editor-toolbar button:hover,.markdown-editor-container .EasyMDEContainer .editor-toolbar button.active{background:var(--color-text-primary);color:var(--color-background);border-color:var(--color-text-primary)}.markdown-editor-container .EasyMDEContainer .editor-toolbar i.separator{border-left-color:var(--color-border)}.markdown-editor-container .EasyMDEContainer .CodeMirror-selected{background:var(--color-background-secondary)}@media(max-width:768px){.markdown-editor-container .EasyMDEContainer .CodeMirror{min-height:300px}}.ai-fab-container{position:fixed;bottom:40px;right:40px;z-index:990;display:flex;flex-direction:column;align-items:flex-end;gap:12px}.ai-fab-main{width:56px;height:56px;border-radius:50%;background:#1890ff;color:#fff;border:none;box-shadow:0 4px 16px #1890ff59;cursor:pointer;font-size:18px;font-weight:800;display:flex;align-items:center;justify-content:center;transition:all .3s cubic-bezier(.18,.89,.32,1.28);font-family:system-ui,-apple-system,sans-serif}.ai-fab-main:hover{transform:scale(1.1);background:#40a9ff;box-shadow:0 6px 20px #1890ff73}.ai-fab-menu{display:flex;flex-direction:column;gap:12px;align-items:flex-end;margin-bottom:8px;opacity:0;transform:translateY(20px) scale(.9);pointer-events:none;transition:all .2s cubic-bezier(.4,0,.2,1);transform-origin:bottom right}.ai-fab-container.open .ai-fab-menu{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}.ai-fab-container.open .ai-fab-main{transform:rotate(90deg);background:#ff4d4f;box-shadow:0 4px 16px #ff4d4f59}.ai-menu-item{background:#fff;border:1px solid rgba(0,0,0,.08);padding:10px 20px;border-radius:24px;box-shadow:0 4px 12px #00000014;cursor:pointer;display:flex;align-items:center;gap:10px;white-space:nowrap;transition:all .2s;font-size:14px;color:#333;font-weight:500}.ai-menu-item:hover{background:#f0f7ff;border-color:#1890ff;color:#1890ff;transform:translate(-5px);box-shadow:0 6px 16px #1890ff26}.ai-icon{font-size:1.2em}@media(max-width:768px){.ai-fab-container{bottom:20px;right:20px}}.ai-dialog-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.ai-dialog{background:var(--color-background);border:2px solid var(--color-text-primary);max-width:600px;width:90%;max-height:90vh;overflow-y:auto}.ai-dialog-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg);border-bottom:1px solid var(--color-border)}.ai-dialog-header h3{margin:0;font-size:var(--font-size-xl);font-weight:var(--font-weight-black);color:var(--color-text-primary)}.close-btn{background:none;border:none;font-size:2rem;line-height:1;cursor:pointer;color:var(--color-text-secondary);padding:0;transition:color var(--transition-speed)}.close-btn:hover{color:var(--color-text-primary)}.ai-dialog-body{padding:var(--spacing-lg)}.form-field{margin-bottom:var(--spacing-md)}.form-field label{display:block;margin-bottom:var(--spacing-xs);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.field-hint{font-weight:var(--font-weight-normal);color:var(--color-text-tertiary);font-size:var(--font-size-sm)}.form-field input,.form-field textarea,.form-field select{width:100%;padding:.875rem 1rem;border:1px solid var(--color-input-border);font-size:var(--font-size-base);font-family:var(--font-family);color:var(--color-text-primary);background:var(--color-background);transition:border-color var(--transition-speed)}.form-field input:focus,.form-field textarea:focus,.form-field select:focus{outline:none;border:2px solid var(--color-text-primary);padding:calc(.875rem - 1px) calc(1rem - 1px)}.form-field textarea{resize:vertical}.title-display{background:var(--color-background-secondary);cursor:not-allowed}.ai-dialog-footer{display:flex;gap:var(--spacing-sm);justify-content:flex-end;padding:var(--spacing-lg);border-top:1px solid var(--color-border)}.ai-dialog-footer button{padding:.875rem 2rem;border:2px solid var(--color-text-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-bold);cursor:pointer;transition:all var(--transition-speed)}.confirm-btn{background:var(--color-text-primary);color:var(--color-background)}.confirm-btn:hover{background:#333;border-color:#333}@media(max-width:768px){.ai-dialog{width:95%;max-height:95vh}.ai-dialog-footer{flex-direction:column-reverse}.ai-dialog-footer button{width:100%}}.ai-status-panel{position:fixed;bottom:30px;right:30px;background:#fff;box-shadow:0 4px 16px #0000001f;border-radius:8px;padding:12px 20px;display:flex;align-items:center;gap:16px;z-index:1000;border:1px solid #f0f0f0;animation:slideIn .3s cubic-bezier(.18,.89,.32,1.28)}@keyframes slideIn{0%{transform:translateY(20px) scale(.95);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.ai-status-content{display:flex;align-items:center;gap:10px}.ai-spinner{width:18px;height:18px;border:2px solid #f0f0f0;border-top:2px solid #1890ff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ai-text{font-size:14px;font-weight:500;color:#1f1f1f}.ai-stop-btn{background:#fff1f0;color:#ff4d4f;border:1px solid #ffccc7;padding:4px 12px;border-radius:4px;font-size:13px;cursor:pointer;transition:all .2s;height:28px;line-height:normal}.ai-stop-btn:hover{background:#ff4d4f;color:#fff;border-color:#ff4d4f}.article-edit-page{min-height:60vh}.article-edit-page .container{max-width:var(--max-width-medium)}.article-edit-page h2{color:var(--color-text-primary);margin-bottom:var(--spacing-lg);font-size:clamp(2rem,4vw,3rem);font-weight:var(--font-weight-black);letter-spacing:-.02em}.article-edit-page form{background:var(--color-background);padding:var(--spacing-lg);border:1px solid var(--color-border)}.form-group{margin-bottom:var(--spacing-lg)}.form-group label{display:block;margin-bottom:var(--spacing-sm);color:var(--color-text-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-base)}.form-group input[type=text],.form-group textarea,.form-group select{width:100%;padding:.875rem 1rem;border:1px solid var(--color-input-border);font-size:var(--font-size-base);font-family:var(--font-family);color:var(--color-text-primary);background:var(--color-background);transition:border-color var(--transition-speed)}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border:2px solid var(--color-text-primary);padding:calc(.875rem - 1px) calc(1rem - 1px)}.form-group textarea{resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.quick-add{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-sm)}.quick-add input{flex:1;padding:.625rem 1rem;border:1px solid var(--color-input-border);font-size:var(--font-size-sm);background:var(--color-background);color:var(--color-text-primary)}.quick-add input:focus{outline:none;border:2px solid var(--color-text-primary);padding:calc(.625rem - 1px) calc(1rem - 1px)}.quick-add .add-btn{background:var(--color-text-primary);color:var(--color-background);border:2px solid var(--color-text-primary);padding:.625rem 1.25rem;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);cursor:pointer;white-space:nowrap;transition:all var(--transition-speed)}.quick-add .add-btn:hover:not(:disabled){background:#333;border-color:#333}.quick-add .add-btn:disabled{opacity:.5;cursor:not-allowed}.tag-select-container{display:flex;gap:var(--spacing-md);align-items:flex-start}.tag-select{flex:1;min-height:140px;padding:.625rem;border:1px solid var(--color-input-border);font-size:var(--font-size-base);background:var(--color-background);color:var(--color-text-primary)}.tag-select:focus{outline:none;border:2px solid var(--color-text-primary);padding:calc(.625rem - 1px)}.tag-select option{padding:.5rem;cursor:pointer}.tag-select option:checked{background:var(--color-text-primary);color:var(--color-background)}.selected-tags{flex:1;min-height:140px;padding:var(--spacing-sm);background:var(--color-background-secondary);border:1px solid var(--color-border);display:flex;flex-wrap:wrap;gap:var(--spacing-xs);align-content:flex-start}.selected-tag{display:inline-flex;align-items:center;gap:var(--spacing-xs);background:var(--color-text-primary);color:var(--color-background);padding:.375rem .75rem;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.remove-tag{background:none;border:none;color:var(--color-background);font-size:1.25rem;line-height:1;cursor:pointer;padding:0;margin-left:.25rem;opacity:.8;transition:opacity var(--transition-speed)}.remove-tag:hover{opacity:1}.no-selection{color:var(--color-text-tertiary);font-size:var(--font-size-sm);font-style:italic}.form-actions{display:flex;gap:var(--spacing-md);justify-content:flex-end;margin-top:var(--spacing-xl);padding-top:var(--spacing-lg);border-top:1px solid var(--color-border-light)}.form-actions button{padding:.875rem 2.5rem;border:2px solid var(--color-text-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);cursor:pointer;transition:all var(--transition-speed)}.cancel-btn{background:transparent;color:var(--color-text-primary)}.cancel-btn:hover{background:var(--color-background-secondary)}@media(max-width:768px){.article-edit-page form{padding:var(--spacing-md)}.form-row{grid-template-columns:1fr}.tag-select-container{flex-direction:column}.form-actions{flex-direction:column-reverse}.form-actions button{width:100%}}.article-manage-page{min-height:60vh}.article-manage-page .container{max-width:var(--max-width-wide)}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-lg);border-bottom:1px solid var(--color-border-light)}.page-header h2{margin:0;font-size:clamp(2rem,4vw,3rem);font-weight:var(--font-weight-black);color:var(--color-text-primary);letter-spacing:-.02em}.new-article-btn{background:var(--color-text-primary);color:var(--color-background);border:2px solid var(--color-text-primary);padding:.75rem 1.5rem;font-size:var(--font-size-base);font-weight:var(--font-weight-bold);text-decoration:none;transition:all var(--transition-speed);display:inline-block}.new-article-btn:hover{background:#333;border-color:#333;opacity:1}.filter-buttons{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--color-border-light)}.filter-buttons button{background:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border);padding:.5rem 1.25rem;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-speed)}.filter-buttons button:hover{background:var(--color-background-secondary);color:var(--color-text-primary)}.filter-buttons button.active{background:var(--color-text-primary);color:var(--color-background);border-color:var(--color-text-primary)}.no-articles{text-align:center;padding:var(--spacing-2xl);color:var(--color-text-secondary);font-size:var(--font-size-lg)}.article-table{overflow-x:auto;border:1px solid var(--color-border)}.article-table table{width:100%;border-collapse:collapse;background:var(--color-background)}.article-table thead{background:var(--color-background-secondary);border-bottom:2px solid var(--color-border)}.article-table th{padding:var(--spacing-md);text-align:left;font-weight:var(--font-weight-bold);color:var(--color-text-primary);font-size:var(--font-size-base)}.article-table td{padding:var(--spacing-md);border-bottom:1px solid var(--color-border-light);color:var(--color-text-primary);font-size:var(--font-size-base)}.article-table tbody tr:hover{background:var(--color-background-secondary)}.article-table tbody tr:last-child td{border-bottom:none}.title-cell{max-width:400px}.title-cell a{color:var(--color-text-primary);text-decoration:none;font-weight:var(--font-weight-semibold);transition:opacity var(--transition-speed)}.title-cell a:hover{opacity:.7}.status-badge{display:inline-block;padding:.25rem .75rem;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);border:1px solid var(--color-border);color:var(--color-text-secondary)}.status-badge.published{background:var(--color-text-primary);color:var(--color-background);border-color:var(--color-text-primary)}.status-badge.draft{background:transparent;color:var(--color-text-tertiary);border-color:var(--color-border)}.actions-cell{white-space:nowrap}.actions-cell button{padding:.5rem 1rem;margin-right:var(--spacing-xs);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-speed);border:1px solid var(--color-border)}.edit-btn{background:transparent;color:var(--color-text-primary)}.edit-btn:hover{background:var(--color-text-primary);color:var(--color-background);border-color:var(--color-text-primary)}.delete-btn{background:transparent;color:var(--color-text-secondary)}.delete-btn:hover{background:var(--color-text-primary);color:var(--color-background);border-color:var(--color-text-primary)}@media(max-width:768px){.page-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-md)}.new-article-btn{width:100%;text-align:center}.filter-buttons{flex-wrap:wrap}.article-table{font-size:var(--font-size-sm)}.article-table th,.article-table td{padding:var(--spacing-sm)}.title-cell{max-width:200px}}.settings-page{min-height:60vh}.settings-page .container{max-width:var(--max-width-medium)}.settings-page h2{margin:0 0 var(--spacing-xl) 0;font-size:clamp(2rem,4vw,3rem);font-weight:var(--font-weight-black);color:var(--color-text-primary);letter-spacing:-.02em;padding-bottom:var(--spacing-lg);border-bottom:1px solid var(--color-border-light)}.settings-form,.password-form{background:var(--color-background);padding:var(--spacing-lg);border:1px solid var(--color-border);margin-bottom:var(--spacing-xl)}.setting-section{margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-xl);border-bottom:1px solid var(--color-border-light)}.setting-section:last-of-type{border-bottom:none;margin-bottom:0;padding-bottom:0}.setting-section h3{margin:0 0 var(--spacing-md) 0;font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.form-group input[type=text],.form-group input[type=number],.form-group input[type=password],.form-group textarea{width:100%;padding:.875rem 1rem;border:1px solid var(--color-input-border);background-color:var(--color-background);color:var(--color-text-primary);font-size:var(--font-size-base);font-family:var(--font-family);transition:border-color var(--transition-speed)}.form-group input:focus,.form-group textarea:focus{outline:none;border:2px solid var(--color-text-primary);padding:calc(.875rem - 1px) calc(1rem - 1px)}.form-group textarea{resize:vertical;min-height:100px}.checkbox-group{display:flex;align-items:center}.checkbox-group label{display:flex;align-items:center;margin:0;cursor:pointer;font-weight:var(--font-weight-medium)}.checkbox-group input[type=checkbox]{width:auto;margin-right:var(--spacing-sm);cursor:pointer;width:1.25rem;height:1.25rem}.form-actions{display:flex;gap:var(--spacing-md);justify-content:flex-start;margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid var(--color-border-light)}.form-actions button{padding:.875rem 2.5rem;border:2px solid var(--color-text-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-bold);cursor:pointer;transition:all var(--transition-speed)}.form-actions button[type=submit]{background:var(--color-text-primary);color:var(--color-background)}.form-actions button[type=submit]:hover:not(:disabled){background:#333;border-color:#333}.form-actions button[type=submit]:disabled{opacity:.5;cursor:not-allowed}.form-actions button.secondary{background:transparent;color:var(--color-text-primary)}.form-actions button.secondary:hover{background:var(--color-background-secondary)}@media(max-width:768px){.settings-form,.password-form{padding:var(--spacing-md)}.form-actions{flex-direction:column}.form-actions button{width:100%}}.search-page{min-height:60vh}.search-page .container{max-width:var(--max-width-medium)}.search-box{background:var(--color-background);padding:var(--spacing-xl) 0;margin-bottom:var(--spacing-xl);border-bottom:1px solid var(--color-border-light)}.search-box h2{margin:0 0 var(--spacing-lg) 0;font-size:clamp(2rem,4vw,3rem);font-weight:var(--font-weight-black);color:var(--color-text-primary);letter-spacing:-.02em}.search-box form{display:flex;gap:var(--spacing-sm)}.search-input-wrapper{flex:1;position:relative}.search-box input{width:100%;padding:1rem 3rem 1rem 1.5rem;font-size:var(--font-size-lg);border:2px solid var(--color-text-primary);background-color:var(--color-background);color:var(--color-text-primary);transition:border-color var(--transition-speed)}.search-box input:focus{outline:none;border-color:var(--color-text-primary);padding:1rem 3rem 1rem 1.5rem}.search-box input::placeholder{color:var(--color-text-tertiary)}.clear-btn{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);background:transparent;border:none;color:var(--color-text-tertiary);font-size:2rem;line-height:1;cursor:pointer;padding:.5rem;transition:color var(--transition-speed)}.clear-btn:hover{color:var(--color-text-primary)}.search-box button[type=submit]{background:var(--color-text-primary);color:var(--color-background);border:2px solid var(--color-text-primary);padding:1rem 2.5rem;font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);cursor:pointer;transition:all var(--transition-speed);white-space:nowrap}.search-box button[type=submit]:hover:not(:disabled){background:#333;border-color:#333}.search-box button[type=submit]:disabled{opacity:.5;cursor:not-allowed}.search-history{margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid var(--color-border-light)}.history-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.history-header span{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary)}.clear-history-btn{background:transparent;border:1px solid var(--color-border);color:var(--color-text-secondary);padding:.25rem .75rem;font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-speed)}.clear-history-btn:hover{background:var(--color-text-primary);color:var(--color-background);border-color:var(--color-text-primary)}.history-tags{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.history-tag{background:transparent;border:1px solid var(--color-border);color:var(--color-text-primary);padding:.5rem 1rem;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-speed)}.history-tag:hover{background:var(--color-text-primary);color:var(--color-background);border-color:var(--color-text-primary)}.search-results h3{margin-bottom:var(--spacing-lg);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.no-results{text-align:center;padding:var(--spacing-2xl)}.no-results p{color:var(--color-text-secondary);font-size:var(--font-size-lg);margin-bottom:var(--spacing-md)}.secondary-btn{background:transparent;color:var(--color-text-primary);border:2px solid var(--color-text-primary);padding:.75rem 2rem;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-speed)}.secondary-btn:hover{background:var(--color-text-primary);color:var(--color-background)}@media(max-width:768px){.search-box form{flex-direction:column}.search-box button[type=submit]{width:100%}.history-tags{gap:var(--spacing-xs)}.history-tag{font-size:var(--font-size-sm);padding:.375rem .75rem}}.login-page{min-height:70vh;display:flex;align-items:center;justify-content:center;padding:var(--spacing-xl) 0}.login-container{background:var(--color-background);padding:var(--spacing-xl);border:1px solid var(--color-border);width:100%;max-width:480px}.login-container h2{margin:0 0 var(--spacing-lg) 0;color:var(--color-text-primary);text-align:center;font-size:clamp(1.75rem,4vw,2.5rem);font-weight:var(--font-weight-black);letter-spacing:-.02em}.form-group{margin-bottom:var(--spacing-md)}.form-group label{display:block;margin-bottom:var(--spacing-xs);color:var(--color-text-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-base)}.form-group input{width:100%;padding:.875rem 1rem;border:1px solid var(--color-input-border);background-color:var(--color-background);color:var(--color-text-primary);font-size:var(--font-size-base);transition:border-color var(--transition-speed)}.form-group input:focus{outline:none;border:2px solid var(--color-text-primary);padding:calc(.875rem - 1px) calc(1rem - 1px)}.login-container button{width:100%;background:var(--color-text-primary);color:var(--color-background);border:2px solid var(--color-text-primary);padding:1rem;font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);cursor:pointer;transition:all var(--transition-speed);margin-top:var(--spacing-sm)}.login-container button:hover:not(:disabled){background:#333;border-color:#333}.login-container button:disabled{opacity:.5;cursor:not-allowed}@media(max-width:768px){.login-container{padding:var(--spacing-lg)}}
