.header{position:fixed;top:0;left:0;right:0;height:var(--header-height);background:var(--color-bg);border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between;padding:0 24px;z-index:200}.header-left{display:flex;align-items:center;gap:12px}.header-menu-btn{display:none;font-size:1.2rem;color:var(--color-text-muted);padding:4px 6px;border-radius:6px;transition:background .15s,color .15s}.header-menu-btn:hover{background:var(--color-surface);color:var(--color-text)}.header-title{font-size:1.1rem;font-weight:700;color:var(--color-text)}.header-actions{display:flex;align-items:center;gap:12px}.header-user{display:flex;align-items:center;gap:10px}.header-user-name{font-size:.875rem;color:var(--color-text-muted)}.header-btn{font-size:.875rem;padding:6px 14px;border-radius:6px;color:var(--color-text-muted);transition:background .15s,color .15s}.header-btn:hover{background:var(--color-surface);color:var(--color-text)}.header-btn--primary{background:var(--color-primary);color:#fff}.header-btn--primary:hover{background:var(--color-primary-hover);color:#fff}.layout-body{display:flex;margin-top:var(--header-height);min-height:calc(100vh - var(--header-height))}.sidebar{position:fixed;top:var(--header-height);left:0;width:var(--sidebar-width);height:calc(100vh - var(--header-height));overflow-y:auto;border-right:1px solid var(--color-border);background:var(--color-surface);padding:24px 16px;display:flex;flex-direction:column;gap:20px}.sidebar-profile{display:flex;flex-direction:column;align-items:center;gap:8px;padding-bottom:16px;border-bottom:1px solid var(--color-border)}.sidebar-avatar{width:52px;height:52px;border-radius:50%;background:var(--color-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:700}.sidebar-avatar--guest{background:var(--color-border);color:var(--color-text-muted)}.sidebar-username{font-size:.875rem;font-weight:600;color:var(--color-text)}.sidebar-write-btn{width:100%;padding:8px 0;border-radius:6px;background:var(--color-primary);color:#fff;font-size:.875rem;font-weight:600;transition:background .15s}.sidebar-write-btn:hover{background:var(--color-primary-hover)}.sidebar-nav{display:flex;flex-direction:column;gap:4px}.sidebar-nav-all{display:block;padding:6px 8px;border-radius:6px;font-size:.875rem;font-weight:600;color:var(--color-text);transition:background .15s}.sidebar-nav-all:hover{background:var(--color-border)}.sidebar-group{display:flex;flex-direction:column}.sidebar-group-title{display:flex;align-items:center;gap:6px;padding:6px 8px;border-radius:6px;font-size:.875rem;font-weight:600;color:var(--color-text);text-align:left;transition:background .15s}.sidebar-group-title:hover{background:var(--color-border)}.sidebar-category-list{list-style:none;padding-left:16px;margin-top:2px;display:flex;flex-direction:column;gap:2px}.sidebar-category-link{display:block;padding:5px 8px;border-radius:6px;font-size:.8125rem;color:var(--color-text-muted);transition:background .15s,color .15s}.sidebar-category-link:hover{background:var(--color-border);color:var(--color-text)}.sidebar-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;z-index:150}.layout-main{margin-left:var(--sidebar-width);flex:1;padding:40px 48px;min-width:0}@media (max-width: 767px){.header-menu-btn{display:flex}.sidebar{transform:translate(-100%);transition:transform .25s ease;z-index:160}.sidebar--open{transform:translate(0)}.sidebar-overlay{display:block}.layout-main{margin-left:0;padding:24px 20px}}@media (min-width: 768px) and (max-width: 1023px){.layout-main{padding:32px}}.post-card{padding:24px 0;border-bottom:1px solid var(--color-border);display:flex;flex-direction:column;gap:10px}.post-card:first-child{padding-top:0}.post-card-category{display:inline-block;font-size:.75rem;font-weight:600;color:var(--color-primary);letter-spacing:.03em;text-transform:uppercase;transition:color .15s}.post-card-category:hover{color:var(--color-primary-hover)}.post-card-title{font-size:1.2rem;font-weight:700;line-height:1.4}.post-card-title a{color:var(--color-text);transition:color .15s}.post-card-title a:hover{color:var(--color-primary)}.post-card-tags{display:flex;flex-wrap:wrap;gap:6px}.tag-badge{font-size:.75rem;color:var(--color-text-muted);background:var(--color-surface);border:1px solid var(--color-border);border-radius:4px;padding:2px 8px;transition:background .15s,color .15s}.tag-badge:hover{background:var(--color-border);color:var(--color-text)}.post-card-footer{display:flex;align-items:center;gap:8px;font-size:.8125rem;color:var(--color-text-muted)}.post-card-divider{color:var(--color-border)}.post-detail{max-width:720px}.post-detail-header{display:flex;flex-direction:column;gap:12px;padding-bottom:28px;border-bottom:1px solid var(--color-border);margin-bottom:36px}.post-detail-title{font-size:2rem;font-weight:800;line-height:1.3;color:var(--color-text)}.post-detail-header-top{display:flex;align-items:center;justify-content:space-between;min-height:20px}.post-detail-edit-btn{font-size:.8125rem;color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:5px;padding:3px 12px;transition:color .15s,border-color .15s}.post-detail-edit-btn:hover{color:var(--color-primary);border-color:var(--color-primary)}.post-detail-meta{display:flex;align-items:center;gap:8px;font-size:.875rem;color:var(--color-text-muted)}.post-detail-body{font-size:1rem;line-height:1.8;color:var(--color-text)}.post-detail-body h1,.post-detail-body h2,.post-detail-body h3,.post-detail-body h4{margin:2rem 0 .75rem;font-weight:700;line-height:1.3}.post-detail-body h1{font-size:1.75rem}.post-detail-body h2{font-size:1.4rem}.post-detail-body h3{font-size:1.15rem}.post-detail-body p{margin-bottom:1.2rem}.post-detail-body ul,.post-detail-body ol{margin:0 0 1.2rem 1.5rem}.post-detail-body li{margin-bottom:.3rem}.post-detail-body blockquote{margin:1.5rem 0;padding:.75rem 1.25rem;border-left:4px solid var(--color-primary);background:var(--color-surface);color:var(--color-text-muted);border-radius:0 4px 4px 0}.post-detail-body code{background:var(--color-surface);border:1px solid var(--color-border);border-radius:4px;padding:.1em .4em;font-size:.875em;font-family:SFMono-Regular,Consolas,monospace}.post-detail-body pre code{background:none;border:none;padding:0;font-size:.875rem}.post-detail-body a{color:var(--color-primary);text-decoration:underline;text-underline-offset:2px}.post-detail-body img{max-width:100%;border-radius:6px;margin:1rem 0}.post-detail-body hr{border:none;border-top:1px solid var(--color-border);margin:2rem 0}.post-detail-like{display:flex;justify-content:center;margin:48px 0}.like-button{display:flex;align-items:center;gap:8px;padding:10px 24px;border:2px solid var(--color-border);border-radius:999px;font-size:1rem;color:var(--color-text-muted);transition:all .15s;background:var(--color-bg)}.like-button:hover{border-color:#e05c7a;color:#e05c7a}.like-button--active{border-color:#e05c7a;color:#e05c7a;background:#fff0f4}.like-button:disabled{opacity:.6;cursor:not-allowed}.like-button-icon{font-size:1.2rem;line-height:1}.post-navigation{display:grid;grid-template-columns:1fr 1fr;gap:12px;border-top:1px solid var(--color-border);padding-top:28px;margin-top:0}.post-nav-item a{display:flex;flex-direction:column;gap:6px;padding:16px 20px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;transition:border-color .15s,background .15s}.post-nav-item a:hover{border-color:var(--color-primary);background:#f0f5ff}.post-nav-next a{text-align:right}.post-nav-label{font-size:.75rem;color:var(--color-text-muted);font-weight:600}.post-nav-title{font-size:.9375rem;font-weight:600;color:var(--color-text);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.quick-nav{position:fixed;bottom:40px;right:32px;z-index:100;display:flex;flex-direction:column;align-items:flex-end;gap:8px}.quick-nav-toggle{width:44px;height:44px;border-radius:50%;border:1px solid var(--color-border);background:var(--color-bg);box-shadow:0 2px 8px #0000001f;font-size:1.25rem;color:var(--color-text-muted);display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s,box-shadow .15s}.quick-nav-toggle:hover,.quick-nav-toggle--open{background:var(--color-primary);color:#fff;border-color:var(--color-primary);box-shadow:0 4px 12px #0d6efd4d}.quick-nav-panel{background:var(--color-bg);border:1px solid var(--color-border);border-radius:10px;box-shadow:0 4px 20px #0000001f;padding:14px 0;min-width:240px;max-width:300px;max-height:320px;overflow-y:auto}.quick-nav-heading{font-size:.75rem;font-weight:700;color:var(--color-text-muted);letter-spacing:.04em;text-transform:uppercase;padding:0 16px 8px;border-bottom:1px solid var(--color-border);margin-bottom:4px}.quick-nav-list{list-style:none}.quick-nav-item{padding:0}.quick-nav-link{display:block;padding:8px 16px;font-size:.875rem;color:var(--color-text);line-height:1.4;transition:background .1s,color .1s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.quick-nav-link:hover{background:var(--color-surface);color:var(--color-primary)}.quick-nav-link--current{font-weight:700;color:var(--color-primary);background:#f0f5ff;cursor:default}.quick-nav-link--current:hover{background:#f0f5ff;color:var(--color-primary)}@media (max-width: 767px){.post-detail-title{font-size:1.5rem}.post-detail-header{padding-bottom:20px;margin-bottom:24px}.post-navigation{grid-template-columns:1fr}.post-nav-next a{text-align:left}.quick-nav{right:16px;bottom:24px}.quick-nav-panel{max-width:260px}}.pagination{display:flex;justify-content:center;align-items:center;gap:4px;margin-top:40px}.pagination-btn{min-width:36px;height:36px;padding:0 8px;border-radius:6px;font-size:.875rem;color:var(--color-text-muted);transition:background .15s,color .15s}.pagination-btn:hover:not(:disabled){background:var(--color-surface);color:var(--color-text)}.pagination-btn--active{background:var(--color-primary);color:#fff;font-weight:600}.pagination-btn--active:hover{background:var(--color-primary-hover)!important;color:#fff!important}.pagination-btn:disabled{opacity:.35;cursor:not-allowed}.editor-page{max-width:780px}.editor-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.editor-delete-btn{padding:6px 16px;border:1px solid #dc3545;border-radius:6px;color:#dc3545;font-size:.875rem;background:none;transition:background .15s,color .15s}.editor-delete-btn:hover{background:#dc3545;color:#fff}.editor-form{display:flex;flex-direction:column;gap:14px}.editor-title-input{width:100%;padding:12px 0;font-size:1.75rem;font-weight:700;border:none;border-bottom:2px solid var(--color-border);outline:none;color:var(--color-text);background:transparent;transition:border-color .15s}.editor-title-input::placeholder{color:var(--color-text-muted)}.editor-title-input:focus{border-bottom-color:var(--color-primary)}.editor-meta-row{display:flex;gap:12px}.editor-select{padding:8px 12px;border:1px solid var(--color-border);border-radius:6px;font-size:.875rem;color:var(--color-text);background:var(--color-bg);outline:none;cursor:pointer;min-width:180px}.editor-select:focus{border-color:var(--color-primary)}.editor-tag-input{flex:1;padding:8px 12px;border:1px solid var(--color-border);border-radius:6px;font-size:.875rem;color:var(--color-text);background:var(--color-bg);outline:none}.editor-tag-input::placeholder{color:var(--color-text-muted)}.editor-tag-input:focus{border-color:var(--color-primary)}.editor-tabs{display:flex;gap:0;border-bottom:2px solid var(--color-border)}.editor-tab{padding:8px 20px;font-size:.9375rem;font-weight:500;color:var(--color-text-muted);border-bottom:2px solid transparent;margin-bottom:-2px;transition:color .15s,border-color .15s;background:none}.editor-tab:hover{color:var(--color-text)}.editor-tab--active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.editor-textarea{width:100%;min-height:480px;padding:16px;border:1px solid var(--color-border);border-radius:6px;font-size:.9375rem;font-family:SFMono-Regular,Consolas,monospace;line-height:1.7;color:var(--color-text);background:var(--color-bg);outline:none;resize:vertical;transition:border-color .15s}.editor-textarea:focus{border-color:var(--color-primary)}.editor-preview{min-height:480px;padding:16px;border:1px solid var(--color-border);border-radius:6px;background:var(--color-surface)}.editor-preview-empty{color:var(--color-text-muted);font-style:italic}.editor-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:4px}.editor-cancel-btn{padding:10px 20px;border:1px solid var(--color-border);border-radius:6px;font-size:.9375rem;color:var(--color-text-muted);background:var(--color-bg);transition:background .15s,border-color .15s}.editor-cancel-btn:hover{background:var(--color-surface);border-color:var(--color-text-muted)}.editor-submit-btn{padding:10px 28px;border:none;border-radius:6px;font-size:.9375rem;font-weight:600;color:#fff;background:var(--color-primary);transition:background .15s}.editor-submit-btn:hover:not(:disabled){background:var(--color-primary-hover)}.editor-submit-btn:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 767px){.editor-title-input{font-size:1.375rem}.editor-meta-row{flex-direction:column}.editor-select{min-width:unset;width:100%}.editor-textarea,.editor-preview{min-height:360px}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--color-bg: #ffffff;--color-surface: #f8f9fa;--color-border: #e9ecef;--color-text: #212529;--color-text-muted: #6c757d;--color-primary: #0d6efd;--color-primary-hover: #0b5ed7;--sidebar-width: 240px;--header-height: 56px}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:var(--color-bg);color:var(--color-text);line-height:1.6}a{color:inherit;text-decoration:none}button{cursor:pointer;border:none;background:none;font:inherit}.page-title{font-size:1.375rem;font-weight:700;margin-bottom:24px;color:var(--color-text)}.page-count{font-size:1rem;font-weight:400;color:var(--color-text-muted);margin-left:6px}.page-status{color:var(--color-text-muted);font-size:.9375rem;padding-top:40px;text-align:center}@media (max-width: 767px){:root{--sidebar-width: 240px}.page-title{font-size:1.2rem}}
