.blog-page{padding:32px 20px 40px;max-width:1200px;margin:0 auto}.blog-header{text-align:center;margin-bottom:40px}.blog-header h1{font-size:2rem;font-weight:700;color:#f1f5f9;margin:16px 0 8px;letter-spacing:-.02em}.blog-description{color:#94a3b8;font-size:1rem;margin:0;max-width:600px;margin-inline:auto}.blog-loading,.blog-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;min-height:200px;color:#94a3b8}.blog-error{text-align:center;padding:24px;background:#ef444414;border:1px solid rgba(239,68,68,.2);border-radius:12px;color:#fca5a5}.blog-empty svg{opacity:.3}.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.blog-card{display:flex;flex-direction:column;background:#1e1e3280;border:1px solid rgba(255,255,255,.06);border-radius:16px;overflow:hidden;text-decoration:none;color:inherit;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.blog-card:hover{transform:translateY(-4px);border-color:#7c3aed4d;box-shadow:0 12px 40px #0000004d,0 0 0 1px #7c3aed26}.blog-card-thumbnail{width:100%;height:200px;overflow:hidden;position:relative;background:#0f0f1e80}.blog-card-thumbnail img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.blog-card:hover .blog-card-thumbnail img{transform:scale(1.05)}.blog-card-body{padding:20px;display:flex;flex-direction:column;gap:8px;flex:1}.blog-card-title{font-size:1.1rem;font-weight:600;color:#f1f5f9;margin:0;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.blog-card-meta{display:flex;align-items:center;gap:8px;margin-top:auto;padding-top:12px}.blog-card-date{font-size:.8rem;color:#64748b}.blog-card-author{font-size:.85rem;color:#a78bfa;font-weight:500}.blog-detail-page{padding:0 20px 40px;max-width:1200px;width:100%;box-sizing:border-box;margin:0 auto}.blog-detail-topbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:8px}.blog-lang-switcher{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.blog-lang-icon{color:#64748b;flex-shrink:0}.blog-lang-pill{padding:5px 14px;border:1px solid rgba(255,255,255,.1);border-radius:20px;background:#0f0f1e66;color:#94a3b8;font-size:.8rem;font-weight:500;font-family:inherit;cursor:pointer;transition:all .2s;line-height:1.3}.blog-lang-pill:hover:not(.active):not(:disabled){border-color:#7c3aed66;color:#e2e8f0;background:#7c3aed14}.blog-lang-pill.active{background:#7c3aed26;border-color:#7c3aed80;color:#c4b5fd;cursor:default;font-weight:600}.blog-detail-header{margin-bottom:32px}.blog-detail-thumbnail{width:100%;max-height:450px;border-radius:16px;overflow:hidden;margin-bottom:24px;display:flex;justify-content:center;align-items:center;background:#0000001a}.blog-detail-thumbnail img{max-width:100%;max-height:450px;width:auto;height:auto;object-fit:contain}.blog-detail-title{font-size:2rem;font-weight:700;color:#f1f5f9;margin:0 0 12px;line-height:1.3;letter-spacing:-.02em}.blog-detail-meta{display:flex;gap:16px;color:#64748b;font-size:.85rem}.blog-detail-meta time{display:flex;align-items:center;gap:4px}.blog-content{color:#cbd5e1;font-size:1.05rem;line-height:1.8;word-wrap:break-word;overflow-wrap:break-word;overflow-x:auto;max-width:100%;width:100%;box-sizing:border-box}.blog-content h1,.blog-content h2,.blog-content h3,.blog-content h4{color:#f1f5f9;margin-top:2em;margin-bottom:.5em;line-height:1.3;word-wrap:break-word;overflow-wrap:break-word}.blog-content h1{font-size:1.8rem}.blog-content h2{font-size:1.5rem}.blog-content h3{font-size:1.25rem}.blog-content h4{font-size:1.1rem}.blog-content p{margin:1em 0}.blog-content a{color:#a78bfa;text-decoration:underline;text-underline-offset:2px}.blog-content a:hover{color:#c4b5fd}.blog-content img,.blog-content video{max-width:100%;height:auto;border-radius:12px;margin:1.5em 0;display:block;object-fit:contain}.blog-content iframe{max-width:100%;border-radius:12px;margin:1.5em 0;display:block}.blog-content blockquote{border-left:3px solid #7c3aed;padding:.5em 1em;margin:1.5em 0;background:#7c3aed0f;border-radius:0 8px 8px 0;color:#a78bfa}.blog-content code{background:#0f0f1e80;padding:2px 6px;border-radius:4px;font-size:.9em;color:#e2e8f0}.blog-content pre{background:#0f0f1eb3;border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:16px;overflow-x:auto;margin:1.5em 0}.blog-content pre code{background:none;padding:0}.blog-content ul,.blog-content ol{padding-left:1.5em;margin:1em 0}.blog-content li{margin:.4em 0}.blog-content hr{border:none;border-top:1px solid rgba(255,255,255,.08);margin:2em 0}.blog-content table{width:100%;border-collapse:collapse;margin:1.5em 0;display:block;overflow-x:auto;white-space:nowrap}.blog-content th,.blog-content td{border:1px solid rgba(255,255,255,.1);padding:10px 14px;text-align:left}.blog-content th{background:#7c3aed1a;color:#e2e8f0;font-weight:600}.admin-blog-page,.blog-editor-page{max-width:1200px;margin:0 auto;padding:0 20px 40px}.admin-blog-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;margin-bottom:24px}.admin-blog-header h1{font-size:1.5rem;font-weight:700;color:#f1f5f9;margin:0}.admin-blog-actions{display:flex;gap:12px;align-items:center}.admin-create-btn{display:flex;align-items:center;gap:6px;padding:10px 20px;background:linear-gradient(135deg,#7c3aed,#3b82f6);border:none;border-radius:10px;color:#fff;font-size:.9rem;font-weight:600;font-family:inherit;cursor:pointer;text-decoration:none;transition:transform .15s,box-shadow .2s;box-shadow:0 4px 14px #7c3aed4d}.admin-create-btn:hover{transform:translateY(-1px);box-shadow:0 6px 20px #7c3aed66;color:#fff}.admin-blog-table{width:100%;border-collapse:collapse;background:#1e1e3266;border-radius:12px;overflow:hidden;border:1px solid rgba(255,255,255,.06)}.admin-blog-table th,.admin-blog-table td{padding:14px 16px;text-align:left;border-bottom:1px solid rgba(255,255,255,.05)}.admin-blog-table th{background:#0f0f1e80;color:#94a3b8;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.admin-blog-table td{color:#e2e8f0;font-size:.9rem}.admin-blog-table tr:last-child td{border-bottom:none}.admin-blog-table tr:hover td{background:#7c3aed0a}.admin-blog-thumb{width:48px;height:48px;border-radius:8px;object-fit:cover}.admin-blog-actions-cell{display:flex;gap:8px}.admin-btn-edit,.admin-btn-delete{padding:6px 14px;border:none;border-radius:8px;font-size:.8rem;font-weight:600;font-family:inherit;cursor:pointer;transition:opacity .2s,transform .15s}.admin-btn-edit{background:#3b82f626;color:#60a5fa;border:1px solid rgba(59,130,246,.3)}.admin-btn-edit:hover{background:#3b82f640}.admin-btn-delete{background:#ef44441a;color:#f87171;border:1px solid rgba(239,68,68,.25)}.admin-btn-delete:hover{background:#ef444433}.blog-editor-page{padding:0 0 40px}.blog-editor-page h1{font-size:1.5rem;font-weight:700;color:#f1f5f9;margin:0 0 24px}.blog-editor-form{display:flex;flex-direction:column;gap:24px}.editor-field{display:flex;flex-direction:column;gap:6px}.editor-field label{font-size:.8rem;font-weight:600;color:#cbd5e1;text-transform:uppercase;letter-spacing:.05em}.editor-field input,.editor-field select{padding:10px 14px;background:#0f0f1e80;border:1px solid rgba(255,255,255,.1);border-radius:10px;color:#f1f5f9;font-size:.95rem;font-family:inherit;outline:none;transition:border-color .2s,box-shadow .2s}.editor-field input:focus,.editor-field select:focus{border-color:#7c3aed80;box-shadow:0 0 0 3px #7c3aed26}.editor-field select{cursor:pointer}.editor-field select option{background:#1e1e32;color:#f1f5f9}.editor-lang-tabs{display:flex;gap:8px;flex-wrap:wrap}.editor-lang-tab{padding:8px 16px;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:#0f0f1e4d;color:#94a3b8;font-size:.85rem;font-family:inherit;cursor:pointer;transition:all .2s}.editor-lang-tab.active{background:#7c3aed26;border-color:#7c3aed66;color:#c4b5fd}.editor-lang-tab:hover:not(.active){border-color:#fff3;color:#e2e8f0}.editor-thumbnail-section{display:flex;gap:16px;align-items:flex-start;flex-wrap:wrap}.editor-thumbnail-preview{width:180px;height:120px;border-radius:10px;overflow:hidden;background:#0f0f1e80;border:1px solid rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;flex-shrink:0}.editor-thumbnail-preview img{width:100%;height:100%;object-fit:cover}.editor-thumbnail-preview svg{color:#475569}.editor-upload-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;background:#3b82f61a;border:1px solid rgba(59,130,246,.25);border-radius:8px;color:#60a5fa;font-size:.85rem;font-family:inherit;cursor:pointer;transition:background .2s}.editor-upload-btn:hover{background:#3b82f633}.blog-editor-page .w-md-editor{background:#0f0f1eb3!important;border:1px solid rgba(255,255,255,.1)!important;border-radius:12px!important;overflow:hidden}.blog-editor-page .w-md-editor-toolbar{background:#141428cc!important;border-bottom:1px solid rgba(255,255,255,.08)!important}.blog-editor-page .w-md-editor-content,.blog-editor-page .w-md-editor-text-pre,.blog-editor-page .w-md-editor-text-input,.blog-editor-page .w-md-editor-text{color:#e2e8f0!important}.editor-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:8px}.editor-save-btn,.editor-cancel-btn{padding:10px 24px;border:none;border-radius:10px;font-size:.9rem;font-weight:600;font-family:inherit;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:6px}.editor-save-btn{background:linear-gradient(135deg,#7c3aed,#3b82f6);color:#fff;box-shadow:0 4px 14px #7c3aed4d}.editor-save-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 20px #7c3aed66}.editor-save-btn:disabled{opacity:.6;cursor:not-allowed}.editor-cancel-btn{background:#64748b26;color:#94a3b8;border:1px solid rgba(100,116,139,.2)}.editor-cancel-btn:hover{background:#64748b40;color:#e2e8f0}.delete-modal-overlay{position:fixed;inset:0;background:#0009;backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:999999;animation:fadeIn .2s ease}.delete-modal{background:#1e1e32f2;border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:32px;max-width:400px;width:90%;text-align:center}.delete-modal h3{color:#f1f5f9;margin:0 0 12px}.delete-modal p{color:#94a3b8;margin:0 0 24px}.delete-modal-actions{display:flex;gap:12px;justify-content:center}.admin-filter-select{padding:8px 14px;background:#0f0f1e80;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#f1f5f9;font-size:.85rem;font-family:inherit;cursor:pointer;outline:none}.admin-filter-select option{background:#1e1e32;color:#f1f5f9}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media(max-width:1024px){.blog-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.blog-grid{grid-template-columns:1fr}.blog-detail-title{font-size:1.5rem}.blog-detail-topbar{flex-direction:column;align-items:flex-start}.blog-lang-switcher{width:100%}.admin-blog-header{flex-direction:column;align-items:stretch}.admin-blog-table{display:block;overflow-x:auto}.editor-thumbnail-section{flex-direction:column}.editor-thumbnail-preview{width:100%;height:180px}}.blog-content{--blot-align-left-margin: .5rem 1rem .5rem 0;--blot-align-center-margin: 1rem auto;--blot-align-right-margin: .5rem 0 .5rem 1rem}.blog-content [class^=ql-image-align-]{display:flex;flex-wrap:wrap;width:var(--resize-width);max-width:100%}.blog-content [class^=ql-image-align-]>img{flex:1 1 auto;z-index:1}.blog-content .ql-image-align-left,.blog-content .ql-iframe-align-left{margin:var(--blot-align-left-margin);float:left}.blog-content .ql-image-align-center,.blog-content .ql-iframe-align-center{margin:var(--blot-align-center-margin)}.blog-content .ql-image-align-right,.blog-content .ql-iframe-align-right{margin:var(--blot-align-right-margin);float:right}.blog-content [class^=ql-image-align-][data-title]{margin-bottom:0}.blog-content [class^=ql-image-align-][data-title]:after{content:attr(data-title);padding:.25rem .2rem;font-size:.9rem;line-height:1.1;background-color:#fff;width:100%}a:has([class^=ql-image-align-]>img){text-decoration:none!important}.blog-content .ql-image-align-left[data-title]:after{text-align:left}.blog-content .ql-image-align-center[data-title]:after{text-align:center}.blog-content .ql-image-align-right[data-title]:after{text-align:right}
