:root{--primary-color: #007bff;--primary-hover: #0056b3;--secondary-color: #6c757d;--success-color: #28a745;--danger-color: #dc3545;--warning-color: #ffc107;--info-color: #17a2b8;--light-color: #f8f9fa;--dark-color: #343a40;--text-color: #333;--text-muted: #6c757d;--border-color: #dee2e6;--spacing-xs: 5px;--spacing-sm: 10px;--spacing-md: 15px;--spacing-lg: 20px;--spacing-xl: 30px;--spacing-xxl: 40px;--radius-sm: 3px;--radius-md: 5px;--radius-lg: 8px;--radius-pill: 50px;--font-family: "Roboto", sans-serif;--font-size-xs: 12px;--font-size-sm: 14px;--font-size-md: 16px;--font-size-lg: 18px;--font-size-xl: 24px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 2px 4px rgba(0, 0, 0, .1);--shadow-lg: 0 4px 8px rgba(0, 0, 0, .15);--transition-fast: .15s ease;--transition-normal: .25s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);color:var(--text-color);line-height:1.6;background-color:#fff}.section-column,.container-column{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%}.text-center{text-align:center}.app{min-height:100vh;display:flex;flex-direction:column}.app header{background-color:var(--primary-color);color:#fff;padding:var(--spacing-lg) var(--spacing-xl);width:100%;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm);position:sticky;top:0;z-index:1000}.app header h1{font-size:var(--font-size-xl);margin:0;font-weight:500;text-align:center}.app header a{color:inherit;text-decoration:none;cursor:pointer}.app header a:hover{opacity:.8}.header-nav-link{background-color:#fff3;color:#fff;padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-sm);text-decoration:none;font-size:var(--font-size-sm);font-weight:500;transition:background-color var(--transition-fast)}.header-nav-link:hover{background-color:#ffffff4d;text-decoration:none}.header-nav-link.active{background-color:#ffffff80;font-weight:600;border-bottom:2px solid white}.app main{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:var(--spacing-lg)}.header-auth{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs);text-align:center}.username{font-size:var(--font-size-md);font-weight:500}.logout-button{background-color:var(--danger-color);color:#fff;border:none;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-sm);transition:background-color var(--transition-fast)}.logout-button:hover{background-color:#c82333}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--spacing-lg)}.login-container{background-color:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-md);padding:var(--spacing-xl);width:100%;max-width:400px}.login-container h2{font-size:var(--font-size-xl);margin-bottom:var(--spacing-sm);color:var(--text-color)}.login-description{color:var(--text-muted);margin-bottom:var(--spacing-lg);font-size:var(--font-size-sm)}.login-form{display:flex;flex-direction:column;gap:var(--spacing-md)}.form-input{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:var(--font-size-md);transition:border-color var(--transition-fast)}.login-button{background-color:var(--primary-color);color:#fff;border:none;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm);font-size:var(--font-size-md);cursor:pointer;transition:background-color var(--transition-fast);margin-top:var(--spacing-sm)}.login-button:hover:not(:disabled){background-color:var(--primary-hover)}.login-button:disabled{background-color:var(--secondary-color);cursor:not-allowed}.login-footer{margin-top:var(--spacing-lg);text-align:center}.back-link{color:var(--primary-color);text-decoration:none;font-size:var(--font-size-sm)}.back-link:hover{text-decoration:underline}:root{--list-item-bg: var(--light-color);--list-item-border: var(--border-color);--list-item-hover-bg: #e9ecef;--list-item-button-bg: var(--primary-color);--list-item-button-hover-bg: var(--primary-hover);--list-item-button-text: white;--folder-bg: #f8f9fa;--folder-border: #dee2e6;--modal-overlay-bg: rgba(0, 0, 0, .5)}.list-item{display:flex;align-items:center;justify-content:center;width:100%}.list-item-button{display:flex;flex-direction:column;width:100%;max-width:500px;padding:var(--spacing-md) var(--spacing-lg);background-color:var(--list-item-button-bg);color:var(--list-item-button-text);border:none;border-radius:var(--radius-md);text-decoration:none;font-size:var(--font-size-md);font-family:var(--font-family);cursor:pointer;transition:background-color var(--transition-normal);box-shadow:var(--shadow-sm);text-align:center;margin-top:var(--spacing-lg)}.list-item-button:hover{background-color:var(--list-item-button-hover-bg);box-shadow:var(--shadow-md)}.list-item-button:active{transform:translateY(1px)}.approval-badge{display:block;align-items:center;justify-content:center;padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs);font-weight:500;border-radius:var(--radius-sm);margin-top:var(--spacing-sm);text-align:center}@media(max-width:600px){.list-item-button{width:100%;padding:var(--spacing-sm) var(--spacing-md)}}.list-header{display:flex;flex-direction:column;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg)}.create-folder-btn{padding:var(--spacing-sm) var(--spacing-lg);background-color:var(--primary-color);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-family:var(--font-family);cursor:pointer;transition:background-color var(--transition-normal);box-shadow:var(--shadow-sm)}.create-folder-btn:hover{background-color:var(--primary-hover);box-shadow:var(--shadow-md)}.folder-container{margin-bottom:var(--spacing-lg);border-left:4px solid var(--folder-border);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-normal);width:50%}.folder-container.unsorted{border-left-color:#757575}.folder-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md) var(--spacing-lg);cursor:pointer;transition:background-color var(--transition-normal);min-height:60px}.folder-header:hover{opacity:.9}.folder-title-section{display:flex;align-items:center;gap:var(--spacing-sm);flex:1}.folder-toggle{font-size:var(--font-size-sm);color:#666}.folder-info{display:flex;flex-direction:column;gap:2px}.folder-name{font-weight:600;font-size:var(--font-size-md)}.folder-comment{font-size:var(--font-size-xs);color:#666}.edit-folder-btn{padding:var(--spacing-xs) var(--spacing-sm);background-color:#6c757d;color:#fff;border:none;border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-family:var(--font-family);cursor:pointer;transition:background-color var(--transition-normal)}.edit-folder-btn:hover{background-color:#5a6268}.delete-folder-btn{padding:var(--spacing-xs) var(--spacing-sm);background-color:#dc3545;color:#fff;border:none;border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-family:var(--font-family);cursor:pointer;transition:background-color var(--transition-normal);margin-left:var(--spacing-xs)}.delete-folder-btn:hover{background-color:#c82333}.folder-actions{display:flex;gap:var(--spacing-xs)}.folder-content{padding:var(--spacing-md) var(--spacing-lg);background-color:var(--folder-bg);transition:max-height .3s ease-out,opacity .3s ease-out,overflow 0s;max-height:0;opacity:0;overflow:hidden}.folder-content.expanded{max-height:300px;opacity:1;overflow-y:auto;transition:max-height .3s ease-in,opacity .3s ease-in,overflow 0s .3s}.empty-folder{padding:var(--spacing-md);text-align:center;color:#666;font-style:italic}.list-item[draggable]{cursor:grab}.list-item[draggable]:hover{opacity:.9}.list-item[draggable]:active{cursor:grabbing}.folder-content.drag-over{background-color:#e3f2fd;border-radius:var(--radius-md)}.modal-overlay{position:fixed;inset:0;background-color:var(--modal-overlay-bg);display:flex;justify-content:center;align-items:center;z-index:1000;padding:var(--spacing-md)}.modal-content{background-color:#fff;border-radius:var(--radius-md);padding:var(--spacing-xl);width:100%;max-width:400px;box-shadow:var(--shadow-lg)}.modal-content h2{margin-top:0;margin-bottom:var(--spacing-lg);font-size:var(--font-size-lg)}.form-group{margin-bottom:var(--spacing-md)}.form-group label{display:block;margin-bottom:var(--spacing-xs);font-weight:500;font-size:var(--font-size-sm);color:#333}.form-group input,.form-group textarea{width:100%;padding:var(--spacing-sm);border:1px solid #ddd;border-radius:var(--radius-sm);font-size:var(--font-size-md);font-family:var(--font-family);box-sizing:border-box}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-color)}.modal-actions{display:flex;justify-content:flex-end;gap:var(--spacing-sm);margin-top:var(--spacing-lg)}.modal-actions button{padding:var(--spacing-sm) var(--spacing-lg);border:none;border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-family:var(--font-family);cursor:pointer;transition:background-color var(--transition-normal)}.modal-actions button:first-child{background-color:#6c757d;color:#fff}.modal-actions button:first-child:hover{background-color:#5a6268}.modal-actions button:last-child{background-color:var(--primary-color);color:#fff}.modal-actions button:last-child:hover{background-color:var(--primary-hover)}.search-container{display:flex;align-items:center}.search-input{padding:var(--spacing-xs) var(--spacing-md);border:1px solid #ddd;border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-family:var(--font-family);margin-left:var(--spacing-lg);width:250px;transition:border-color var(--transition-normal),box-shadow var(--transition-normal)}.search-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px #007bff40}.header-left{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md)}.search-clear-btn{background:none;border:none;cursor:pointer;padding:var(--spacing-xs);margin-left:var(--spacing-xs);color:#666;transition:color var(--transition-normal);display:flex;align-items:center;justify-content:center}.search-clear-btn:hover{color:#333}.search-clear-btn:active{transform:scale(.9)}.search-results-count{font-size:var(--font-size-xs);color:#666;background-color:#f0f0f0;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);margin-left:var(--spacing-sm);white-space:nowrap}.filter-container{display:flex;align-items:center;gap:var(--spacing-sm)}.filter-select{padding:var(--spacing-xs) var(--spacing-md);border:1px solid #ddd;border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-family:var(--font-family);background-color:#fff;cursor:pointer;transition:border-color var(--transition-normal),box-shadow var(--transition-normal)}.filter-select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px #007bff40}.filter-results-count{font-size:var(--font-size-xs);color:#666;background-color:#f0f0f0;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);margin-left:var(--spacing-sm);white-space:nowrap}@media(max-width:768px){.filter-container{width:100%}.filter-select{width:100%;margin-left:0}}@media(max-width:600px){.list-header{flex-direction:column;gap:var(--spacing-sm)}.header-left{flex-direction:column;align-items:flex-start;width:100%}.search-input{width:100%;margin-left:0}.create-folder-btn{width:100%}.folder-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}.edit-folder-btn,.delete-folder-btn{margin-left:0;margin-top:var(--spacing-xs)}.folder-actions{width:100%;justify-content:flex-start}}:root{--article-bg: var(--light-color);--article-content-bg: white;--article-text-color: var(--text-color);--article-heading-color: var(--text-color);--article-meta-bg: var(--light-color);--article-meta-text: var(--text-muted);--article-border: var(--border-color);--back-button-bg: var(--primary-color);--back-button-hover-bg: var(--primary-hover);--loading-color: var(--primary-color);--error-color: var(--danger-color);--no-data-color: var(--secondary-color)}.article-detail{padding:var(--spacing-lg);max-width:800px;margin:0 auto;width:100%}.article-detail h1{color:var(--article-heading-color);border-bottom:2px solid var(--primary-color);padding-bottom:var(--spacing-sm);margin-bottom:var(--spacing-lg)}.article-meta{background-color:var(--article-meta-bg);padding:var(--spacing-md);border-radius:var(--radius-md);margin:var(--spacing-lg) 0;border:1px solid var(--article-border)}.article-meta p{margin:var(--spacing-xs) 0;color:var(--article-text-color)}.article-content,.article-structure,.article-prompt{margin:var(--spacing-lg) 0;padding:var(--spacing-md);background-color:var(--article-content-bg);border:1px solid var(--article-border);border-radius:var(--radius-md)}.article-content h2,.article-structure h2,.article-prompt h2{margin-top:0;color:var(--article-heading-color);border-bottom:1px solid var(--article-border);padding-bottom:var(--spacing-sm);margin-bottom:var(--spacing-md)}.back-button{background-color:var(--back-button-bg);color:#fff;border:none;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);cursor:pointer;font-size:var(--font-size-md);margin-top:var(--spacing-lg);transition:background-color var(--transition-normal);font-family:var(--font-family)}.back-button:hover{background-color:var(--back-button-hover-bg)}.back-button:focus{outline:2px solid var(--primary-color);outline-offset:2px}.loading,.error,.no-data{text-align:center;padding:var(--spacing-lg);font-size:var(--font-size-lg);font-family:var(--font-family)}.loading{color:var(--loading-color)}.error{color:var(--error-color)}.no-data{color:var(--no-data-color)}.editor-notifications{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);background-color:var(--article-meta-bg);border:1px solid var(--border-color);border-radius:var(--radius-md);border-left:4px solid var(--primary-color)}.notification-draft{font-size:var(--font-size-sm);color:var(--text-muted);font-weight:500}.editor-actions{display:flex;gap:var(--spacing-xs)}.editor-actions-full{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.save-button{background-color:var(--primary-color);color:#fff;border:none;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);cursor:pointer;font-size:var(--font-size-sm);font-weight:600;transition:background-color var(--transition-normal),transform .1s;font-family:var(--font-family)}.save-button:hover{background-color:var(--primary-hover)}.save-button:active{transform:scale(.98)}.save-button:focus{outline:2px solid var(--primary-color);outline-offset:2px}.discard-button{background-color:transparent;color:var(--danger-color);border:1px solid var(--danger-color);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);cursor:pointer;font-size:var(--font-size-sm);font-weight:600;transition:background-color var(--transition-normal),border-color var(--transition-normal);font-family:var(--font-family)}.discard-button:hover{background-color:#dc26261a;border-color:var(--danger-color)}.discard-button:focus{outline:2px solid var(--danger-color);outline-offset:2px}.article-actions{margin-top:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-md)}.folder-select{padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-family:var(--font-family);background-color:var(--article-meta-bg);cursor:pointer;transition:border-color var(--transition-normal);margin-left:var(--spacing-xs)}.folder-select:focus{outline:none;border-color:var(--primary-color)}.folder-name-display{color:var(--primary-color);font-weight:500;margin-left:var(--spacing-sm)}.slug-display{font-weight:500;color:var(--primary-color);font-family:var(--font-family-mono);padding:var(--spacing-xs) var(--spacing-sm);background-color:var(--article-meta-bg);border-radius:var(--radius-sm);margin-right:var(--spacing-xs)}.slug-input{padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-family:var(--font-family-mono);background-color:var(--article-meta-bg);min-width:400px;margin-right:var(--spacing-xs)}.slug-input:focus{outline:none;border-color:var(--primary-color)}.slug-edit-button,.slug-save-button,.slug-cancel-button{padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-family:var(--font-family);cursor:pointer;transition:background-color var(--transition-normal),border-color var(--transition-normal)}.slug-edit-button{background-color:transparent;color:var(--primary-color);border:1px solid var(--primary-color)}.slug-edit-button:hover{background-color:#3b82f61a}.slug-save-button{background-color:var(--primary-color);color:#fff;border:none}.slug-save-button:hover{background-color:var(--primary-hover)}.slug-cancel-button{background-color:transparent;color:var(--text-muted);border:1px solid var(--border-color)}.slug-cancel-button:hover{background-color:var(--article-meta-bg);color:var(--danger-color);border-color:var(--danger-color)}.title-display{display:flex;align-items:baseline;justify-content:space-between;gap:var(--spacing-sm)}.title-display h1{margin:0;padding-bottom:0;flex-grow:1}.title-edit-button{background-color:transparent;color:var(--primary-color);border:1px solid var(--primary-color);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-family:var(--font-family);cursor:pointer;transition:background-color var(--transition-normal)}.title-edit-button:hover{background-color:#3b82f61a}.title-edit-container{display:flex;align-items:baseline;justify-content:space-between;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg)}.title-input{flex-grow:1;padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:var(--font-size-xl);font-family:var(--font-family);background-color:var(--article-meta-bg);min-width:400px}.title-input:focus{outline:none;border-color:var(--primary-color)}.title-save-button{background-color:var(--primary-color);color:#fff;border:none;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-family:var(--font-family);cursor:pointer;transition:background-color var(--transition-normal)}.title-save-button:hover{background-color:var(--primary-hover)}.title-cancel-button{background-color:transparent;color:var(--text-muted);border:1px solid var(--border-color);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-family:var(--font-family);cursor:pointer;transition:background-color var(--transition-normal)}.title-cancel-button:hover{background-color:var(--article-meta-bg);color:var(--danger-color);border-color:var(--danger-color)}.comment-display{font-weight:500;color:var(--text-color);padding:var(--spacing-xs) var(--spacing-sm);background-color:var(--article-meta-bg);border-radius:var(--radius-sm);margin-right:var(--spacing-xs);white-space:pre-wrap;line-height:1.5}.comment-input{width:100%;min-height:60px;padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-family:var(--font-family);background-color:var(--article-meta-bg);resize:vertical;box-sizing:border-box;margin-right:var(--spacing-xs)}.comment-input:focus{outline:none;border-color:var(--primary-color)}.comment-edit-button,.comment-save-button,.comment-cancel-button{padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-family:var(--font-family);cursor:pointer;transition:background-color var(--transition-normal),border-color var(--transition-normal)}.comment-edit-button{background-color:transparent;color:var(--primary-color);border:1px solid var(--primary-color)}.comment-edit-button:hover{background-color:#3b82f61a}.comment-save-button{background-color:var(--primary-color);color:#fff;border:none}.comment-save-button:hover{background-color:var(--primary-hover)}.comment-cancel-button{background-color:transparent;color:var(--text-muted);border:1px solid var(--border-color)}.comment-cancel-button:hover{background-color:var(--article-meta-bg);color:var(--danger-color);border-color:var(--danger-color)}@media(max-width:768px){.editor-notifications{flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}.editor-actions,.editor-actions-full{width:100%;flex-direction:column}.save-button,.discard-button{width:100%}.article-detail{padding:var(--spacing-md)}.article-meta p{font-size:var(--font-size-sm)}}.selection-popup{margin-bottom:var(--spacing-lg);background-color:var(--article-content-bg);border:2px solid var(--primary-color);border-radius:var(--radius-md);box-shadow:0 4px 12px #00000026;width:100%;max-width:100%}.selection-popup-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-xs) var(--spacing-md);border-bottom:1px solid var(--border-color);background-color:var(--article-meta-bg);border-radius:var(--radius-md) var(--radius-md) 0 0}.selection-popup-title{font-weight:600;color:var(--text-color);font-size:var(--font-size-sm)}.selection-popup-close{background:none;border:none;font-size:var(--font-size-lg);color:var(--text-muted);cursor:pointer;padding:var(--spacing-xs);line-height:1;transition:color var(--transition-normal)}.selection-popup-close:hover{color:var(--danger-color)}.selection-popup-content{padding:var(--spacing-sm)}.selection-popup-preview{margin-bottom:var(--spacing-md)}.selection-popup-preview strong{display:block;margin-bottom:var(--spacing-xs);color:var(--text-color);font-size:var(--font-size-sm)}.selection-text-preview{background-color:var(--article-meta-bg);padding:var(--spacing-xs);border-radius:var(--radius-sm);font-size:var(--font-size-sm);line-height:1.4;color:var(--text-color);max-height:60px;overflow-y:auto;margin:0;white-space:pre-wrap;word-wrap:break-word}.selection-popup-input{margin-bottom:var(--spacing-md)}.selection-popup-input label{display:block;margin-bottom:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--text-color);font-weight:500}.change-request-input{width:100%;min-height:50px;padding:var(--spacing-xs);border:1px solid var(--border-color);border-radius:var(--radius-sm);font-family:var(--font-family);font-size:var(--font-size-sm);resize:vertical;box-sizing:border-box;transition:border-color var(--transition-normal)}.change-request-input:focus{outline:none;border-color:var(--primary-color)}.change-request-input:disabled{background-color:var(--article-meta-bg);cursor:not-allowed}.selection-popup-actions{display:flex;justify-content:flex-end;padding:var(--spacing-sm) var(--spacing-md);border-top:1px solid var(--border-color);background-color:var(--article-meta-bg);border-radius:0 0 var(--radius-md) var(--radius-md)}.rewrite-button{background-color:var(--primary-color);color:#fff;border:none;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-sm);font-weight:600;transition:background-color var(--transition-normal);font-family:var(--font-family)}.rewrite-button:hover:not(:disabled){background-color:var(--primary-hover)}.rewrite-button:disabled{background-color:var(--border-color);cursor:not-allowed}.custom-editor-container{display:flex;flex-direction:column;border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden;box-shadow:0 2px 8px #0000000d}.custom-editor-toolbar{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);padding:var(--spacing-sm);background-color:var(--article-bg);border-bottom:1px solid var(--border-color);align-items:center}.toolbar-group{display:flex;gap:var(--spacing-xs);padding:0 var(--spacing-xs);border-right:1px solid var(--border-color)}.toolbar-group:last-child{border-right:none}.toolbar-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:1px solid transparent;border-radius:var(--radius-sm);background-color:transparent;cursor:pointer;transition:background-color var(--transition-normal),transform .1s;color:var(--text-color)}.toolbar-btn:hover{background-color:var(--article-meta-bg);border-color:var(--border-color)}.toolbar-btn:active{background-color:var(--article-meta-bg);transform:scale(.95)}.toolbar-btn svg{stroke:var(--text-color);width:18px;height:18px}.toolbar-btn span{font-size:var(--font-size-sm);font-weight:600;color:var(--text-color)}.custom-editor-content{padding:var(--spacing-lg);min-height:400px;outline:none;font-family:var(--font-family);font-size:var(--font-size-md);line-height:1.6;color:var(--article-text-color);overflow-y:auto}.custom-editor-content:focus{outline:none}.custom-editor-content p{margin:0 0 var(--spacing-md) 0;padding:0}.custom-editor-content h1{font-size:2em;font-weight:700;margin:1.5em 0 .75em;padding:0;border-bottom:2px solid var(--border-color);padding-bottom:var(--spacing-sm)}.custom-editor-content h2{font-size:1.5em;font-weight:600;margin:1.25em 0 .625em;padding:0;border-bottom:1px solid var(--border-color);padding-bottom:var(--spacing-xs)}.custom-editor-content h3{font-size:1.25em;font-weight:600;margin:1em 0 .5em;padding:0}.custom-editor-content h4{font-size:1em;font-weight:600;margin:.875em 0 .4375em;padding:0}.custom-editor-content h5{font-size:.875em;font-weight:600;margin:.75em 0 .375em;padding:0}.custom-editor-content h6{font-size:.75em;font-weight:600;margin:.625em 0 .3125em;padding:0;text-transform:uppercase}.custom-editor-content ul,.custom-editor-content ol{margin:0 0 var(--spacing-md) 0;padding-left:2em}.custom-editor-content li{margin-bottom:var(--spacing-xs)}.custom-editor-content blockquote{border-left:4px solid var(--primary-color);margin:var(--spacing-lg) 0;padding:var(--spacing-md) var(--spacing-lg);background-color:var(--article-meta-bg);border-radius:0 var(--radius-sm) var(--radius-sm) 0;font-style:italic}.custom-editor-content pre{background:#1e1e1e;color:#d4d4d4;padding:var(--spacing-lg);border-radius:var(--radius-sm);overflow-x:auto;font-family:Courier New,monospace;font-size:var(--font-size-sm);margin:var(--spacing-md) 0}.custom-editor-content code{background-color:#0000001a;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-xs);font-family:Courier New,monospace}.custom-editor-content a{color:var(--primary-color);text-decoration:none}.custom-editor-content a:hover{text-decoration:underline}.custom-editor-content table{border-collapse:collapse;width:100%;margin:var(--spacing-md) 0}.custom-editor-content table td,.custom-editor-content table th{border:1px solid var(--border-color);padding:var(--spacing-sm);text-align:left}.custom-editor-content table th{background-color:var(--article-meta-bg);font-weight:600}.custom-editor-content img{max-width:100%;height:auto;border-radius:var(--radius-sm)}.custom-editor-content hr{border:none;border-top:1px solid var(--border-color);margin:var(--spacing-lg) 0;height:1px}.custom-editor-content strong{font-weight:700}.export-menu{position:relative;display:inline-block}.export-button{background-color:var(--primary-color);color:#fff;border:none;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);cursor:pointer;font-size:var(--font-size-md);font-family:var(--font-family);margin-right:var(--spacing-sm);transition:background-color var(--transition-normal)}.export-button:hover{background-color:var(--primary-hover)}.export-button:focus{outline:2px solid var(--primary-color);outline-offset:2px}.export-dropdown{position:absolute;top:100%;left:0;min-width:180px;background-color:#fff;border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:0 4px 12px #00000026;z-index:1000;overflow:hidden}.export-dropdown button{display:block;width:100%;padding:var(--spacing-sm) var(--spacing-md);background:none;border:none;text-align:left;font-size:var(--font-size-sm);font-family:var(--font-family);cursor:pointer;color:var(--text-color);transition:background-color var(--transition-normal)}.export-dropdown button:hover{background-color:var(--article-meta-bg);color:var(--primary-color)}.export-dropdown button:first-child{border-top-left-radius:var(--radius-md);border-top-right-radius:var(--radius-md)}.export-dropdown button:last-child{border-bottom-left-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md)}.custom-editor-content em{font-style:italic}.custom-editor-content u{text-decoration:underline}.custom-editor-content s{text-decoration:line-through}.approval-badge{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs);font-weight:500;border-radius:var(--radius-sm);margin-right:var(--spacing-xs)}.approval-badge.approved{background-color:#d4edda;color:#155724}.approval-badge.not-approved{background-color:#f8d7da;color:#721c24}.approval-toggle-container{display:flex;align-items:center;gap:var(--spacing-sm);margin-top:var(--spacing-sm)}.approval-toggle-label{font-size:var(--font-size-sm);color:var(--text-color);font-weight:500}.approval-toggle{position:relative;width:48px;height:24px;cursor:pointer;border:none;background-color:#ccc;border-radius:24px;transition:background-color var(--transition-normal);outline:none;appearance:none;-webkit-appearance:none}.approval-toggle:after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;background-color:#fff;border-radius:50%;transition:transform var(--transition-normal),background-color var(--transition-normal);box-shadow:0 2px 4px #0003}.approval-toggle:checked{background-color:#155724}.approval-toggle:checked:after{transform:translate(24px)}.approval-toggle:not(:checked):after{background-color:#fff}.approval-toggle:disabled{cursor:not-allowed;opacity:.7}.generate-page{min-height:100vh;display:flex;justify-content:center;padding:var(--spacing-lg);background-color:#fff}.generate-container{background-color:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-md);padding:var(--spacing-xl);width:100%;max-width:600px}.generate-container h1{font-size:var(--font-size-xl);margin-bottom:var(--spacing-sm);color:var(--text-color);text-align:center}.generate-description{color:var(--text-muted);margin-bottom:var(--spacing-lg);font-size:var(--font-size-sm);text-align:center}.generate-form{display:flex;flex-direction:column;gap:var(--spacing-md)}.form-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.form-group label{font-size:var(--font-size-sm);font-weight:500;color:var(--text-color)}.form-input{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:var(--font-size-md);transition:border-color var(--transition-fast);font-family:var(--font-family)}.form-input:focus{outline:none;border-color:var(--primary-color)}.form-input:disabled{background-color:var(--light-color);cursor:not-allowed}.textarea{resize:vertical;min-height:100px}.generate-button{background-color:var(--primary-color);color:#fff;border:none;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm);font-size:var(--font-size-md);cursor:pointer;transition:background-color var(--transition-fast);margin-top:var(--spacing-sm);font-family:var(--font-family)}.generate-button:hover:not(:disabled){background-color:var(--primary-hover)}.generate-button:disabled{background-color:var(--secondary-color);cursor:not-allowed}@media(max-width:600px){.generate-container{padding:var(--spacing-lg)}.generate-container h1{font-size:var(--font-size-lg)}}.not-found-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--spacing-lg);background-color:#f5f5f5}.not-found-container{text-align:center;max-width:500px;padding:var(--spacing-xl);background-color:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-md)}.not-found-title{font-size:8rem;font-weight:700;color:var(--primary-color);line-height:1;margin-bottom:var(--spacing-sm);letter-spacing:-.05em}.not-found-heading{font-size:var(--font-size-xl);font-weight:600;color:var(--text-color);margin-bottom:var(--spacing-md)}.not-found-message{font-size:var(--font-size-md);color:var(--text-muted);margin-bottom:var(--spacing-xl);line-height:1.6}.not-found-link{display:inline-block;background-color:var(--primary-color);color:#fff;padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-sm);text-decoration:none;font-weight:500;transition:background-color var(--transition-fast)}.not-found-link:hover{background-color:var(--primary-hover)}.toast-container{position:fixed;top:var(--spacing-lg);right:var(--spacing-lg);z-index:9999;display:flex;flex-direction:column;gap:var(--spacing-sm);max-width:400px;width:100%;pointer-events:none}@media(max-width:768px){.toast-container{top:var(--spacing-sm);right:var(--spacing-sm);left:var(--spacing-sm);max-width:100%}}.toast{display:flex;align-items:flex-start;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);background-color:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-lg);border-left:4px solid transparent;animation:slideInRight .3s ease-out forwards;pointer-events:auto;cursor:pointer;position:relative;overflow:hidden}.toast:hover{box-shadow:var(--shadow-lg);transform:translate(-2px)}.toast-close{position:absolute;top:var(--spacing-xs);right:var(--spacing-xs);background:none;border:none;cursor:pointer;padding:var(--spacing-xs);border-radius:var(--radius-sm);opacity:.5;transition:opacity var(--transition-fast),background-color var(--transition-fast);display:flex;align-items:center;justify-content:center;color:inherit}.toast-close:hover{opacity:1;background-color:#0000001a}.toast-close-icon{width:16px;height:16px}.toast-icon-wrapper{display:flex;align-items:center;justify-content:center;flex-shrink:0}.toast-icon{width:24px;height:24px}.toast-content{flex:1;min-width:0}.toast-message{margin:0;font-size:var(--font-size-sm);line-height:1.5;color:var(--text-color)}.toast-success{border-left-color:var(--success-color);background-color:#f0fff4}.toast-success .toast-icon-success{color:var(--success-color)}.toast-success .toast-message{color:#166534}.toast-error{border-left-color:var(--danger-color);background-color:#fef2f2}.toast-error .toast-icon-error{color:var(--danger-color)}.toast-error .toast-message{color:#991b1b}.toast-warning{border-left-color:var(--warning-color);background-color:#fffbeb}.toast-warning .toast-icon-warning{color:var(--warning-color)}.toast-warning .toast-message{color:#92400e}.toast-info{border-left-color:var(--info-color);background-color:#f0f9ff}.toast-info .toast-icon-info{color:var(--info-color)}.toast-info .toast-message{color:#0e7490}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideOutRight{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}.toast-exiting{animation:slideOutRight .2s ease-in forwards}
