*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:Palatino Linotype,Book Antiqua,Palatino,Georgia,Times New Roman,serif;font-size:18.2px;line-height:1.45;color:#1a1a1a;background:#faf9f7}a{color:#2e7d32;text-decoration:none;transition:color .15s ease,opacity .15s ease}a:visited{color:#6d7c5e}a:hover{text-decoration:underline;opacity:.85}img{max-width:100%;height:auto}button{cursor:pointer;font-family:inherit}.site-header,.site-header *,.auth-page,.auth-page *,.dashboard-page,.dashboard-page *,.newpost-page,.newpost-page *,.home-hero,.home-hero *,.pagination,.pagination *,.toc-sidebar,.toc-sidebar *,.toc-mobile,.toc-mobile *,.article-meta,.article-meta *,.status-badge,.btn,.tab-btn,.form-label,.form-input,.form-textarea,.form-hint{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.reading-progress-bar{position:fixed;top:0;left:0;height:3px;background:#2e7d32;z-index:1000;transition:width .1s linear;pointer-events:none}.site-header{background:#1a1a1a;color:#fff;height:50px;position:sticky;top:0;z-index:900;border-bottom:1px solid #333}.header-inner{max-width:1200px;margin:0 auto;padding:0 1.5rem;height:100%;display:flex;align-items:center;justify-content:space-between}.header-brand{font-size:1.2rem;font-weight:700;letter-spacing:.05em;color:#fff!important;text-decoration:none!important}.header-brand:visited{color:#fff!important}.header-nav{display:flex;align-items:center;gap:1rem}.header-link{color:#ccc;text-decoration:none;background:none;border:none;padding:0;font-size:.9rem;transition:color .15s ease}.header-link:visited{color:#ccc}.header-link:hover{color:#fff;text-decoration:none;opacity:1}.header-logout-btn{cursor:pointer;color:#ccc}.header-user-link{display:flex;align-items:center;gap:.5rem;text-decoration:none!important;color:#ccc;transition:color .15s ease}.header-user-link:visited{color:#ccc}.header-user-link:hover{color:#fff}.header-avatar{width:28px;height:28px;border-radius:50%;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;background:#444;flex-shrink:0}.header-avatar-img{width:100%;height:100%;object-fit:cover}.header-avatar-initials{font-size:.7rem;font-weight:600;color:#ddd;letter-spacing:.03em}.header-username{color:inherit;font-size:.85rem}.header-btn{display:inline-block;padding:.4rem 1rem;border-radius:5px;font-size:.85rem;font-weight:500;text-decoration:none!important;transition:background .15s ease,color .15s ease}.header-btn-primary{background:#2e7d32;color:#fff!important}.header-btn-primary:visited{color:#fff!important}.header-btn-primary:hover{background:#256b29;opacity:1}.main-content{min-height:calc(100vh - 50px)}.loading-spinner{text-align:center;padding:3rem;color:#888;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.95rem}.page-loading{text-align:center;padding:4rem;color:#888;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.error-message{text-align:center;padding:2rem;color:#c62828;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.empty-state{text-align:center;padding:4rem 2rem;color:#888;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.empty-state .btn{margin-top:1rem}.home-page{padding:2rem 0}.home-container{max-width:800px;margin:0 auto;padding:0 1.5rem}.home-hero{text-align:center;padding:2rem 0 3rem;border-bottom:1px solid #e8e6e3;margin-bottom:2.5rem}.home-title{font-size:2.4rem;font-weight:700;color:#1a1a1a;letter-spacing:-.02em;margin-bottom:.5rem}.home-subtitle{font-size:1.1rem;color:#777;font-weight:400}.post-grid{display:flex;flex-direction:column;gap:1rem}.post-card{background:#fff;border:1px solid #eee;border-radius:8px;padding:1.5rem;transition:box-shadow .2s ease,border-color .2s ease}.post-card:hover{box-shadow:0 2px 12px #0000000f;border-color:#ddd}.post-card-link{text-decoration:none!important}.post-card-title{font-size:1.2rem;font-weight:600;color:#1a1a1a;line-height:1.35;margin-bottom:.5rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.post-card-link:hover .post-card-title{color:#2e7d32}.post-card-meta{display:flex;align-items:center;gap:.4rem;font-size:.85rem;color:#888;margin-bottom:.6rem;flex-wrap:wrap}.post-card-avatar{width:22px;height:22px;border-radius:50%;object-fit:cover;flex-shrink:0}.post-card-avatar-fallback{display:inline-flex;align-items:center;justify-content:center;background:#e0e0e0;color:#666;font-size:.7rem;font-weight:600}.post-card-sep{color:#ccc}.post-card-summary{font-size:.95rem;color:#555;line-height:1.5}.pagination{display:flex;align-items:center;justify-content:center;gap:1rem;padding:2rem 0;margin-top:1rem}.pagination-btn{padding:.5rem 1.2rem;border:1px solid #ddd;border-radius:6px;background:#fff;color:#333;font-size:.9rem;transition:all .15s ease}.pagination-btn:hover:not(:disabled){border-color:#2e7d32;color:#2e7d32}.pagination-btn:disabled{opacity:.4;cursor:not-allowed}.pagination-info{font-size:.9rem;color:#888}.auth-page{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 50px);padding:2rem}.auth-card{width:100%;max-width:400px;background:#fff;border:1px solid #eee;border-radius:12px;padding:2.5rem;box-shadow:0 2px 12px #0000000a}.auth-title{font-size:1.6rem;font-weight:700;color:#1a1a1a;text-align:center;margin-bottom:.3rem}.auth-subtitle{text-align:center;color:#888;font-size:.95rem;margin-bottom:1.8rem}.auth-error{background:#ffeaea;color:#c62828;padding:.75rem 1rem;border-radius:6px;font-size:.9rem;margin-bottom:1rem;border:1px solid #ffcdd2}.auth-form{display:flex;flex-direction:column;gap:1rem}.auth-footer{text-align:center;margin-top:1.5rem;font-size:.9rem;color:#888}.auth-footer a{color:#2e7d32;font-weight:500}.form-group{display:flex;flex-direction:column;gap:.35rem}.form-label{font-size:.85rem;font-weight:600;color:#444}.form-hint{font-weight:400;color:#999;font-size:.8rem}.form-input{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:6px;font-size:.95rem;color:#1a1a1a;background:#fff;transition:border-color .15s ease,box-shadow .15s ease}.form-input:focus{outline:none;border-color:#2e7d32;box-shadow:0 0 0 3px #2e7d321a}.form-textarea{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:6px;font-size:.95rem;font-family:SF Mono,Fira Code,Fira Mono,Menlo,Consolas,monospace;color:#1a1a1a;background:#fff;resize:vertical;line-height:1.6;transition:border-color .15s ease,box-shadow .15s ease}.form-textarea:focus{outline:none;border-color:#2e7d32;box-shadow:0 0 0 3px #2e7d321a}.btn{display:inline-block;padding:.75rem 2rem;border:none;border-radius:6px;font-size:.95rem;font-weight:500;text-align:center;text-decoration:none!important;transition:background .15s ease,box-shadow .15s ease;cursor:pointer}.btn-primary{background:#2e7d32;color:#fff!important}.btn-primary:visited{color:#fff!important}.btn-primary:hover{background:#256b29;opacity:1}.btn-outline{background:transparent;border:1px solid #ddd;color:#555}.btn-outline:hover{border-color:#999;color:#333}.btn-danger{background:#e53935;color:#fff!important}.btn-danger:hover{background:#c62828}.btn-small{padding:.35rem .8rem;font-size:.8rem}.btn-full{width:100%}.btn:disabled{opacity:.6;cursor:not-allowed}.dashboard-page{padding:2rem 0}.dashboard-container{max-width:900px;margin:0 auto;padding:0 1.5rem}.dashboard-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid #e8e6e3}.dashboard-title{font-size:1.6rem;font-weight:700;color:#1a1a1a}.dashboard-posts{overflow-x:auto}.dashboard-table{width:100%;border-collapse:collapse;font-size:.9rem}.dashboard-table th{text-align:left;padding:.75rem 1rem;border-bottom:2px solid #e8e6e3;color:#666;font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.04em}.dashboard-table td{padding:.85rem 1rem;border-bottom:1px solid #f0eeec;vertical-align:middle}.dashboard-table tbody tr:hover{background:#faf8f5}.dashboard-post-title{font-weight:500;color:#1a1a1a!important}.dashboard-post-title:hover{color:#2e7d32!important}.dashboard-post-date{color:#888;font-size:.85rem;white-space:nowrap}.dashboard-actions{display:flex;gap:.5rem}.status-badge{display:inline-block;padding:.2rem .6rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.status-complete{background:#e8f5e9;color:#2e7d32}.status-processing{background:#fff8e1;color:#f9a825}.status-error{background:#ffebee;color:#c62828}.status-unknown{background:#f5f5f5;color:#999}.newpost-page{padding:2rem 0}.newpost-container{max-width:720px;margin:0 auto;padding:0 1.5rem}.editor-container{max-width:960px;margin:0 auto;padding:0 1.5rem}.newpost-title{font-size:1.6rem;font-weight:700;color:#1a1a1a;margin-bottom:1.5rem}.newpost-form{display:flex;flex-direction:column;gap:1.2rem}.edit-actions{display:flex;gap:.75rem}.tab-bar{display:flex;gap:0;border-bottom:2px solid #e8e6e3;margin-bottom:1.5rem}.tab-btn{padding:.6rem 1.5rem;border:none;background:none;color:#888;font-size:.95rem;font-weight:500;cursor:pointer;position:relative;transition:color .15s ease}.tab-btn:hover{color:#333}.tab-active{color:#2e7d32}.tab-active:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:2px;background:#2e7d32}.file-dropzone{border:2px dashed #ddd;border-radius:8px;padding:2.5rem 1.5rem;text-align:center;cursor:pointer;transition:border-color .15s ease,background .15s ease}.file-dropzone:hover,.file-dropzone-active{border-color:#2e7d32;background:#2e7d3205}.file-dropzone-has-file{border-style:solid;border-color:#2e7d32;background:#f0f4e8}.file-bar{display:flex;align-items:center;padding:.6rem 1rem;border:1.5px dashed #d0d0d0;border-radius:8px;cursor:pointer;transition:border-color .15s ease,background .15s ease;min-height:44px}.file-bar:hover,.file-bar-active{border-color:#2e7d32;background:#2e7d3205}.file-bar-has-file{border-style:solid;border-color:#2e7d32;background:#f0f7f0}.file-bar-placeholder{display:flex;align-items:center;gap:.5rem;color:#999;font-size:.88rem;width:100%}.file-bar-info{display:flex;align-items:center;gap:.5rem;width:100%}.file-bar-icon{font-size:1.1rem;flex-shrink:0}.file-bar-filename{font-weight:500;color:#333;font-size:.88rem}.file-bar-size{color:#888;font-size:.8rem}.file-bar-hint{margin-left:auto;font-size:.78rem;color:#bbb}.file-bar-remove{margin-left:auto;background:none;border:1px solid #ddd;border-radius:50%;width:22px;height:22px;display:flex;align-items:center;justify-content:center;color:#999;font-size:1rem;line-height:1;cursor:pointer;transition:color .12s,border-color .12s;padding:0}.file-bar-remove:hover{color:#c62828;border-color:#c62828}.ai-toggles{display:flex;align-items:center;gap:1.5rem}.toggle-item{display:flex;align-items:center;gap:.5rem;cursor:pointer}.toggle-switch{position:relative;width:36px;height:20px;background:#ccc;border:none;border-radius:10px;cursor:pointer;transition:background .2s ease;padding:0;flex-shrink:0}.toggle-switch:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;background:#fff;border-radius:50%;transition:transform .2s ease;box-shadow:0 1px 3px #00000026}.toggle-switch.toggle-on{background:#2e7d32}.toggle-switch.toggle-on:after{transform:translate(16px)}.toggle-label{font-size:.85rem;color:#555;-webkit-user-select:none;user-select:none}.read-page{background:#faf9f7;min-height:calc(100vh - 50px);padding:2rem 0 4rem}.read-loading,.read-error{max-width:682px;margin:0 auto;padding:3rem 1.5rem;text-align:center}.read-error h2{color:#c62828;margin-bottom:.5rem}.read-layout{max-width:1200px;margin:0 auto;padding:0 1.5rem;display:grid;grid-template-columns:minmax(200px,270px) minmax(0,682px) 1fr;gap:2rem}.article-container{max-width:682px;width:100%}.article-header{margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid #e8e6e3}.article-title{font-family:Palatino Linotype,Book Antiqua,Palatino,Georgia,serif;font-size:1.6rem;font-weight:600;color:#1a1a1a;line-height:1.25;margin-bottom:.6rem;margin-top:0}.article-meta{display:flex;align-items:center;gap:.4rem;font-size:.9rem;color:#888;margin-bottom:1rem;flex-wrap:wrap}.article-meta-sep{color:#ccc}.article-author{font-weight:500;color:#555}.article-summary{background:#f0f4e8;border-left:4px solid #2e7d32;padding:1rem 1.5rem;border-radius:0 4px 4px 0;margin-top:1rem}.article-summary p{font-style:italic;font-size:.95rem;color:#444;line-height:1.55;margin:0}.article-processing-notice{background:#fff8e1;border:1px solid #ffe082;border-radius:6px;padding:.75rem 1rem;font-size:.9rem;color:#795548;margin-bottom:2rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.article-body{font-family:Palatino Linotype,Book Antiqua,Palatino,Georgia,Times New Roman,serif;font-size:18.2px;line-height:1.45;color:#1a1a1a}.article-body p{margin-bottom:1.2em}.article-body h1{font-size:1.6rem;font-weight:600;margin-top:2.5rem;margin-bottom:.8rem;line-height:1.25;color:#1a1a1a}.article-body h2{font-size:1.35rem;font-weight:600;margin-top:2rem;margin-bottom:.7rem;line-height:1.3;color:#1a1a1a}.article-body h3{font-size:1.15rem;font-weight:600;margin-top:1.5rem;margin-bottom:.6rem;line-height:1.35;color:#1a1a1a}.article-body h4,.article-body h5,.article-body h6{font-size:1.1rem;font-weight:600;margin-top:1.3rem;margin-bottom:.5rem;color:#1a1a1a}.article-body a{color:#2e7d32;text-decoration:none}.article-body a:visited{color:#6d7c5e}.article-body a:hover{text-decoration:underline;opacity:.85}.article-body blockquote{border-left:3px solid #d0d0d0;padding:1rem;background:#f5f5f3;font-style:italic;margin:1.5em 0;border-radius:0 4px 4px 0}.article-body blockquote p:last-child{margin-bottom:0}.article-body pre{background:#f4f4f4;padding:1rem;border-radius:4px;font-size:14px;font-family:SF Mono,Fira Code,Fira Mono,Menlo,Consolas,Liberation Mono,monospace;overflow-x:auto;margin:1.5em 0;line-height:1.5}.article-body code{background:#f0f0ee;padding:2px 6px;border-radius:3px;font-size:.85em;font-family:SF Mono,Fira Code,Fira Mono,Menlo,Consolas,Liberation Mono,monospace}.article-body pre code{background:none;padding:0;border-radius:0;font-size:inherit}.article-body ul,.article-body ol{margin:1em 0;padding-left:1.8em}.article-body li{margin-bottom:.4em}.article-body hr{border:none;border-top:1px solid #e0ddd8;margin:2em 0}.article-body img{max-width:100%;height:auto;border-radius:4px;margin:1.5em auto;display:block}.article-body table{width:100%;border-collapse:collapse;margin:1.5em 0;font-size:.95em;display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}.article-body th,.article-body td{border:1px solid #e0ddd8;padding:.6rem .8rem;text-align:left}.article-body th{background:#f5f5f3;font-weight:600}.concept-term{border-bottom:1.5px dotted #2e7d32;cursor:help;transition:background .15s ease}.concept-term:hover{background:#2e7d320f}.footnote-ref,sup a[href^="#footnote"],sup a[href^="#fn-"]{color:#2e7d32;cursor:pointer;font-size:.8em;text-decoration:none;font-weight:500}.footnote-ref:hover,sup a[href^="#footnote"]:hover,sup a[href^="#fn-"]:hover{text-decoration:underline}.toc-sidebar{position:relative}.toc-container{position:sticky;top:62px;max-height:calc(100vh - 74px);overflow-y:auto;display:flex;gap:.75rem;padding-right:.5rem}.toc-container::-webkit-scrollbar{width:3px}.toc-container::-webkit-scrollbar-thumb{background:#ddd;border-radius:3px}.toc-progress-track{width:3px;min-width:3px;background:#e8e6e3;border-radius:3px;flex-shrink:0;position:relative}.toc-progress-fill{width:100%;background:#2e7d32;border-radius:3px;transition:height .1s linear;position:absolute;top:0;left:0}.toc-content{flex:1;min-width:0}.toc-heading{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#999;margin-bottom:.75rem}.toc-list{list-style:none;padding:0;margin:0}.toc-item{margin-bottom:.25rem}.toc-link{display:block;font-size:.85rem;color:#666;text-decoration:none;padding:.25rem 0;line-height:1.35;transition:color .15s ease;word-break:break-word}.toc-link:visited{color:#666}.toc-link:hover{color:#333;text-decoration:none;opacity:1}.toc-item-active .toc-link{color:#2e7d32;font-weight:600}.toc-item-active .toc-link:before{content:"";display:inline-block;width:5px;height:5px;background:#2e7d32;border-radius:50%;margin-right:6px;vertical-align:middle;position:relative;top:-1px}.toc-mobile{display:none;margin-bottom:1.5rem}.toc-mobile-toggle{display:flex;align-items:center;gap:.5rem;width:100%;padding:.75rem 1rem;background:#fff;border:1px solid #e8e6e3;border-radius:8px;font-size:.9rem;color:#555;cursor:pointer;transition:border-color .15s ease}.toc-mobile-toggle:hover{border-color:#ccc}.toc-mobile-icon{font-size:.8rem}.toc-mobile-dropdown{background:#fff;border:1px solid #e8e6e3;border-top:none;border-radius:0 0 8px 8px;padding:.75rem 1rem;max-height:50vh;overflow-y:auto}.collapse-toggle{background:none;border:none;cursor:pointer;padding:.15rem .4rem;margin-right:.3rem;opacity:.35;transition:opacity .15s ease;font-size:.65em;vertical-align:middle;color:#666;display:inline-block;line-height:1}.collapse-toggle:hover{opacity:.7}.collapse-icon{display:inline-block}.glossary-popup{background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 4px 20px #0000001f;padding:1rem;max-width:350px;z-index:1100;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.9rem;line-height:1.5;animation:popupFadeIn .15s ease}@keyframes popupFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.glossary-popup-term{font-weight:700;font-size:1rem;color:#1a1a1a;margin-bottom:.4rem}.glossary-popup-definition{color:#333;font-weight:400;margin-bottom:.5rem}.glossary-popup-category{display:inline-block;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#888;background:#f0f0ee;padding:.15rem .5rem;border-radius:10px}.glossary-popup-arrow{width:8px;height:8px;background:#fff;border-right:1px solid #e0e0e0;border-bottom:1px solid #e0e0e0;transform:rotate(45deg)}.glossary-popup-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem}.glossary-popup-actions{display:flex;gap:.25rem;flex-shrink:0}.glossary-action-btn{background:none;border:1px solid #e0e0e0;border-radius:4px;padding:.2rem;cursor:pointer;color:#888;display:flex;align-items:center;justify-content:center;transition:color .15s,border-color .15s}.glossary-action-btn:hover{color:#333;border-color:#ccc}.glossary-action-delete:hover{color:#d32f2f;border-color:#d32f2f}.glossary-popup-edit{margin-top:.25rem}.glossary-edit-input{width:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.85rem;line-height:1.4;border:1px solid #ddd;border-radius:4px;padding:.4rem .5rem;resize:vertical;box-sizing:border-box}.glossary-edit-input:focus{outline:none;border-color:#2e7d32}.glossary-edit-buttons{display:flex;gap:.35rem;margin-top:.35rem}.glossary-edit-save,.glossary-edit-cancel{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.75rem;padding:.25rem .6rem;border-radius:4px;cursor:pointer;border:none}.glossary-edit-save{background:#2e7d32;color:#fff}.glossary-edit-save:hover{background:#256d28}.glossary-edit-save:disabled{opacity:.6;cursor:default}.glossary-edit-cancel{background:#f0f0ee;color:#666}.glossary-edit-cancel:hover{background:#e5e5e3}.footnote-popup{background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 4px 20px #0000001f;padding:.75rem 1rem;max-width:320px;z-index:1100;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.85rem;line-height:1.5;color:#444;animation:popupFadeIn .15s ease}.footnotes-section{margin-top:3rem;padding-top:2rem;border-top:1px solid #e8e6e3}.footnotes-heading{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:1.1rem;font-weight:600;color:#555;margin-bottom:1rem}.footnotes-list{list-style:none;padding:0;margin:0}.footnote-item{display:flex;gap:.6rem;padding:.5rem 0;font-size:.9rem;line-height:1.55;color:#555;border-bottom:1px solid #f0eeec}.footnote-item:last-child{border-bottom:none}.footnote-number{font-weight:600;color:#2e7d32;flex-shrink:0;min-width:1.5em}.footnote-content{flex:1}.footnotes-expand-btn{display:block;margin-top:.75rem;background:none;border:none;color:#2e7d32;font-size:.9rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;cursor:pointer;padding:.4rem 0;transition:opacity .15s ease}.footnotes-expand-btn:hover{opacity:.75;text-decoration:underline}.article-sidenotes{min-width:0}@media (max-width: 1100px){.read-layout{grid-template-columns:1fr;max-width:720px}.toc-sidebar{display:none}.toc-mobile{display:block}.article-sidenotes{display:none}}@media (max-width: 768px){body,.article-body{font-size:17px}.article-title,.article-body h1{font-size:1.4rem}.article-body h2{font-size:1.35rem}.article-body h3{font-size:1.15rem}.home-title{font-size:1.8rem}.header-inner,.home-container,.dashboard-container,.newpost-container,.read-layout{padding:0 1rem}.auth-card{padding:1.5rem}.post-card{padding:1.2rem}.dashboard-table{font-size:.8rem}.dashboard-table th,.dashboard-table td{padding:.6rem .5rem}.header-nav{gap:.6rem}.header-username{display:none}}@media (max-width: 480px){.header-brand{font-size:1rem}.header-btn{padding:.3rem .7rem;font-size:.8rem}.article-meta{font-size:.8rem}.pagination{flex-wrap:wrap;gap:.5rem}}.profile-success{background:#e8f5e9;color:#2e7d32;padding:.75rem 1rem;border-radius:6px;font-size:.9rem;margin-bottom:1rem;border:1px solid #c8e6c9}.profile-avatar-section{display:flex;flex-direction:column;align-items:center;gap:.5rem;margin-bottom:1.5rem}.profile-avatar-large{width:96px;height:96px;border-radius:50%;overflow:hidden;cursor:pointer;position:relative;background:#e0e0e0;display:flex;align-items:center;justify-content:center;transition:opacity .2s ease}.profile-avatar-large:hover{opacity:.85}.profile-avatar-img-large{width:100%;height:100%;object-fit:cover}.profile-avatar-initials-large{font-size:2rem;font-weight:600;color:#888}.profile-avatar-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#00000080;color:#fff;font-size:.8rem;font-weight:500;opacity:0;transition:opacity .2s ease}.profile-avatar-large:hover .profile-avatar-overlay{opacity:1}.profile-avatar-hint{font-size:.8rem;color:#999}.article-author-avatar{width:28px;height:28px;border-radius:50%;object-fit:cover;vertical-align:middle;margin-right:.35rem}.article-author-avatar-fallback{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:#e0e0e0;color:#666;font-size:.72rem;font-weight:600;vertical-align:middle;margin-right:.35rem}::selection{background:#2e7d3226}::-moz-selection{background:#2e7d3226}*:focus-visible{outline:2px solid #2e7d32;outline-offset:2px}@media print{.site-header,.reading-progress-bar,.toc-sidebar,.toc-mobile,.article-sidenotes,.collapse-toggle{display:none!important}.read-layout{grid-template-columns:1fr}body{background:#fff;color:#000}.article-body a{color:#000;text-decoration:underline}}.visibility-picker{margin:1.2rem 0}.visibility-options{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}.visibility-option{display:flex;align-items:flex-start;gap:.6rem;padding:.7rem .9rem;border:1.5px solid #e0ddd8;border-radius:8px;cursor:pointer;transition:border-color .15s,background .15s;background:#fff}.visibility-option:hover{border-color:#b0ada6}.visibility-option-active{border-color:#2e7d32;background:#f1f8f1}.visibility-option input[type=radio]{display:none}.visibility-option-icon{font-size:1.2rem;flex-shrink:0;margin-top:1px}.visibility-option-content{display:flex;flex-direction:column;gap:.15rem}.visibility-option-label{font-weight:600;font-size:.95rem;color:#1a1a1a}.visibility-option-desc{font-size:.82rem;color:#6b6b6b;line-height:1.3}.visibility-password{margin-top:.8rem;padding-left:2rem}.visibility-password-hint{font-size:.82rem;color:#888;margin-top:.3rem;padding-left:2rem}.visibility-badge{display:inline-block;padding:.15rem .55rem;border-radius:10px;font-size:.75rem;font-weight:600;letter-spacing:.02em;white-space:nowrap}.vis-public{background:#e8f5e9;color:#2e7d32}.vis-unlisted{background:#e3f2fd;color:#1565c0}.vis-password{background:#fff3e0;color:#e65100}.vis-private{background:#f3e5f5;color:#7b1fa2}.password-gate{max-width:420px;margin:6rem auto;text-align:center;padding:2.5rem;background:#fff;border-radius:12px;box-shadow:0 2px 16px #0000000f}.password-gate-icon{font-size:2.5rem;margin-bottom:1rem}.password-gate h2{font-family:Merriweather,Georgia,Times New Roman,serif;font-size:1.4rem;font-weight:700;color:#1a1a1a;margin:0 0 .3rem}.password-gate-author{font-size:.9rem;color:#888;margin-bottom:1rem}.password-gate-message{font-size:.95rem;color:#555;margin-bottom:1.5rem}.password-gate-form{display:flex;flex-direction:column;gap:.8rem}.password-gate-form .form-input{text-align:center;font-size:1rem}.password-gate-error{color:#c62828;font-size:.85rem;font-weight:500}.share-buttons{margin-top:3rem;padding-top:2rem;border-top:1px solid #e8e6e3;display:flex;align-items:center;gap:1rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.share-label{font-size:.85rem;font-weight:600;color:#888;text-transform:uppercase;letter-spacing:.04em;flex-shrink:0}.share-actions{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.share-btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;padding:.4rem .65rem;border:1px solid #e0ddd8;border-radius:6px;background:#fff;color:#555;font-size:.82rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;text-decoration:none!important;cursor:pointer;transition:border-color .15s,color .15s,background .15s;line-height:1}.share-btn:visited{color:#555}.share-btn:hover{border-color:#2e7d32;color:#2e7d32;background:#f1f8f1;opacity:1;text-decoration:none!important}.share-btn-copy{padding:.4rem .75rem}.share-btn-copy span{font-size:.82rem}@media (max-width: 600px){.share-buttons{flex-direction:column;align-items:flex-start;gap:.6rem}.share-actions{gap:.35rem}.visibility-options{gap:.4rem}.visibility-option{padding:.6rem .7rem}.password-gate{margin:3rem 1rem;padding:1.5rem}}.annotation-hint{display:flex;align-items:center;gap:8px;padding:10px 16px;margin-bottom:20px;background:#f0f7f0;border:1px solid #c8e6c9;border-radius:8px;color:#2e7d32;font-size:14px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.annotation-hint svg{flex-shrink:0;opacity:.8}.user-annotation:hover{filter:brightness(.92)}.annotation-toolbar{animation:popupFadeIn .12s ease}.annotation-toolbar-buttons{display:flex;gap:2px;border-radius:8px;overflow:hidden;box-shadow:0 4px 16px #0003}.annotation-toolbar-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border:none;border-radius:0;background:#1a1a1a;color:#fff;font-size:.82rem;font-weight:500;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;cursor:pointer;white-space:nowrap;transition:background .12s ease}.annotation-toolbar-btn:first-child{border-radius:8px 0 0 8px}.annotation-toolbar-btn:last-child{border-radius:0 8px 8px 0}.annotation-toolbar-btn:hover{background:#333}.annotation-toolbar-btn:disabled{opacity:.6;cursor:wait}.annotation-toolbar-btn-ai{background:#1565c0}.annotation-toolbar-btn-ai:hover{background:#1976d2}.annotation-spinner{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:annotationSpin .6s linear infinite}@keyframes annotationSpin{to{transform:rotate(360deg)}}.annotation-form{background:#fff;border:1px solid #e0e0e0;border-radius:10px;box-shadow:0 6px 28px #00000029;padding:14px;width:320px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.annotation-form-header{margin-bottom:10px}.annotation-form-title{font-size:.85rem;font-weight:700;color:#1a1a1a;display:block;margin-bottom:4px}.annotation-form-selected{font-size:.78rem;color:#888;font-style:italic;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.annotation-form-input{width:100%;padding:8px 10px;border:1px solid #ddd;border-radius:6px;font-size:.88rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#1a1a1a;resize:vertical;outline:none;min-height:60px;box-sizing:border-box;transition:border-color .15s ease}.annotation-form-input:focus{border-color:#2e7d32;box-shadow:0 0 0 2px #2e7d321a}.annotation-form-input::placeholder{color:#aaa}.annotation-form-footer{display:flex;align-items:center;justify-content:space-between;margin-top:10px;gap:8px}.annotation-color-picker{display:flex;gap:5px}.annotation-color-btn{width:18px;height:18px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:transform .1s ease,border-color .1s ease;padding:0}.annotation-color-btn:hover{transform:scale(1.15)}.annotation-color-active{border-color:#1a1a1a;transform:scale(1.15)}.annotation-form-actions{display:flex;gap:6px}.annotation-cancel-btn{padding:5px 12px;border:1px solid #ddd;border-radius:5px;background:#fff;color:#666;font-size:.8rem;font-family:inherit;cursor:pointer;transition:border-color .12s}.annotation-cancel-btn:hover{border-color:#999}.annotation-save-btn{padding:5px 14px;border:none;border-radius:5px;background:#2e7d32;color:#fff;font-size:.8rem;font-weight:600;font-family:inherit;cursor:pointer;transition:background .12s}.annotation-save-btn:hover{background:#256b29}.annotation-save-btn:disabled{opacity:.6;cursor:not-allowed}.annotation-popup{background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 4px 20px #0000001f;padding:10px 14px;max-width:320px;z-index:1100;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.88rem;line-height:1.5;animation:popupFadeIn .15s ease}.annotation-popup-header{display:flex;align-items:center;gap:6px;margin-bottom:6px}.annotation-popup-color-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.annotation-popup-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#999;flex:1}.annotation-popup-delete{background:none;border:none;color:#ccc;font-size:1.1rem;line-height:1;cursor:pointer;padding:0 2px;transition:color .12s}.annotation-popup-delete:hover{color:#c62828}.annotation-popup-note{color:#333;font-weight:400}@media (max-width: 600px){.annotation-form{width:280px}.annotation-toolbar{max-width:calc(100vw - 20px)}}.reading-mode-toggle{display:flex;align-items:center;justify-content:center;margin-bottom:.6rem;padding:.2rem 0 .3rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.reading-mode-buttons{display:inline-flex;border:1px solid #e0ddd8;border-radius:8px;overflow:hidden;background:#fff}.reading-mode-btn{display:flex;flex-direction:column;align-items:center;gap:.1rem;padding:.35rem 1.5rem;border:none;background:transparent;color:#666;font-family:inherit;cursor:pointer;transition:background .15s ease,color .15s ease;border-right:1px solid #e0ddd8}.reading-mode-btn:last-child{border-right:none}.reading-mode-btn-label{font-size:.88rem;font-weight:600;line-height:1.2}.reading-mode-btn-time{font-size:.68rem;font-weight:400;opacity:.7}.reading-mode-btn:hover{background:#f5f5f3;color:#333}.reading-mode-btn-active{background:#2e7d32;color:#fff}.reading-mode-btn-active:hover{background:#256b29;color:#fff}.reading-mode-btn-active .reading-mode-btn-time{opacity:.85}.tldr-view{padding:0}.tldr-card{background:#f0f4e8;border-left:4px solid #2e7d32;border-radius:0 8px 8px 0;padding:1.5rem 2rem;margin-bottom:2rem}.tldr-card-header{display:flex;align-items:center;justify-content:space-between}.tldr-label{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#2e7d32;margin-bottom:.75rem}.tldr-edit-btn{background:none;border:none;color:#2e7d32;cursor:pointer;padding:4px;border-radius:4px;opacity:.6;transition:opacity .15s ease}.tldr-edit-btn:hover{opacity:1}.tldr-edit-input{width:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:1rem;line-height:1.6;padding:.6rem;border:1px solid #c8e6c9;border-radius:6px;resize:vertical;background:#fff;color:#333;box-sizing:border-box}.tldr-edit-input:focus{outline:none;border-color:#2e7d32;box-shadow:0 0 0 2px #2e7d3226}.tldr-edit-buttons{display:flex;gap:.5rem;margin-top:.5rem}.tldr-edit-save{padding:.35rem 1rem;background:#2e7d32;color:#fff;border:none;border-radius:6px;font-size:.85rem;font-weight:500;cursor:pointer;font-family:inherit}.tldr-edit-save:hover{background:#256b29}.tldr-edit-save:disabled{opacity:.6;cursor:not-allowed}.tldr-edit-cancel{padding:.35rem 1rem;background:transparent;color:#666;border:1px solid #ddd;border-radius:6px;font-size:.85rem;cursor:pointer;font-family:inherit}.tldr-edit-cancel:hover{background:#f5f5f5}.tldr-text{font-size:1.12rem;line-height:1.7;color:#333;margin:0}.tldr-meta{display:flex;gap:1.2rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.85rem;color:#888;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid #e8e6e3}.tldr-meta span+span:before{content:"·";margin-right:1.2rem;color:#ccc}.tldr-section-label{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#999;margin-bottom:.75rem}.tldr-media{margin-bottom:2rem}.tldr-media-scroll{display:flex;gap:.75rem;overflow-x:auto;padding-bottom:.5rem;-webkit-overflow-scrolling:touch}.tldr-media-scroll::-webkit-scrollbar{height:4px}.tldr-media-scroll::-webkit-scrollbar-thumb{background:#ddd;border-radius:4px}.tldr-media-thumb{width:120px;height:90px;object-fit:cover;border-radius:6px;border:1px solid #e8e6e3;flex-shrink:0;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.tldr-media-thumb:hover{transform:scale(1.03);box-shadow:0 2px 8px #0000001a}.tldr-toc{margin-bottom:1rem}.tldr-toc-list{list-style:none;padding:0;margin:0}.tldr-toc-item{margin-bottom:.2rem}.tldr-toc-item button{background:none;border:none;color:#555;font-size:.9rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;cursor:pointer;padding:.3rem 0;text-align:left;transition:color .15s ease;width:100%}.tldr-toc-item button:hover{color:#2e7d32}.tldr-toc-more{background:none;border:none;color:#2e7d32;font-size:.85rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;cursor:pointer;padding:.4rem 0;font-weight:500;transition:opacity .15s ease}.tldr-toc-more:hover{opacity:.75;text-decoration:underline}.brief-summary-block{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:1rem;line-height:1.65;color:#444;margin:.25rem 0 .75rem;padding:.6rem .85rem;border-left:3px solid #c8e6c9;background:#f8faf6;border-radius:0 4px 4px 0}.brief-section-stats{font-size:.75rem;color:#999;margin-bottom:.3rem;font-weight:500}@media (max-width: 768px){.reading-mode-btn{padding:.3rem 1rem}.reading-mode-btn-label{font-size:.82rem}.tldr-media-thumb{width:90px;height:68px}}@media print{.reading-mode-toggle{display:none!important}}.plog-link{display:inline-flex;align-items:center;gap:.35rem;background:none;border:none;padding:.15rem .4rem;border-radius:4px;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.8rem;color:#555;transition:background .12s,color .12s}.plog-link:hover{background:#f0f4e8;color:#2e7d32}.plog-link-time{font-weight:600}.plog-link-tokens{color:#888;font-size:.75rem}.dashboard-no-log{color:#ccc;font-size:.8rem}.plog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:1200;display:flex;align-items:center;justify-content:center;animation:plogFadeIn .15s ease}@keyframes plogFadeIn{0%{opacity:0}to{opacity:1}}.plog-modal{background:#fff;border-radius:12px;box-shadow:0 8px 40px #0003;width:90%;max-width:520px;max-height:85vh;overflow-y:auto;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.plog-header{display:flex;align-items:center;justify-content:space-between;padding:1.2rem 1.5rem .8rem;border-bottom:1px solid #f0eeec}.plog-header h3{font-size:1.1rem;font-weight:700;color:#1a1a1a;margin:0}.plog-close{background:none;border:none;font-size:1.5rem;color:#999;cursor:pointer;line-height:1;padding:0;transition:color .12s}.plog-close:hover{color:#333}.plog-body{padding:1.2rem 1.5rem 1.5rem}.plog-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:.8rem;margin-bottom:1.2rem}.plog-summary-item{display:flex;flex-direction:column;gap:.15rem}.plog-summary-label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#999}.plog-summary-value{font-size:.95rem;font-weight:600;color:#1a1a1a}.plog-quality{margin-bottom:1.2rem}.plog-quality-label{display:flex;justify-content:space-between;font-size:.8rem;color:#666;margin-bottom:.3rem}.plog-quality-track{height:6px;background:#e8e6e3;border-radius:3px;overflow:hidden}.plog-quality-fill{height:100%;border-radius:3px;transition:width .3s ease}.plog-steps{margin-bottom:.5rem}.plog-steps-title{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#999;margin-bottom:.6rem}.plog-step{padding:.6rem 0;border-bottom:1px solid #f5f3f0}.plog-step:last-child{border-bottom:none}.plog-step-name{font-weight:600;font-size:.88rem;color:#1a1a1a;margin-bottom:.2rem}.plog-step-details{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.plog-step-model{font-size:.75rem;font-weight:500;background:#f0f4e8;color:#2e7d32;padding:.1rem .45rem;border-radius:10px}.plog-step-tokens{font-size:.75rem;color:#888}.plog-step-time{font-size:.75rem;font-weight:600;color:#555}.plog-step-badge-skip{font-size:.7rem;background:#f5f5f5;color:#999;padding:.1rem .4rem;border-radius:10px}.plog-step-badge-err{font-size:.7rem;background:#ffebee;color:#c62828;padding:.1rem .4rem;border-radius:10px}.plog-step-extra{font-size:.75rem;color:#888;margin-top:.15rem}.plog-step-error-msg{font-size:.78rem;color:#c62828;margin-top:.25rem}.plog-step-skipped .plog-step-name{color:#999}.plog-step-error .plog-step-name{color:#c62828}.plog-error{margin-top:.75rem;padding:.75rem 1rem;background:#ffebee;border:1px solid #ffcdd2;border-radius:6px;font-size:.85rem;color:#c62828}@media (max-width: 600px){.plog-modal{width:95%;max-height:90vh}.plog-summary{grid-template-columns:1fr 1fr}}@media print{.share-buttons,.annotation-toolbar,.annotation-popup{display:none!important}}
