:root{--vault-bg: #ffffff;--vault-fg-black: #0a0a0a;--vault-fg-muted: #737373;--vault-fg-light: #a3a3a3;--vault-grid-line: #e5e5e5;--vault-grid-line-strong: #cccccc;--vault-font-sans: "Helvetica Neue", Helvetica, Arial, sans-serif;--vault-text-tiny: .65rem;--vault-text-small: .75rem;--vault-text-body: .9rem;--vault-text-h3: 1.25rem;--vault-text-h2: 2rem;--vault-text-h1: 3.5rem;--vault-spacing-xs: .5rem;--vault-spacing-sm: 1rem;--vault-spacing-md: 2rem;--vault-spacing-lg: 4rem;--vault-spacing-xl: 6rem;--vault-zone-download-bg: #fef2f2;--vault-zone-download-border: #e11d48;--vault-zone-pending-bg: #fffbeb;--vault-zone-pending-border: #d97706;--vault-zone-accepted-bg: #f0fdf4;--vault-zone-accepted-border: #16a34a;--vault-zone-comment-bg: #eff6ff;--vault-zone-comment-border: #2563eb;--vault-zone-upload-bg: #f5f3ff;--vault-zone-upload-border: #7c3aed;--vault-zone-info-bg: #f8fafc;--vault-zone-info-border: #64748b;--vault-accent: #1a56db}.vault-layout{width:100%;height:100vh;display:grid;grid-template-columns:320px 1fr;grid-template-rows:60px 1fr;gap:1px;background-color:var(--vault-grid-line);font-family:var(--vault-font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--vault-fg-black);overflow:hidden}.vault-panel{background-color:var(--vault-bg);position:relative;display:flex;flex-direction:column;overflow:hidden}.vault-label-bracketed{font-size:var(--vault-text-tiny);text-transform:uppercase;letter-spacing:.05em;color:var(--vault-fg-black)}.vault-label-bracketed:before{content:"[ ";color:var(--vault-fg-light)}.vault-label-bracketed:after{content:" ]";color:var(--vault-fg-light)}.vault-label-tiny{font-size:var(--vault-text-tiny);text-transform:uppercase;letter-spacing:.05em;color:var(--vault-fg-muted)}.vault-heading-display{font-size:var(--vault-text-h1);font-weight:300;letter-spacing:-.02em;text-transform:uppercase;line-height:1;margin:0}.vault-heading-editorial{font-size:var(--vault-text-h2);font-weight:300;letter-spacing:-.01em;text-transform:uppercase;line-height:1.1;margin:0}.vault-text-body-editorial{font-size:var(--vault-text-body);line-height:1.6;color:var(--vault-fg-black);max-width:100%}.vault-text-muted{color:var(--vault-fg-muted)}.vault-text-small{font-size:var(--vault-text-small)}.vault-header{grid-column:1 / -1;display:grid;grid-template-columns:320px 1fr 200px;gap:1px;background-color:var(--vault-grid-line)}.vault-header>div{background-color:var(--vault-bg);display:flex;align-items:center;padding:0 var(--vault-spacing-sm)}.vault-brand{font-weight:500;font-size:var(--vault-text-small);letter-spacing:.02em;display:flex;flex-direction:column;line-height:1.2}.vault-nav-links{display:flex;gap:var(--vault-spacing-md);justify-content:center;width:100%}.vault-nav-link{font-size:var(--vault-text-tiny);text-transform:uppercase;letter-spacing:.05em;cursor:pointer;transition:color .2s;text-decoration:none;color:inherit}.vault-nav-link:hover{color:var(--vault-fg-muted)}.vault-nav-link.active:before{content:"[ "}.vault-nav-link.active:after{content:" ]"}.vault-user-meta{justify-content:flex-end!important;font-size:var(--vault-text-tiny);text-transform:uppercase;color:var(--vault-fg-muted)}.vault-sidebar{border-right:1px solid var(--vault-grid-line);display:flex;flex-direction:column}.vault-sidebar-header{padding:var(--vault-spacing-md) var(--vault-spacing-sm);border-bottom:1px solid var(--vault-grid-line);display:flex;justify-content:space-between;align-items:flex-end}.vault-document-list{overflow-y:auto;flex:1}.vault-doc-item{display:flex;flex-direction:column;padding:var(--vault-spacing-sm);border-bottom:1px solid var(--vault-grid-line);cursor:pointer;transition:background-color .2s;position:relative}.vault-doc-item:hover{background-color:#f9f9f9}.vault-doc-item.active{background-color:#f0f0f0}.vault-doc-item.active:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background-color:var(--vault-fg-black)}.vault-doc-meta-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.vault-doc-title{font-size:var(--vault-text-small);font-weight:500;text-transform:uppercase;letter-spacing:.02em}.vault-doc-status{font-size:var(--vault-text-tiny);text-transform:uppercase;letter-spacing:.05em;display:flex;align-items:center;gap:4px}.vault-status-action{color:var(--vault-fg-black);font-weight:600}.vault-status-accepted{color:var(--vault-fg-muted)}.vault-status-read{color:var(--vault-fg-light)}.vault-doc-date{font-size:var(--vault-text-tiny);color:var(--vault-fg-muted)}.vault-main-content{display:flex;flex-direction:column;position:relative}.vault-article-scroll-area{flex:1;overflow-y:auto;padding:var(--vault-spacing-md) var(--vault-spacing-lg);display:grid;grid-template-columns:1fr;gap:var(--vault-spacing-lg);align-content:start}.vault-crosshair{position:absolute;width:40px;height:40px;pointer-events:none}.vault-crosshair:before,.vault-crosshair:after{content:"";position:absolute;background-color:var(--vault-grid-line-strong)}.vault-crosshair:before{top:50%;left:0;right:0;height:1px}.vault-crosshair:after{left:50%;top:0;bottom:0;width:1px}.vault-article-header{display:flex;flex-direction:column;gap:var(--vault-spacing-md);margin-bottom:var(--vault-spacing-md);position:relative}.vault-article-meta-row{display:flex;justify-content:space-between;align-items:flex-start;padding-top:var(--vault-spacing-md);border-top:1px solid var(--vault-grid-line)}.vault-meta-block-right{text-align:right}.vault-article-title-area{grid-column:1 / -1;padding-bottom:var(--vault-spacing-md);border-bottom:1px solid var(--vault-grid-line)}.vault-meta-block{display:flex;flex-direction:column;gap:4px}.vault-article-body{display:grid;grid-template-columns:1fr 2.5fr;gap:var(--vault-spacing-xl)}.vault-article-sidebar{font-size:var(--vault-text-body);line-height:1.6;color:var(--vault-fg-muted)}.vault-article-sidebar p{margin-bottom:var(--vault-spacing-sm)}.vault-article-main-text{display:flex;flex-direction:column;gap:var(--vault-spacing-md)}.vault-article-main-text h3{font-size:var(--vault-text-small);text-transform:uppercase;letter-spacing:.02em;margin-top:var(--vault-spacing-sm);font-weight:500}.vault-article-main-text p{font-size:1.09rem;line-height:1.6;color:var(--vault-fg-black);max-width:65ch;margin:0}.vault-action-bar{border-top:1px solid var(--vault-grid-line);padding:var(--vault-spacing-md) var(--vault-spacing-xl);background-color:var(--vault-bg);display:flex;justify-content:space-between;align-items:center;gap:var(--vault-spacing-md)}.vault-action-statement{font-size:var(--vault-text-small);text-transform:uppercase;letter-spacing:.02em;max-width:500px;line-height:1.4}.vault-btn{display:inline-flex;align-items:center;justify-content:space-between;padding:12px 24px;background:transparent;border:1px solid var(--vault-fg-black);color:var(--vault-fg-black);font-family:inherit;font-size:var(--vault-text-tiny);text-transform:uppercase;letter-spacing:.05em;cursor:pointer;transition:all .2s ease;min-width:200px}.vault-btn:hover{background:var(--vault-fg-black);color:var(--vault-bg)}.vault-btn:disabled{opacity:.3;cursor:not-allowed}.vault-btn:disabled:hover{background:transparent;color:var(--vault-fg-black)}.vault-btn-arrow{margin-left:var(--vault-spacing-sm);font-size:14px;line-height:1}.vault-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000}.vault-modal{background:var(--vault-bg);padding:var(--vault-spacing-md);max-width:440px;width:90%;position:relative}.vault-modal-title{font-size:var(--vault-text-small);text-transform:uppercase;letter-spacing:.05em;font-weight:500;margin-bottom:var(--vault-spacing-sm);padding-bottom:var(--vault-spacing-sm);border-bottom:1px solid var(--vault-grid-line)}.vault-modal p{font-size:var(--vault-text-body);line-height:1.6;margin-bottom:var(--vault-spacing-sm);color:var(--vault-fg-black)}.vault-modal-input{width:100%;padding:10px 12px;border:1px solid var(--vault-grid-line);font-family:inherit;font-size:var(--vault-text-body);outline:none;transition:border-color .2s}.vault-modal-input:focus{border-color:var(--vault-fg-black)}.vault-modal-actions{display:flex;justify-content:flex-end;gap:var(--vault-spacing-sm);margin-top:var(--vault-spacing-md)}.vault-btn-ghost{display:inline-flex;align-items:center;padding:10px 20px;background:transparent;border:none;color:var(--vault-fg-muted);font-family:inherit;font-size:var(--vault-text-tiny);text-transform:uppercase;letter-spacing:.05em;cursor:pointer;transition:color .2s}.vault-btn-ghost:hover{color:var(--vault-fg-black)}.vault-hub-content{flex:1;overflow-y:auto;padding:var(--vault-spacing-lg) var(--vault-spacing-xl);display:flex;flex-direction:column;gap:var(--vault-spacing-lg)}.vault-hub-hero{padding-bottom:var(--vault-spacing-lg);border-bottom:1px solid var(--vault-grid-line)}.vault-hub-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background-color:var(--vault-grid-line)}.vault-hub-stat{background:var(--vault-bg);padding:var(--vault-spacing-md);display:flex;flex-direction:column;gap:4px}.vault-hub-stat-value{font-size:var(--vault-text-h2);font-weight:300;line-height:1}.vault-hub-stat-clickable{cursor:pointer;transition:background-color .2s}.vault-hub-stat-clickable:hover{background-color:#f5f5f5}.vault-hub-stat-desc{font-size:var(--vault-text-small);color:var(--vault-fg-muted);line-height:1.4;margin-top:4px}.vault-loading{display:flex;align-items:center;justify-content:center;flex:1;color:var(--vault-fg-muted);font-size:var(--vault-text-tiny);text-transform:uppercase;letter-spacing:.1em}.vault-empty{display:flex;align-items:center;justify-content:center;flex:1;flex-direction:column;gap:var(--vault-spacing-sm);color:var(--vault-fg-light);font-size:var(--vault-text-tiny);text-transform:uppercase;letter-spacing:.1em}.vault-layout ::-webkit-scrollbar{width:4px}.vault-layout ::-webkit-scrollbar-track{background:var(--vault-bg)}.vault-layout ::-webkit-scrollbar-thumb{background:var(--vault-grid-line-strong)}.vault-layout ::-webkit-scrollbar-thumb:hover{background:var(--vault-fg-muted)}.vault-comment-panel{position:fixed;top:0;right:0;width:360px;height:100vh;background:var(--vault-bg);border-left:1px solid var(--vault-grid-line);display:flex;flex-direction:column;z-index:900;box-shadow:-4px 0 24px #00000014}.vault-comment-panel-header{padding:var(--vault-spacing-sm) var(--vault-spacing-sm);border-bottom:1px solid var(--vault-grid-line);display:flex;justify-content:space-between;align-items:center;min-height:60px}.vault-comment-list{flex:1;overflow-y:auto;padding:var(--vault-spacing-sm)}.vault-comment-item{padding:var(--vault-spacing-sm) 0;border-bottom:1px solid var(--vault-grid-line)}.vault-comment-meta{display:flex;justify-content:space-between;margin-bottom:4px}.vault-comment-body{font-size:var(--vault-text-body);line-height:1.5;color:var(--vault-fg-black)}.vault-comment-input-area{border-top:1px solid var(--vault-grid-line);padding:var(--vault-spacing-sm);display:flex;flex-direction:column;gap:var(--vault-spacing-xs)}.vault-comment-textarea{width:100%;padding:10px 12px;border:1px solid var(--vault-grid-line);font-family:inherit;font-size:var(--vault-text-body);line-height:1.5;resize:vertical;outline:none;transition:border-color .2s}.vault-comment-textarea:focus{border-color:var(--vault-fg-black)}.vault-btn-comment{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:transparent;border:1px solid var(--vault-grid-line);color:var(--vault-fg-muted);font-family:inherit;font-size:var(--vault-text-tiny);text-transform:uppercase;letter-spacing:.05em;cursor:pointer;transition:all .2s}.vault-btn-comment:hover{border-color:var(--vault-fg-black);color:var(--vault-fg-black)}.vault-completed-badge{display:inline-flex;align-items:center;gap:6px;font-size:var(--vault-text-tiny);text-transform:uppercase;letter-spacing:.05em;color:var(--vault-fg-muted)}.vault-zone-download{background:var(--vault-zone-download-bg);border-left:3px solid var(--vault-zone-download-border);padding:var(--vault-spacing-sm) var(--vault-spacing-md)}.vault-zone-pending{background:var(--vault-zone-pending-bg);border-left:3px solid var(--vault-zone-pending-border);padding:var(--vault-spacing-sm) var(--vault-spacing-md)}.vault-zone-accepted{background:var(--vault-zone-accepted-bg);border-left:3px solid var(--vault-zone-accepted-border);padding:var(--vault-spacing-sm) var(--vault-spacing-md)}.vault-zone-comment{background:var(--vault-zone-comment-bg);border-left:3px solid var(--vault-zone-comment-border);padding:var(--vault-spacing-sm) var(--vault-spacing-md)}.vault-zone-upload{background:var(--vault-zone-upload-bg);border-left:3px solid var(--vault-zone-upload-border);padding:var(--vault-spacing-sm) var(--vault-spacing-md)}.vault-zone-info{background:var(--vault-zone-info-bg);border-left:3px solid var(--vault-zone-info-border);padding:var(--vault-spacing-sm) var(--vault-spacing-md)}.vault-hub-stat-value{color:var(--vault-accent)}.vault-timeline{display:flex;flex-direction:column}.vault-timeline-item{display:grid;grid-template-columns:24px 1fr;gap:var(--vault-spacing-sm);padding:var(--vault-spacing-xs) 0;position:relative}.vault-timeline-item:not(:last-child):before{content:"";position:absolute;left:11px;top:28px;bottom:-2px;width:1px;background:var(--vault-grid-line)}.vault-timeline-dot{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;flex-shrink:0;border:1px solid var(--vault-grid-line);background:var(--vault-bg)}.vault-timeline-dot-comment{border-color:var(--vault-zone-comment-border);color:var(--vault-zone-comment-border)}.vault-timeline-dot-accept{border-color:var(--vault-zone-accepted-border);color:var(--vault-zone-accepted-border)}.vault-timeline-dot-download{border-color:var(--vault-zone-download-border);color:var(--vault-zone-download-border)}.vault-timeline-dot-read{border-color:var(--vault-zone-info-border);color:var(--vault-zone-info-border)}.vault-timeline-content{min-width:0}.vault-timeline-header{display:flex;justify-content:space-between;align-items:baseline;gap:var(--vault-spacing-sm)}.vault-timeline-body{font-size:var(--vault-text-small);color:var(--vault-fg-black);line-height:1.5;margin-top:2px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.vault-timeline-target{font-size:var(--vault-text-tiny);color:var(--vault-accent);cursor:pointer;text-decoration:none}.vault-timeline-target:hover{text-decoration:underline}
