.vault-body{min-height:100vh;background:var(--color-bg);overflow-x:hidden;--color-secondary: #0B5F6B}.vault-shell{position:relative;min-height:100vh;display:grid;grid-template-columns:minmax(280px,320px) minmax(0,1fr)}.vault-sidebar{position:sticky;top:0;height:100vh;z-index:10;display:flex;flex-direction:column;border-right:1px solid rgba(11,95,107,.12);background:#f5f5f7eb;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.vault-sidebar__header{padding:1.25rem 1.25rem 1rem;border-bottom:1px solid rgba(11,95,107,.1)}.vault-sidebar__brand{display:flex;align-items:center;gap:.75rem;text-decoration:none;margin-bottom:1rem}.vault-sidebar__icon{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:#0b5f6b14;border:1px solid rgba(11,95,107,.2);color:var(--color-accent);flex-shrink:0}.vault-sidebar__title{font-family:var(--font-display);font-size:1.125rem;font-weight:700;color:var(--color-text);letter-spacing:-.02em;line-height:1.2}.vault-sidebar__subtitle{font-family:var(--font-mono);font-size:.65rem;color:var(--color-muted)}.vault-sidebar__back{display:inline-flex;align-items:center;gap:.4rem;font-size:.8125rem;font-weight:500;color:var(--color-muted);text-decoration:none;padding:.45rem .65rem;border-radius:8px;border:1px solid transparent;transition:color .2s,border-color .2s,background .2s}.vault-sidebar__back:hover{color:var(--color-secondary);border-color:#0b5f6b33;background:#0b5f6b0f}.vault-sidebar__search-wrap{padding:.85rem 1.25rem;border-bottom:1px solid rgba(11,95,107,.08)}.vault-sidebar__search{width:100%;padding:.65rem .85rem .65rem 2.25rem;border-radius:10px;border:1px solid rgba(11,95,107,.15);background:#fff;color:var(--color-text);font-family:var(--font-body);font-size:.875rem;outline:none;transition:border-color .2s,box-shadow .2s}.vault-sidebar__search::-moz-placeholder{color:var(--color-muted)}.vault-sidebar__search::placeholder{color:var(--color-muted)}.vault-sidebar__search:focus{border-color:#0b5f6b73;box-shadow:0 0 0 3px #0b5f6b1f}.vault-sidebar__search-box{position:relative}.vault-sidebar__search-icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:var(--color-muted);pointer-events:none}.vault-sidebar__tree{flex:1;overflow-y:auto;padding:.75rem .75rem 1.5rem;overscroll-behavior:contain}.vault-sidebar__section-label{font-family:var(--font-mono);font-size:.625rem;color:var(--color-muted);padding:.5rem .75rem .35rem}.vault-tree__folder{margin-bottom:.15rem}.vault-tree__folder-toggle{display:flex;align-items:center;gap:.35rem;width:100%;padding:.35rem .5rem;border:none;background:none;color:var(--color-muted);font-family:var(--font-mono);font-size:.75rem;cursor:pointer;border-radius:6px;transition:color .2s,background .2s}.vault-tree__folder-toggle:hover{color:var(--color-secondary);background:#0b5f6b0f}.vault-tree__chevron{width:14px;height:14px;transition:transform .2s ease;flex-shrink:0}.vault-tree__folder.is-open .vault-tree__chevron{transform:rotate(90deg)}.vault-tree__children{display:none;padding-left:.65rem;margin-left:.5rem;border-left:1px solid rgba(11,95,107,.1)}.vault-tree__folder.is-open .vault-tree__children{display:block}.vault-tree__link{display:flex;align-items:center;gap:.5rem;padding:.45rem .65rem;margin:.1rem 0;border-radius:8px;text-decoration:none;font-size:.875rem;font-weight:500;color:var(--color-muted);transition:color .2s,background .2s,box-shadow .2s;border:1px solid transparent}.vault-tree__link:hover{color:var(--color-text);background:#0b5f6b14;border-color:#0b5f6b1f}.vault-tree__link.is-active{color:var(--color-text);background:#0b5f6b17;border-color:#0b5f6b33;box-shadow:inset 3px 0 0 var(--color-accent)}.vault-tree__note-icon{width:14px;height:14px;flex-shrink:0;opacity:.55}.vault-tree__link.is-active .vault-tree__note-icon,.vault-tree__link:hover .vault-tree__note-icon{opacity:1;color:var(--color-secondary)}.vault-tree__link.is-hidden{display:none}.vault-main{position:relative;z-index:1;min-width:0;display:flex;flex-direction:column}.vault-progress{position:fixed;top:0;left:0;height:2px;width:0%;z-index:100;background:var(--color-accent);transition:width .1s linear;pointer-events:none}.vault-main__inner{width:100%;max-width:820px;margin:0 auto;padding:2.5rem 2rem 5rem}.vault-index__hero{margin-bottom:3rem;animation:vault-fade-up .7s ease both}.vault-index__eyebrow{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-mono);font-size:.8125rem;letter-spacing:0;color:var(--color-secondary);margin-bottom:1rem}.vault-index__eyebrow-dot{width:6px;height:6px;border-radius:50%;background:var(--color-accent)}@keyframes vault-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.85)}}.vault-index__title{font-family:var(--font-body);font-size:clamp(2.25rem,5vw,3.25rem);font-weight:600;letter-spacing:-.025em;line-height:1.08;margin-bottom:1rem;color:var(--color-text)}.vault-index__desc{font-size:1.0625rem;color:var(--color-muted);max-width:540px;line-height:1.7}.vault-index__stats{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2rem}.vault-stat{padding:.85rem 1.15rem;border-radius:12px;border:1px solid rgba(11,95,107,.15);background:var(--color-surface)}.vault-stat__value{font-family:var(--font-display);font-size:1.5rem;font-weight:700;color:var(--color-text);line-height:1}.vault-stat__label{font-family:var(--font-mono);font-size:.65rem;color:var(--color-muted);margin-top:.25rem}.vault-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2rem;animation:vault-fade-up .7s ease .1s both}.vault-tag{font-family:var(--font-mono);font-size:.75rem;padding:.35rem .75rem;border-radius:999px;border:1px solid rgba(11,95,107,.2);background:#0b5f6b0f;color:var(--color-secondary);text-decoration:none;transition:border-color .2s,background .2s,transform .15s}.vault-tag:hover{border-color:#0b5f6b73;background:#0b5f6b24}.vault-cards{display:grid;gap:1rem;animation:vault-fade-up .7s ease .2s both}.vault-card{display:block;text-decoration:none;padding:1.35rem 1.5rem;border-radius:var(--radius-card);border:1px solid rgba(11,95,107,.12);background:#fff;transition:border-color .25s,transform .25s,box-shadow .25s;position:relative;overflow:hidden}.vault-card:before{content:"";position:absolute;inset:0;background:#0b5f6b08;opacity:0;transition:opacity .25s}.vault-card:hover{border-color:#0b5f6b59;box-shadow:0 12px 32px -16px #12202b40}.vault-card:hover:before{opacity:1}.vault-card__top{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.65rem;position:relative}.vault-card__title{font-family:var(--font-display);font-size:1.125rem;font-weight:700;color:var(--color-text);letter-spacing:-.01em}.vault-card__date{font-family:var(--font-mono);font-size:.7rem;color:var(--color-muted);white-space:nowrap;flex-shrink:0}.vault-card__desc{font-size:.9375rem;color:var(--color-muted);line-height:1.6;position:relative}.vault-card__tags{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.85rem;position:relative}.vault-card__tag{font-family:var(--font-mono);font-size:.65rem;padding:.2rem .5rem;border-radius:4px;background:#0b5f6b1a;color:var(--color-secondary)}.vault-note{animation:vault-fade-up .6s ease both}.vault-note__header{margin-bottom:2.5rem;padding-bottom:2rem;border-bottom:1px solid rgba(11,95,107,.12)}.vault-note__meta{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1.25rem}.vault-note__breadcrumb{font-family:var(--font-mono);font-size:.7rem;color:var(--color-muted)}.vault-note__title{font-family:var(--font-body);font-size:clamp(1.875rem,4vw,2.5rem);font-weight:700;letter-spacing:-.025em;line-height:1.15;margin:0 0 .75rem;color:var(--color-text)}.vault-note__desc{font-size:1.0625rem;color:var(--color-muted);line-height:1.65;margin:0 0 1rem}.vault-note__tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.15rem}.vault-prose{color:var(--color-text);font-size:1.0625rem;line-height:1.75}.vault-prose h2{font-family:var(--font-display);font-size:1.5rem;font-weight:700;letter-spacing:-.02em;margin:2.5rem 0 1rem;padding-bottom:.5rem;border-bottom:1px solid rgba(11,95,107,.12);color:var(--color-text)}.vault-prose h3{font-family:var(--font-display);font-size:1.2rem;font-weight:600;margin:2rem 0 .75rem;color:var(--color-secondary)}.vault-prose p{margin-bottom:1.15rem;color:#12202be0}.vault-prose a{color:var(--color-secondary);text-decoration:underline;text-underline-offset:3px;text-decoration-color:#0b5f6b66;transition:color .2s,text-decoration-color .2s}.vault-prose a:hover{color:var(--color-accent);text-decoration-color:var(--color-accent)}.vault-prose strong{color:var(--color-text);font-weight:600}.vault-prose ul,.vault-prose ol{margin:0 0 1.15rem 1.25rem}.vault-prose li{margin-bottom:.4rem;color:#12202bd9}.vault-prose li::marker{color:var(--color-accent)}.vault-prose blockquote{margin:1.5rem 0;padding:1rem 1.25rem;border-left:3px solid var(--color-accent);border-radius:0 10px 10px 0;background:#0b5f6b0f;color:var(--color-muted);font-style:italic}.vault-prose code:not(pre code){font-family:var(--font-mono);font-size:.875em;padding:.15em .45em;border-radius:5px;background:#0b5f6b1f;color:var(--color-secondary);border:1px solid rgba(11,95,107,.15)}.vault-prose hr{border:none;height:1px;background:var(--color-border);margin:2.5rem 0}.vault-prose mark{background:#0b5f6b33;color:var(--color-text);padding:.1em .35em;border-radius:4px}.vault-prose img{max-width:100%;border-radius:10px;border:1px solid rgba(11,95,107,.15)}.vault-mobile-toggle{display:none;position:fixed;bottom:1.25rem;right:1.25rem;z-index:50;width:52px;height:52px;border-radius:14px;border:1px solid rgba(11,95,107,.35);background:var(--color-accent);color:#fff;cursor:pointer;box-shadow:0 8px 24px -8px #12202b66;align-items:center;justify-content:center}.vault-sidebar-overlay{display:none}@keyframes vault-fade-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 900px){.vault-shell{grid-template-columns:1fr}.vault-sidebar{position:fixed;left:0;top:0;width:min(320px,88vw);transform:translate(-105%);transition:transform .35s cubic-bezier(.4,0,.2,1);box-shadow:8px 0 40px #12202b2e}.vault-sidebar.is-open{transform:translate(0)}.vault-sidebar-overlay{display:block;position:fixed;inset:0;background:#12202b73;backdrop-filter:blur(4px);z-index:9;opacity:0;pointer-events:none;transition:opacity .3s}.vault-sidebar-overlay.is-visible{opacity:1;pointer-events:auto}.vault-mobile-toggle{display:flex}.vault-main__inner{padding:1.75rem 1.25rem 4rem}}.vault-prose pre.astro-code{margin:0!important;padding:1.15rem 3rem 1.15rem 1.2rem!important;border:none!important;border-radius:0!important;background:transparent!important;background-color:transparent!important;overflow-x:auto!important;font-family:var(--font-mono)!important;font-size:.875rem!important;line-height:1.7!important;-moz-tab-size:2;-o-tab-size:2;tab-size:2;box-shadow:none!important}.vault-prose .code-block{position:relative;margin:1.75rem 0;border-radius:12px;overflow:hidden;background:#0e1a22;border:1px solid rgba(255,255,255,.08);box-shadow:0 2px 8px #00000059,0 12px 32px #00000038}.vault-prose .code-block__copy{position:absolute;top:.65rem;right:.65rem;z-index:2;display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:none;border-radius:8px;background:#ffffff12;color:#f5f3ff8c;cursor:pointer;transition:color .2s,background .2s}.vault-prose .code-block__copy:hover,.vault-prose .code-block__copy:focus-visible{color:#f5f3fff2;background:#ffffff1f}.vault-prose .code-block__copy.is-copied{color:#86efac;background:#86efac26}.vault-prose pre:not(.astro-code){margin:1.75rem 0;padding:1.15rem 1.2rem;border-radius:12px;border:1px solid rgba(255,255,255,.08);background:#0e1a22;overflow-x:auto;font-family:var(--font-mono);font-size:.875rem;line-height:1.7}.vault-prose table{width:100%;border-collapse:separate;border-spacing:0;margin:1.25rem 0 1.75rem;font-size:.9375rem;border-radius:12px;overflow:hidden;border:1px solid rgba(11,95,107,.18)}.vault-prose th,.vault-prose td{padding:.7rem 1rem;border-bottom:1px solid rgba(11,95,107,.12);text-align:left;vertical-align:top}.vault-prose tr:last-child td{border-bottom:none}.vault-prose th{background:#0b5f6b1f;font-family:var(--font-mono);font-size:.75rem;color:var(--color-secondary)}.vault-prose td code{font-size:.8125rem}
