:root{--bg: hsl(0 0% 98%);--surface: hsl(0 0% 100%);--text: hsl(240 6% 8%);--muted: hsl(240 4% 46%);--border: hsl(240 6% 8% / .08);--accent-h: 340;--accent-s: 80%;--accent-l: 60%;--accent: hsl( var(--accent-h) var(--accent-s) var(--accent-l) );--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--space-8: 80px;--radius: 14px;--max-width: 1100px;--line: 1.6;--animation-delay: .4s;--fs-body: clamp(1rem, .95rem + .35vw, 1.125rem);--fs-h3: clamp(1.35rem, 1.15rem + .9vw, 1.85rem);--fs-h4: clamp(1.1rem, 1.02rem + .4vw, 1.3rem);--fs-hero: clamp(1.6rem, 1.2rem + 2vw, 2.6rem);--fs-display: clamp(3rem, 2rem + 5vw, 6.5rem)}[data-theme=dark]{--bg: hsl(30 8% 10%);--surface: hsl(30 10% 14%);--text: hsl(35 20% 88%);--muted: hsl(35 10% 50%);--border: hsl(35 20% 88% / .08);--accent-h: 75;--accent-s: 40%;--accent-l: 48%}*,*:before,*:after{transition:background-color .45s ease,color .45s ease,border-color .45s ease,box-shadow .45s ease}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-delay:.01ms!important;transition-duration:.01ms!important}}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;min-height:100vh;display:flex;flex-direction:column}body{background:var(--bg);color:var(--text);font-family:Jost Variable,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:var(--fs-body);font-weight:400;line-height:var(--line);-webkit-font-smoothing:antialiased}h2{margin-top:0}h3{font-size:var(--fs-h3);margin:0 0 var(--space-4)}h4{font-size:var(--fs-h4);margin:0 0 var(--space-2)}p{margin:0 0 var(--space-4)}a{color:inherit;text-decoration:none}a:visited,a:hover,a:active{color:inherit}pre{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-4);overflow-x:auto;margin:var(--space-4) 0;font-size:.875rem}code{font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,Courier New,monospace;font-size:.875rem}pre code{color:var(--text);background:transparent;padding:0;font-size:inherit}@media(max-width:600px){pre{white-space:pre-wrap;word-break:break-word}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes pulse{0%{opacity:.3}to{opacity:1}}.project-grid>*{opacity:0;transition:opacity .6s ease}.project-grid>*.revealed{opacity:1}.drewbrew-section{opacity:0;transition:opacity .6s ease}.drewbrew-section.revealed{opacity:1}main{width:min(var(--max-width),100% - (var(--space-6) * 2));margin:0 auto;padding:var(--space-6);flex:1}section{padding:0;border-top:none}section:first-of-type{border-top:none}.site-header{top:0;left:0;width:100%;background:var(--surface);border-bottom:1px solid var(--border);z-index:100}.header-inner{width:min(var(--max-width),100% - (var(--space-6) * 2));margin:0 auto;padding:var(--space-1) 0;display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap}.site-title{margin:var(--space-2);font-size:1.05rem;letter-spacing:.2em;text-transform:lowercase}.header-portrait-group{display:flex;align-items:center;gap:var(--space-3);flex-shrink:0;width:auto;padding-bottom:var(--space-2)}.header-portrait{display:flex;flex-direction:column;align-items:center;gap:var(--space-1)}.portrait-crossfade{position:relative;width:96px;height:96px}.portrait-img{width:96px;height:96px;border-radius:50%;border:2px solid var(--border);object-fit:cover;transition:opacity .45s ease}.portrait-img--mayu{position:absolute;top:0;left:0}.portrait-label{font-size:.7rem;font-weight:600;color:var(--accent);letter-spacing:.05em}.portrait-wrapper{border:2px solid var(--border);border-radius:10%;display:flex;flex-direction:column;align-items:center;background-color:var(--bg);padding:var(--space-1)}.portrait-wrapper.is-pulsing{animation:portrait-pulse 3s ease-in-out infinite}.portrait-wrapper.is-pulsing:hover{animation-play-state:paused}@keyframes portrait-pulse{0%,to{box-shadow:0 0 hsl(var(--accent-h) var(--accent-s) var(--accent-l) / 0)}50%{box-shadow:0 0 0 6px hsl(var(--accent-h) var(--accent-s) var(--accent-l) / .25)}}@media(prefers-reduced-motion:reduce){.portrait-wrapper{animation:none}}.site-nav{padding-bottom:var(--space-2);display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}.site-nav a{margin:0;position:relative;color:var(--text);text-decoration:none;text-transform:lowercase;font-weight:500;padding:var(--space-1) 0;transition:color .2s ease}.site-nav a:after{content:"";position:absolute;bottom:2px;left:0;width:0;height:2px;background:var(--accent);border-radius:2px;transition:width .25s ease}.site-nav a:visited{color:var(--text)}.site-nav a:hover,.site-nav a:focus{color:var(--accent)}.site-nav a:hover:after,.site-nav a:focus:after{width:100%}.site-nav a.active{color:var(--accent)}.site-nav a.active:after{width:100%}footer{background:var(--surface);border-top:1px solid var(--border);padding:var(--space-5) var(--space-4);text-align:center}.footer-links{display:flex;gap:var(--space-4);justify-content:center;margin-bottom:var(--space-4)}.footer-links a{color:var(--muted);transition:color .2s ease}.footer-links a:hover{color:var(--accent)}footer p{font-size:.875rem;color:var(--muted);margin:0}.footer-copyright{display:flex;align-items:center;justify-content:center;gap:var(--space-3)}.footer-admin-link{color:var(--muted);opacity:.4;transition:opacity .2s ease;display:flex;align-items:center}.footer-admin-link:hover{opacity:1;color:var(--accent)}@media(max-width:480px){main{width:100%;padding:var(--space-4);margin:0}.header-inner{flex-direction:column;align-items:center}.site-nav{width:100%;padding-bottom:var(--space-3);display:flex;flex-wrap:wrap;justify-content:center}.header-portrait-group{flex-direction:column;align-items:center}}.footer-commit{display:none}@media(max-width:480px){.footer-commit{display:block;margin-bottom:var(--space-4)}}.tags{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2)}.tag{display:inline-block;padding:var(--space-1) var(--space-3);background:var(--surface);border:1px solid var(--border);border-radius:12px;font-size:.875rem;font-weight:500;color:var(--accent);text-transform:lowercase;letter-spacing:.01em}.page-header{margin-bottom:var(--space-6)}.page-header h1{margin:0 0 var(--space-3);font-size:var(--fs-h3)}.page-header p{margin:0;color:var(--muted);font-size:1.05rem}.back-link{color:var(--muted);text-decoration:none;font-size:.9rem;transition:color .2s;display:inline-block;margin-bottom:var(--space-3)}.back-link:hover{color:var(--accent)}.project-links{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-3)}.project-links a{margin:0;color:var(--text);text-decoration:none;transition:color .3s ease;border:1px solid var(--border);background:var(--bg);padding:var(--space-2);border-radius:var(--radius);font-weight:600}.project-links a:visited{color:var(--text)}.project-links a:hover,.project-links a:focus{color:var(--accent)}.project-status{margin-top:var(--space-3);font-size:.9rem;color:var(--muted);font-style:italic}.meeko-bubble-wrapper{display:flex;align-items:center}.speech-bubble{position:relative;background:var(--bg);border:2px solid var(--border);border-radius:var(--radius);padding:var(--space-2) var(--space-3);font-size:.8rem;font-weight:600;width:180px;min-height:60px;display:flex;align-items:flex-start;line-height:1.4;animation:fadeIn .6s ease var(--animation-delay) forwards;opacity:0}.speech-bubble-ghost{position:absolute;inset:var(--space-2) var(--space-3);visibility:hidden;margin:0;pointer-events:none;-webkit-user-select:none;user-select:none}.speech-bubble p{margin:0}.speech-bubble:before{content:"";position:absolute;left:-13px;top:14px;border-width:6px 13px 6px 0;border-style:solid;border-color:transparent var(--border) transparent transparent}.speech-bubble:after{content:"";position:absolute;left:-10px;top:15px;border-width:5px 11px 5px 0;border-style:solid;border-color:transparent var(--bg) transparent transparent}@media(max-width:480px){.speech-bubble:before{top:-13px;left:50%;transform:translate(-50%);border-width:0 6px 13px 6px;border-color:transparent transparent var(--border) transparent}.speech-bubble:after{top:-10px;left:50%;transform:translate(-50%);border-width:0 5px 11px 5px;border-color:transparent transparent var(--bg) transparent}}.commit-banner{position:relative;display:flex;align-items:center;gap:var(--space-1);color:var(--text);text-decoration:none;font-weight:500;font-size:inherit;padding:var(--space-1) 0;transition:color .2s ease}.commit-banner:after{content:"";position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--accent);border-radius:2px;transition:width .25s ease}.commit-banner:hover{color:var(--accent)}.commit-banner:hover:after{width:100%}.commit-hash{font-family:SF Mono,Monaco,Cascadia Code,monospace;color:var(--accent);font-size:.85em;flex-shrink:0}.commit-message{color:var(--muted);font-size:.85em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.nav-divider{color:var(--muted);-webkit-user-select:none;user-select:none;font-weight:300;opacity:.4}.thinking-dots{animation:pulse .8s ease-in-out infinite alternate}.toast-container{position:fixed;bottom:var(--space-6);right:var(--space-6);display:flex;flex-direction:column;gap:var(--space-2);z-index:1000}.toast{padding:var(--space-3) var(--space-5);border-radius:var(--radius);font-size:var(--fs-body);color:var(--surface);box-shadow:0 4px 12px #00000026;animation:toast-in .25s ease forwards}.theme-toggle{background:none;border:none;padding:0;cursor:pointer}.theme-toggle:focus-visible{outline:2px solid var(--accent);border-radius:var(--radius)}.toast--success{background:#2e9e5d}.toast--error{background:#d22d2d}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.hero{display:grid;grid-template-columns:1fr auto;align-items:end;gap:var(--space-6);padding:var(--space-8) 0 var(--space-7);margin-bottom:var(--space-7);border-bottom:1px solid var(--border);animation:fadeIn .7s ease forwards;opacity:0}.hero-text{display:flex;flex-direction:column;gap:var(--space-4)}.hero-text h1{font-size:var(--fs-display);font-weight:900;margin:0;line-height:.95;letter-spacing:-.03em;color:var(--text)}.hero-text h1 em{font-style:normal;color:var(--accent)}.hero-tagline{font-size:clamp(1.1rem,1rem + .8vw,1.4rem);font-weight:500;color:var(--text);margin:0;line-height:1.5}.hero-sub{font-size:var(--fs-body);color:var(--muted);margin:0;max-width:520px;line-height:1.7}.hero-cta{display:flex;gap:var(--space-3);align-items:center;margin-top:var(--space-2);flex-wrap:wrap}.hero-cta a{text-decoration:none;font-weight:600;font-size:.95rem;transition:color .2s ease}.hero-cta .cta-primary{background:var(--text);color:var(--surface);padding:var(--space-3) var(--space-5);border-radius:999px;transition:background .2s ease,color .2s ease}.hero-cta .cta-primary:hover{background:var(--accent)}.hero-cta .cta-secondary{color:var(--muted);padding:var(--space-3) 0;border-bottom:1px solid transparent;transition:color .2s ease,border-color .2s ease}.hero-cta .cta-secondary:hover{color:var(--accent);border-color:var(--accent)}.hero-image{display:flex;align-items:flex-end;justify-content:flex-end;align-self:end}.hero-mascot-crossfade{position:relative;width:clamp(180px,24vw,360px);height:clamp(180px,24vw,360px);transform:translateY(8px)}.hero-mascot{width:100%;height:100%;display:block;object-fit:cover;object-position:center 20%;border-radius:50%;border:2px solid var(--border);transition:opacity .45s ease}.hero-mascot--mayu{position:absolute;top:0;left:0}.intro-text{display:none}.about,.skills,.experience{background:var(--surface);padding:var(--space-6);border-radius:var(--radius);border:1px solid var(--border);margin-bottom:var(--space-6);animation:fadeIn .6s ease both;opacity:0}.projects{margin-bottom:var(--space-6);animation:fadeIn .6s ease calc(var(--animation-delay) * 2) forwards;opacity:0}.projects>h3{font-size:var(--fs-h3);font-weight:700;margin-bottom:var(--space-3)}.projects>p{color:var(--muted);margin-bottom:var(--space-6)}@media(max-width:640px){.hero{grid-template-columns:1fr;grid-template-rows:auto auto;padding:var(--space-7) 0 var(--space-6)}.hero-image{order:-1;justify-content:flex-start}.hero-image img{width:clamp(80px,28vw,140px);transform:none}}.about-page{max-width:var(--max-width);margin:0 auto}.about-page .page-header{padding:var(--space-8) 0 var(--space-6);border-bottom:1px solid var(--border);margin-bottom:var(--space-7);animation:fadeIn .6s ease var(--animation-delay) forwards;opacity:0;background:transparent;border-radius:0;border-left:none;border-right:none;border-top:none;text-align:left}.about-page .page-header h1 em{font-style:normal;color:var(--accent)}.about-page .page-header h1{font-size:clamp(2.5rem,1.5rem + 4vw,5rem);font-weight:900;line-height:.95;letter-spacing:-.03em;margin:0}.about-page .about,.about-page .skills,.about-page .built-to-learn,.about-page .experience{background:transparent;border:none;border-radius:0;padding:0;margin-bottom:var(--space-8);animation:fadeIn .6s ease both;opacity:0}.about-page .about{animation-delay:calc(var(--animation-delay) + .2s)}.about-page .skills{animation-delay:calc(var(--animation-delay) + .4s)}.about-page .built-to-learn{animation-delay:calc(var(--animation-delay) + .6s)}.about-page .experience{animation-delay:calc(var(--animation-delay) + .8s)}.about-page .about p,.about-page .built-to-learn p{font-size:clamp(1.05rem,1rem + .4vw,1.2rem);line-height:1.8;color:var(--text);margin:0 0 var(--space-5);max-width:680px}.about-page .skills h3,.about-page .built-to-learn h3,.about-page .experience h3{font-size:var(--fs-h3);font-weight:700;letter-spacing:-.02em;margin:0 0 var(--space-6);padding-top:var(--space-6);border-top:1px solid var(--border)}.about-page h4{font-size:1rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 var(--space-3)}.skills-groups{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-7)}.about-page .skills ul{list-style:none;padding:0;margin:0}.about-page .skills li{padding:var(--space-2) 0;border-bottom:1px solid var(--border);font-size:var(--fs-body);line-height:1.5;color:var(--text)}.role{margin-bottom:var(--space-7);padding-top:var(--space-5);border-top:1px solid var(--border)}.role:first-of-type{border-top:none;padding-top:0}.role-header{margin-bottom:var(--space-4)}.role-header h4{font-size:var(--fs-h4);font-weight:700;letter-spacing:-.01em;margin:0 0 var(--space-1);color:var(--text);text-transform:none}.role-meta{color:var(--accent);font-size:.9rem;font-weight:600;margin:0}.role p{color:var(--muted);line-height:1.7;margin:0 0 var(--space-3);max-width:640px}.role ul{padding-left:var(--space-5);margin:0}.role li{line-height:1.7;margin-bottom:var(--space-2);color:var(--text)}@media(max-width:640px){.skills-groups{grid-template-columns:1fr;gap:var(--space-6)}}.blog-index .blog-header{padding:var(--space-8) 0 var(--space-6);border-bottom:1px solid var(--border);margin-bottom:var(--space-7);animation:fadeIn .6s ease var(--animation-delay) forwards;opacity:0}.blog-index .blog-header h1 em{font-style:normal;color:var(--accent)}.blog-index .blog-header h1{font-size:clamp(2.5rem,1.5rem + 4vw,5rem);font-weight:900;line-height:.95;letter-spacing:-.03em;margin:0 0 var(--space-4)}.blog-index .blog-header p{color:var(--muted);font-size:clamp(1rem,.9rem + .5vw,1.2rem);margin:0}.posts-list{display:flex;flex-direction:column;gap:var(--space-5)}.posts-list .post-preview{position:relative;overflow:hidden;border-radius:var(--radius);border:1px solid var(--border);padding:var(--space-6);opacity:0;transform:translateY(12px);transition:opacity .4s ease,transform .4s ease}.posts-list .post-preview.revealed{opacity:1;transform:translateY(0)}.post-preview-bg{position:absolute;inset:-25px 0;background-size:cover;background-position:center;background-repeat:no-repeat;opacity:0;transition:opacity .4s ease;pointer-events:none;will-change:transform}.post-preview[data-project=portfolio] .post-preview-bg{filter:saturate(1.6)}.post-preview.revealed .post-preview-bg{opacity:.35}.post-preview:hover .post-preview-bg{opacity:.55}.post-preview-content{position:relative;z-index:1}.post-preview h2{font-size:var(--fs-h3);font-weight:700;margin:0 0 var(--space-2);line-height:1.25;letter-spacing:-.02em}.post-preview h2 a{color:var(--text);text-decoration:none;transition:color .2s ease}.post-preview h2 a:hover{color:var(--accent)}.post-preview .subtitle{color:var(--muted);margin:0 0 var(--space-4);font-size:clamp(.95rem,.9rem + .3vw,1.05rem);line-height:1.5}.post-preview .post-meta{display:flex;align-items:center;gap:var(--space-4);flex-wrap:wrap}.post-preview .post-meta time{color:var(--muted);font-size:.875rem;font-weight:500;flex-shrink:0}.post-preview .tags{margin:0}.project-badge{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:2px 8px;border-radius:4px;background:hsl(var(--accent-h) var(--accent-s) var(--accent-l) / .12);color:var(--accent)}.project-badge[data-project=vault]{background:#f49d2533;color:#f6b355}.project-badge[data-project=project_void]{background:#4c36634d;color:#e6c699}.post-preview[data-project=vault] .post-preview-content,.post-preview[data-project=project_void] .post-preview-content{text-shadow:0 1px 4px hsl(0 0% 0% / .6),0 0 12px hsl(0 0% 0% / .3)}.post-preview[data-project=vault] .tag,.post-preview[data-project=project_void] .tag,.post-preview[data-project=vault] .project-badge,.post-preview[data-project=project_void] .project-badge{text-shadow:none}.post-preview[data-project=project_void]{background-color:#1c1917;border-color:#53432d66}.post-preview[data-project=project_void].revealed .post-preview-bg{opacity:.6}.post-preview[data-project=project_void]:hover .post-preview-bg{opacity:.8}.post-preview[data-project=project_void] h2 a{color:#e4dbcd}.post-preview[data-project=project_void] h2 a:hover{color:#dbaf70}.post-preview[data-project=project_void] .subtitle{color:#b3a898}.post-preview[data-project=project_void] .post-meta time{color:#a89c8a}.post-preview[data-project=project_void] .tag{background:#322c29;border-color:#5c4f3d;color:#9d8f7b}.post-preview[data-project=vault]{background-color:#2b241d;border-color:#e7e1da1f}.post-preview[data-project=vault].revealed .post-preview-bg{opacity:.55}.post-preview[data-project=vault]:hover .post-preview-bg{opacity:.75}.post-preview[data-project=vault] h2 a{color:#efebe7}.post-preview[data-project=vault] h2 a:hover{color:#f6b355}.post-preview[data-project=vault] .subtitle{color:#beb4a7}.post-preview[data-project=vault] .post-meta time{color:#988e81}.post-preview[data-project=vault] .tag{background:#38342e99;border-color:#e7e1da1a;color:#a39b8f}.post-preview[data-project=vault] .project-badge{background:#f49d2533;color:#f6b355}[data-theme=dark] .post-preview[data-project=portfolio].revealed .post-preview-bg{opacity:.25}[data-theme=dark] .post-preview[data-project=portfolio]:hover .post-preview-bg{opacity:.4}[data-theme=dark] .project-badge[data-project=vault]{background:#f49d2526;color:#f6b355}@media(prefers-reduced-motion:reduce){.post-preview-bg{transition-duration:.01ms!important}}.blog-pagination{display:flex;align-items:center;justify-content:space-between;padding:var(--space-7) 0 var(--space-6);gap:var(--space-4)}.blog-pagination-info{color:var(--muted);font-size:.875rem;font-weight:500}.blog-pagination-controls{display:flex;gap:var(--space-3)}.blog-pagination-controls button{padding:var(--space-2) var(--space-4);border:1px solid var(--border);border-radius:var(--radius);background:transparent;color:var(--text);font-size:.875rem;font-weight:500;cursor:pointer;transition:border-color .2s ease,color .2s ease}.blog-pagination-controls button:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.blog-pagination-controls button:disabled{opacity:.35;cursor:not-allowed}.blog-pagination-pages{display:flex;gap:var(--space-2);align-items:center}.blog-pagination-pages button{padding:var(--space-2) var(--space-3);border:1px solid transparent;border-radius:var(--radius);background:transparent;color:var(--muted);font-size:.875rem;font-weight:500;cursor:pointer;transition:border-color .2s ease,color .2s ease;min-width:2rem;text-align:center}.blog-pagination-pages button:hover{border-color:var(--accent);color:var(--accent)}.blog-pagination-pages button.active{border-color:var(--accent);color:var(--accent);font-weight:700}.blog-post .post-header{position:relative;overflow:hidden;border-radius:var(--radius);border:1px solid var(--border);padding:var(--space-6);margin-bottom:var(--space-7);animation:fadeIn .6s ease var(--animation-delay) forwards;opacity:0}.post-header-bg{position:absolute;inset:0;background-size:cover;background-position:center;background-repeat:no-repeat;pointer-events:none;opacity:.35}.blog-post[data-project=portfolio] .post-header-bg{filter:saturate(1.6)}.post-header-content{position:relative;z-index:1}.blog-post[data-project=project_void] .post-header{background-color:#1c1917;border-color:#53432d66}.blog-post[data-project=project_void] .post-header-bg{opacity:.6}.blog-post[data-project=project_void] .post-header-content{text-shadow:0 1px 4px hsl(0 0% 0% / .6),0 0 12px hsl(0 0% 0% / .3)}.blog-post[data-project=project_void] .post-header h1{color:#e4dbcd}.blog-post[data-project=project_void] .post-header .subtitle{color:#b3a898}.blog-post[data-project=project_void] .post-header .post-meta time{color:#a89c8a}.blog-post[data-project=project_void] .post-header .back-link{color:#9d8f7b}.blog-post[data-project=project_void] .post-header .tag{background:#322c29;border-color:#5c4f3d;color:#9d8f7b;text-shadow:none}.blog-post[data-project=vault] .post-header{background-color:#2b241d;border-color:#e7e1da1f}.blog-post[data-project=vault] .post-header-bg{opacity:.55}.blog-post[data-project=vault] .post-header-content{text-shadow:0 1px 4px hsl(0 0% 0% / .6),0 0 12px hsl(0 0% 0% / .3)}.blog-post[data-project=vault] .post-header h1{color:#efebe7}.blog-post[data-project=vault] .post-header .subtitle{color:#beb4a7}.blog-post[data-project=vault] .post-header .post-meta time{color:#988e81}.blog-post[data-project=vault] .post-header .back-link{color:#8c8273}.blog-post[data-project=vault] .post-header .tag{background:#38342e99;border-color:#e7e1da1a;color:#a39b8f;text-shadow:none}[data-theme=dark] .blog-post[data-project=portfolio] .post-header-bg{opacity:.2}.blog-post .post-header h1{font-size:clamp(2rem,1.2rem + 3.5vw,4rem);font-weight:900;line-height:1;letter-spacing:-.03em;margin:0 0 var(--space-4)}.blog-post .post-header .subtitle{font-size:clamp(1.05rem,1rem + .4vw,1.25rem);color:var(--muted);margin:0 0 var(--space-5);line-height:1.5;font-weight:400}.blog-post .post-header .post-meta{display:flex;align-items:center;gap:var(--space-4);flex-wrap:wrap}.blog-post .post-header .post-meta time{color:var(--muted);font-size:.875rem;font-weight:500}.post-content{max-width:680px;animation:fadeIn .6s ease calc(var(--animation-delay) * 2) forwards;opacity:0}.post-content p{line-height:1.8;margin:0 0 var(--space-5)}.post-content h2{font-size:var(--fs-h3);font-weight:700;letter-spacing:-.02em;margin:var(--space-8) 0 var(--space-4);padding-top:var(--space-6);border-top:1px solid var(--border)}.post-content h3{font-size:var(--fs-h4);font-weight:700;margin:var(--space-6) 0 var(--space-3)}.post-content h4{font-size:1.05rem;font-weight:700;margin:var(--space-5) 0 var(--space-2);color:var(--muted)}.post-content a{color:var(--text);text-decoration:none;border-bottom:1.5px solid var(--accent);padding-bottom:1px;font-weight:500;transition:color .2s ease,border-color .2s ease}.post-content a:hover{color:var(--accent)}.post-content ul,.post-content ol{padding-left:var(--space-5);margin:0 0 var(--space-5)}.post-content li{line-height:1.7;margin-bottom:var(--space-2)}.post-content pre{margin:var(--space-5) 0;border-radius:var(--radius);overflow-x:auto}.post-content code:not(pre code){font-family:SF Mono,Monaco,Cascadia Code,monospace;font-size:.875em;background:hsl(var(--accent-h) var(--accent-s) 93%);color:hsl(var(--accent-h) var(--accent-s) 35%);padding:2px 6px;border-radius:4px}[data-theme=dark] .post-content code:not(pre code){background:hsl(var(--accent-h) var(--accent-s) 16%);color:hsl(var(--accent-h) var(--accent-s) 72%)}.post-content hr{border:none;border-top:1px solid var(--border);margin:var(--space-7) 0}.post-content blockquote{border-left:3px solid var(--accent);margin:var(--space-5) 0;padding:var(--space-3) var(--space-5);color:var(--muted);font-style:italic}.post-content img{display:block;max-width:100%;height:auto;border-radius:var(--radius);margin:var(--space-6) 0}.contact-page{max-width:var(--max-width);margin:0 auto}.contact-page .page-header{padding:var(--space-8) 0 var(--space-6);border-bottom:1px solid var(--border);margin-bottom:var(--space-7);animation:fadeIn .6s ease var(--animation-delay) forwards;opacity:0;background:transparent;border-radius:0;border-left:none;border-right:none;border-top:none;text-align:left}.contact-page .page-header h1{font-size:clamp(2.5rem,1.5rem + 4vw,5rem);font-weight:900;line-height:.95;letter-spacing:-.03em;margin:0 0 var(--space-4)}.contact-page .page-header h1 em{font-style:normal;color:var(--accent)}.contact-page .contact-method{animation:fadeIn .6s ease both;opacity:0}.contact-page .contact-method:nth-child(1){animation-delay:calc(var(--animation-delay) + .3s)}.contact-page .contact-method:nth-child(2){animation-delay:calc(var(--animation-delay) + .6s)}.contact-page .contact-method:nth-child(3){animation-delay:calc(var(--animation-delay) + .9s)}.contact-page .contact-method:nth-child(4){animation-delay:calc(var(--animation-delay) + 1.2s)}.contact-page .contact-footer{animation:fadeIn .6s ease calc(var(--animation-delay) + 1.5s) forwards;opacity:0}.contact-sections{display:flex;flex-direction:column;gap:var(--space-6)}.contact-method{background:var(--surface);padding:var(--space-6);border-radius:var(--radius);border:1px solid var(--border)}.method-header{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4)}.method-icon{color:var(--accent);flex-shrink:0}.method-header h2{margin:0;font-size:var(--fs-h4)}.contact-method>p{color:var(--muted);margin-bottom:var(--space-4)}.contact-link,.contact-link:link,.contact-link:visited{display:inline-block;color:var(--accent)!important;text-decoration:none;font-weight:600;padding:var(--space-3) var(--space-4);background:var(--bg);border:1px solid var(--border);border-radius:calc(var(--radius) / 2);transition:all .2s ease;margin-bottom:var(--space-4)}.contact-link:hover,.contact-link:focus{border-color:var(--accent);background:var(--surface);color:var(--accent)!important}.contact-note{font-size:.9rem;color:var(--muted);font-style:italic;margin-bottom:0;line-height:1.5}.chat-topics{margin:var(--space-4) 0;padding-left:var(--space-5)}.chat-topics li{color:var(--text);margin-bottom:var(--space-2);line-height:1.5}.contact-footer{background:var(--surface);padding:var(--space-5);border-radius:var(--radius);border:1px solid var(--border);margin-top:var(--space-6);text-align:center}.contact-footer p{color:var(--muted);margin:0;font-size:.95rem;line-height:1.6}.drewbrew-page{max-width:var(--max-width);margin:0 auto}.drewbrew-page .page-header{padding:var(--space-8) var(--space-7) var(--space-6);border-bottom:1px solid var(--border);margin-bottom:var(--space-7);animation:fadeIn .6s ease var(--animation-delay) forwards;opacity:0;background-image:url(/images/bean-background.png);background-size:cover;background-position:center;background-repeat:no-repeat;border-radius:var(--radius);border:1px solid var(--border);text-align:left;margin-left:calc(var(--space-6) * -1);margin-right:calc(var(--space-6) * -1);padding-left:var(--space-7);padding-right:var(--space-7)}.drewbrew-page .page-header .back-link{display:inline-block;background:#fffc;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:var(--space-1) var(--space-3);border-radius:999px;margin-bottom:var(--space-4)}[data-theme=dark] .drewbrew-page .page-header .back-link{background:#1c1a17d9}.drewbrew-page .page-header h1{display:inline-block;background:#fffc;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:var(--space-2) var(--space-4);border-radius:var(--radius);margin-bottom:var(--space-5)}[data-theme=dark] .drewbrew-page .page-header h1{background:#1c1a17d9}.drewbrew-page .page-header h1 em{font-style:normal;color:var(--accent)}.drewbrew-page .page-header .project-note{background:#ffffffbf;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-left-color:var(--accent);max-width:640px}[data-theme=dark] .drewbrew-page .page-header .project-note{background:#1c1a17cc}.drewbrew-page .page-header h1{font-size:clamp(2rem,1.2rem + 3.5vw,4rem);font-weight:900;line-height:1;letter-spacing:-.03em}.drewbrew-section{background:transparent;border:none;border-radius:0;padding:var(--space-6) 0;border-top:1px solid var(--border);margin-bottom:0}.drewbrew-section:first-of-type{border-top:none}.drewbrew-section h2{font-size:var(--fs-h3);font-weight:700;letter-spacing:-.02em;margin:0 0 var(--space-5);display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.drewbrew-section h3{font-size:var(--fs-h4);font-weight:700;margin:var(--space-6) 0 var(--space-3)}.drewbrew-section h4{font-size:1rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:var(--space-4) 0 var(--space-2)}.drewbrew-section p{line-height:1.8;margin:0 0 var(--space-4);max-width:680px}.drewbrew-section ul{margin:var(--space-3) 0 var(--space-4);padding-left:var(--space-5);max-width:680px}.drewbrew-section ul li{margin:var(--space-2) 0;line-height:1.7}.drewbrew-section p code,.drewbrew-section li code{font-family:SF Mono,Monaco,Cascadia Code,monospace;font-size:.875em;background:hsl(var(--accent-h) var(--accent-s) 93%);color:hsl(var(--accent-h) var(--accent-s) 35%);padding:2px 6px;border-radius:4px}[data-theme=dark] .drewbrew-section p code,[data-theme=dark] .drewbrew-section li code{background:hsl(var(--accent-h) var(--accent-s) 16%);color:hsl(var(--accent-h) var(--accent-s) 72%)}.drewbrew-section pre{margin:var(--space-5) 0;border-radius:var(--radius);overflow-x:auto}.drewbrew-section pre code{color:var(--text);background:transparent;padding:0}.drewbrew-section .mermaid{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-5);margin:var(--space-5) 0;display:flex;justify-content:center;overflow-x:auto;max-width:680px}.implemented-badge,.designed-badge{display:inline-block;padding:var(--space-1) var(--space-3);border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;vertical-align:middle}.implemented-badge{background:hsl(var(--accent-h) var(--accent-s) 75% / .5);color:var(--accent);border:1px solid hsl(var(--accent-h) var(--accent-s) var(--accent-l) / .3)}.designed-badge{background:hsl(var(--accent-h) 17% 50% / .15);color:var(--muted);border:1px solid hsl(var(--accent-h) 17% 50% / .3)}.project-note{margin:var(--space-5) 0;padding:var(--space-4) var(--space-5);background:hsl(var(--accent-h) var(--accent-s) 90% / .08);border-left:3px solid var(--accent);border-radius:4px;font-size:.95rem;color:var(--muted);line-height:1.6;max-width:680px}.project-note strong{color:var(--text)}.login-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh}.login-title{margin-bottom:var(--space-4)}.login-form{display:flex;flex-direction:column;gap:var(--space-2);width:100%;max-width:400px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-6)}.login-form label{font-size:.875rem;font-weight:500;color:var(--muted)}.login-form input{padding:var(--space-2) var(--space-3);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-family:inherit;font-size:1rem;transition:border-color .2s ease}.login-form input:focus{outline:none;border-color:var(--accent)}.login-form .error{font-size:.875rem;color:red}.login-form button{margin-top:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--accent);color:#fff;border:none;border-radius:var(--radius);font-family:inherit;font-size:1rem;font-weight:600;cursor:pointer;transition:opacity .2s ease}.login-form button:hover{opacity:.85}.login-form button:disabled{opacity:.5;cursor:not-allowed}.admin-accordion{max-width:900px;margin:0 auto;padding:var(--space-6) 0}.admin-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-6);padding-bottom:var(--space-5);border-bottom:1px solid var(--border)}.admin-header h1{font-size:var(--fs-h3);font-weight:700;letter-spacing:-.02em}.admin-header-actions{display:flex;align-items:center;gap:var(--space-3)}.admin-logout,.admin-deploy{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;padding:var(--space-2) var(--space-4);border-radius:999px;border:1px solid var(--border);background:transparent;color:var(--muted);cursor:pointer;transition:border-color .2s,color .2s}.admin-logout:hover{border-color:var(--accent);color:var(--accent)}.admin-deploy:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.admin-deploy:disabled{opacity:.5;cursor:not-allowed}.accordion-item{border-top:1px solid var(--border)}.accordion-item:last-of-type{border-bottom:1px solid var(--border)}.accordion-item>button{width:100%;display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) 0;background:transparent;border:none;font-size:var(--fs-body);font-weight:600;color:var(--text);cursor:pointer;text-align:left;transition:color .2s}.accordion-item>button:hover{color:var(--accent)}.accordion-chevron{font-size:.7rem;color:var(--muted);transition:transform .3s ease;display:inline-block}.accordion-item.is-open .accordion-chevron{transform:rotate(180deg)}.accordion-panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s ease}.accordion-item.is-open .accordion-panel{grid-template-rows:1fr}.accordion-panel-inner{overflow:hidden;opacity:0;transform:translateY(-4px);transition:opacity .25s ease .05s,transform .25s ease .05s}.accordion-item.is-open .accordion-panel-inner{opacity:1;transform:translateY(0)}.affirmations-panel{padding:var(--space-4) 0 var(--space-5)}.affirmations-panel ul{list-style:none;padding:0;margin:0 0 var(--space-5);display:flex;flex-direction:column;gap:var(--space-3)}.affirmations-panel li{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.affirmations-panel li span{font-size:var(--fs-body);line-height:1.5;color:var(--text)}.affirmation-actions{display:flex;gap:var(--space-2);margin-top:var(--space-2)}.toggle-active{display:inline-block;padding:var(--space-1) var(--space-3);border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;cursor:pointer;background:hsl(var(--accent-h) var(--accent-s) 75% / .5);color:var(--accent);border:1px solid hsl(var(--accent-h) var(--accent-s) var(--accent-l) / .3);transition:opacity .2s}.toggle-active:hover{opacity:.75}.toggle-inactive{display:inline-block;padding:var(--space-1) var(--space-3);border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;cursor:pointer;background:hsl(var(--accent-h) 17% 50% / .15);color:var(--muted);border:1px solid hsl(var(--accent-h) 17% 50% / .3);transition:opacity .2s}.toggle-inactive:hover{opacity:.75}.toggle-queued{display:inline-block;padding:var(--space-1) var(--space-3);border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;cursor:pointer;background:#e89c3033;color:#cf8217;border:1px solid hsl(35 80% 55% / .3);transition:opacity .2s}.toggle-queued:hover{opacity:.75}.btn-queue{display:inline-block;padding:var(--space-1) var(--space-3);border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;cursor:pointer;background:#e89c3026;color:#b87414;border:1px solid hsl(35 80% 55% / .25);transition:opacity .2s}.btn-queue:hover{opacity:.75}.btn-delete{display:inline-block;padding:var(--space-1) var(--space-3);border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;cursor:pointer;background:#cc33331a;color:#b82e2e;border:1px solid hsl(0 60% 50% / .25);transition:opacity .2s}.btn-delete:hover{opacity:.75}.affirmations-panel form{display:flex;gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--border)}.affirmations-panel form input{flex:1;padding:var(--space-2) var(--space-4);border:1px solid var(--border);border-radius:999px;font-size:var(--fs-body);background:var(--surface);color:var(--text);outline:none;transition:border-color .2s}.affirmations-panel form input:focus{border-color:var(--accent)}.affirmations-panel form button{padding:var(--space-2) var(--space-5);border-radius:999px;border:1px solid hsl(var(--accent-h) var(--accent-s) var(--accent-l) / .3);background:hsl(var(--accent-h) var(--accent-s) 75% / .5);color:var(--accent);font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;cursor:pointer;transition:opacity .2s}.affirmations-panel form button:hover{opacity:.75}.blog-panel{padding:var(--space-4) 0 var(--space-5)}.blog-panel-header{display:flex;justify-content:flex-end;margin-bottom:var(--space-4)}.blog-panel-empty{color:var(--muted);font-size:var(--fs-body)}.blog-section{margin-bottom:var(--space-5)}.blog-section-heading{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--border)}.blog-post-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-3)}.blog-post-item{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.blog-post-item-meta{display:flex;flex-direction:column;gap:var(--space-1)}.blog-post-item-title{font-size:var(--fs-body);font-weight:600;color:var(--text);line-height:1.3}.blog-post-item-date{font-size:.8rem;color:var(--muted)}.blog-post-item-project{color:var(--muted);opacity:.7}.blog-post-item-actions{display:flex;gap:var(--space-2);flex-wrap:wrap;margin-top:var(--space-1)}.blog-queue-section{margin-bottom:var(--space-5);padding:var(--space-4);border:1px solid hsl(35 80% 55% / .3);border-radius:var(--radius);background:#e89c300d}.blog-queue-heading{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#cf8217;margin-bottom:var(--space-2)}.blog-queue-info{font-size:.8rem;color:var(--muted);margin-bottom:var(--space-4)}.blog-queue-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-2)}.blog-queue-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-3);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.blog-queue-position{display:flex;align-items:center;justify-content:center;width:1.8rem;height:1.8rem;border-radius:50%;background:#e89c3033;color:#b87414;font-size:.75rem;font-weight:700;flex-shrink:0}.blog-queue-item-meta{flex:1;min-width:0}.blog-queue-item-title{font-size:.85rem;font-weight:600;color:var(--text);line-height:1.3;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.blog-queue-item-date{font-size:.75rem;color:var(--muted);display:block;margin-top:2px}.blog-queue-item-actions{display:flex;gap:var(--space-2);align-items:center;flex-shrink:0}.btn-queue-move{display:flex;align-items:center;justify-content:center;width:1.6rem;height:1.6rem;border-radius:4px;border:1px solid var(--border);background:transparent;color:var(--muted);font-size:.65rem;cursor:pointer;transition:border-color .2s,color .2s}.btn-queue-move:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.btn-queue-move:disabled{opacity:.3;cursor:not-allowed}.btn-primary{display:inline-block;padding:var(--space-2) var(--space-5);border-radius:999px;border:1px solid hsl(var(--accent-h) var(--accent-s) var(--accent-l) / .4);background:hsl(var(--accent-h) var(--accent-s) 75% / .5);color:var(--accent);font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;cursor:pointer;transition:opacity .2s}.btn-primary:hover{opacity:.75}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{display:inline-block;padding:var(--space-1) var(--space-3);border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;cursor:pointer;background:transparent;color:var(--muted);border:1px solid var(--border);transition:border-color .2s,color .2s}.btn-secondary:hover{border-color:var(--accent);color:var(--accent)}.blog-editor{padding:var(--space-4) 0 var(--space-5)}.blog-editor-draft-banner{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-4);border-radius:var(--radius);background:hsl(var(--accent-h) var(--accent-s) 75% / .15);border:1px solid hsl(var(--accent-h) var(--accent-s) var(--accent-l) / .25);font-size:.85rem;color:var(--text)}.blog-editor-draft-banner span{flex:1}.blog-editor-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-5)}.blog-form{display:flex;flex-direction:column;gap:var(--space-4)}.blog-form-row{display:flex;flex-direction:column}.blog-form-row--half{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.blog-form-row label,.blog-form-row--half label{display:flex;flex-direction:column;gap:var(--space-2);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.blog-form-hint{font-size:.7rem;font-weight:400;text-transform:none;letter-spacing:0;color:var(--muted);opacity:.7}.blog-form input[type=text],.blog-form input[type=date]{padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius);font-size:var(--fs-body);background:var(--surface);color:var(--text);outline:none;transition:border-color .2s}.blog-form input:focus{border-color:var(--accent)}.blog-form select{padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius);font-size:var(--fs-body);background:var(--surface);color:var(--text);outline:none;transition:border-color .2s;cursor:pointer}.blog-form select:focus{border-color:var(--accent)}.blog-form textarea{padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius);font-size:.85rem;font-family:Courier New,monospace;line-height:1.6;background:var(--surface);color:var(--text);outline:none;resize:vertical;transition:border-color .2s}.blog-form textarea:focus{border-color:var(--accent)}.blog-form-footer{display:flex;align-items:center;justify-content:space-between;padding-top:var(--space-4);border-top:1px solid var(--border)}.blog-form-published{display:flex;flex-direction:row;align-items:center;gap:var(--space-2);font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.blog-form-published select{padding:var(--space-1) var(--space-3);border:1px solid var(--border);border-radius:4px;font-size:.8rem;background:var(--surface);color:var(--text);cursor:pointer}.blog-form-actions{display:flex;gap:var(--space-3);align-items:center}.blog-preview{padding:var(--space-5) 0;border-top:1px solid var(--border)}.blog-preview h1{font-size:var(--fs-h3);font-weight:700;letter-spacing:-.02em;margin-bottom:var(--space-2)}.blog-preview-subtitle{color:var(--muted);font-size:var(--fs-body);margin-bottom:var(--space-3)}.blog-preview-tags{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-5)}.blog-preview-tag{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:var(--space-1) var(--space-3);border-radius:999px;background:hsl(var(--accent-h) var(--accent-s) 75% / .2);color:var(--accent);border:1px solid hsl(var(--accent-h) var(--accent-s) var(--accent-l) / .2)}.blog-preview-body{font-size:var(--fs-body);line-height:1.75;color:var(--text)}.blog-preview-body h2,.blog-preview-body h3{font-weight:700;margin:var(--space-6) 0 var(--space-3);letter-spacing:-.01em}.blog-preview-body p{margin-bottom:var(--space-4)}.blog-preview-body code{font-family:Courier New,monospace;font-size:.85em;background:var(--surface);padding:.15em .4em;border-radius:3px;border:1px solid var(--border)}.blog-preview-body pre{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-4);overflow-x:auto;margin-bottom:var(--space-4)}.blog-preview-body pre code{background:none;border:none;padding:0}.blog-preview-body hr{border:none;border-top:1px solid var(--border);margin:var(--space-6) 0}.not-found{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-5);padding:var(--space-8) var(--space-5)}.not-found-404{font-size:var(--fs-display);font-weight:800;color:var(--accent);line-height:1;letter-spacing:-.02em}.not-found-heading{font-size:var(--fs-hero);font-weight:700;color:var(--text);margin:0}.not-found-sub{color:var(--muted);font-size:var(--fs-body);max-width:480px;margin:0}.not-found-meeko{display:flex;flex-direction:column;align-items:center;gap:var(--space-4)}.not-found-meeko-img{width:clamp(140px,20vw,220px);height:auto}body[data-page=vault],body:has(.vault-scene){overflow:hidden}body[data-page=vault] main,body:has(.vault-scene) main{width:100%;max-width:100%;padding:0;margin:0;height:0}body[data-page=vault] #app,body:has(.vault-scene) #app{width:100%;max-width:100%}body[data-page=vault] .site-header,body:has(.vault-scene) .site-header{position:fixed;top:0;left:0;right:0;background:#05050573;backdrop-filter:blur(12px) saturate(.8);-webkit-backdrop-filter:blur(12px) saturate(.8);border-bottom:1px solid hsl(35 20% 88% / .06);z-index:200}body[data-page=vault] .header-inner,body:has(.vault-scene) .header-inner{justify-content:flex-end}body[data-page=vault] .site-nav a,body[data-page=vault] .site-nav a:visited,body:has(.vault-scene) .site-nav a,body:has(.vault-scene) .site-nav a:visited{color:#c6baa9}body[data-page=vault] .site-nav a:hover,body[data-page=vault] .site-nav a.active,body:has(.vault-scene) .site-nav a:hover,body:has(.vault-scene) .site-nav a.active{color:#f6b355}body[data-page=vault] .site-nav a:after,body:has(.vault-scene) .site-nav a:after{background:#f6b355}body[data-page=vault] .nav-divider,body:has(.vault-scene) .nav-divider{color:#6b5c47}body[data-page=vault] .commit-banner,body:has(.vault-scene) .commit-banner{color:#7e7567}body[data-page=vault] .commit-hash,body:has(.vault-scene) .commit-hash{color:#d98e26}body[data-page=vault] footer,body:has(.vault-scene) footer{position:fixed;bottom:0;left:0;right:0;background:transparent;border-top:none;z-index:1;padding:var(--space-3) var(--space-4)}body[data-page=vault] footer:before,body:has(.vault-scene) footer:before{content:"";position:absolute;inset:0;background:linear-gradient(to top,hsl(30 8% 4% / .55) 0%,transparent 100%);pointer-events:none;z-index:-1}body[data-page=vault] .footer-links a,body[data-page=vault] footer p,body:has(.vault-scene) .footer-links a,body:has(.vault-scene) footer p{color:#70685c}body[data-page=vault] .footer-links a:hover,body:has(.vault-scene) .footer-links a:hover{color:#f6b355}body[data-page=vault] .footer-copyright,body:has(.vault-scene) .footer-copyright{display:none}.vault-scene{position:fixed;inset:0;overflow:hidden;background-color:#050505;z-index:0}.vault-canvas{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);aspect-ratio:3 / 2;width:100%;height:auto;min-height:100%;min-width:150vh}.vault-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;z-index:0}.vault-scene__inner{position:absolute;inset:0}.vault-scene__inner:before,.vault-scene__inner:after{content:"";position:absolute;inset:-120px;pointer-events:none;z-index:1}.vault-scene__inner:before{background:linear-gradient(to right,hsl(30 5% 2%) 0%,hsl(30 5% 2% / .85) 25%,hsl(30 5% 2% / .3) 60%,transparent 100%) left / 22% 100% no-repeat,linear-gradient(to bottom,hsl(30 5% 2%) 0%,hsl(30 5% 2% / .85) 25%,hsl(30 5% 2% / .3) 60%,transparent 100%) top / 100% 22% no-repeat}.vault-scene__inner:after{background:linear-gradient(to left,hsl(30 5% 2%) 0%,hsl(30 5% 2% / .85) 25%,hsl(30 5% 2% / .3) 60%,transparent 100%) right / 22% 100% no-repeat,linear-gradient(to top,hsl(30 5% 2%) 0%,hsl(30 5% 2% / .85) 25%,hsl(30 5% 2% / .3) 60%,transparent 100%) bottom / 100% 22% no-repeat}.vault-scene:before,.vault-scene:after{content:none}.vault-svg{position:absolute;inset:0;width:100%;height:100%;z-index:2}@keyframes shelfPulse{0%,to{fill-opacity:.1}50%{fill-opacity:.32}}@keyframes catPulse{0%,to{fill-opacity:.06}50%{fill-opacity:.2}}.vault-hotspot-poly--shelf{fill-opacity:.12;animation:shelfPulse 3s ease-in-out infinite;transition:fill-opacity .4s ease}.vault-hotspot-poly--cat{fill-opacity:.1;animation:catPulse 4s ease-in-out infinite}.vault-project-hotspot:nth-of-type(1) .vault-hotspot-poly--shelf{animation-delay:0s}.vault-project-hotspot:nth-of-type(2) .vault-hotspot-poly--shelf{animation-delay:.55s}.vault-project-hotspot:nth-of-type(3) .vault-hotspot-poly--shelf{animation-delay:1.1s}.vault-project-hotspot:nth-of-type(4) .vault-hotspot-poly--shelf{animation-delay:1.65s}.vault-project-hotspot:nth-of-type(5) .vault-hotspot-poly--shelf{animation-delay:2.2s}.vault-cat-hotspot:nth-of-type(1) .vault-hotspot-poly--cat{animation-delay:.8s}.vault-cat-hotspot:nth-of-type(2) .vault-hotspot-poly--cat{animation-delay:2.4s}.vault-hotspot-poly--shelf.is-hovered{animation:shelfPulse 1.2s ease-in-out infinite;fill-opacity:.35;transition:fill-opacity .4s ease}.vault-hotspot-poly--cat.is-hovered{animation:catPulse 1.5s ease-in-out infinite;fill-opacity:.22;transition:fill-opacity .4s ease}.vault-dim{position:absolute;inset:0;z-index:2;background:#0b0a0980;opacity:0;pointer-events:none;transition:opacity .4s ease}.vault-dim.vault-dim--active{opacity:1;pointer-events:all;cursor:pointer}.vault-cat-bubble{position:absolute;z-index:3;width:clamp(200px,22vw,280px);background:#141018e0;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid hsl(270 40% 65% / .2);border-radius:var(--radius);padding:var(--space-3) var(--space-4);animation:cardEnter .3s cubic-bezier(.34,1.56,.64,1) forwards;pointer-events:none}.vault-cat-bubble p{margin:0 0 var(--space-1);font-size:.82rem;font-style:italic;color:#d1c3df;line-height:1.55}.vault-cat-bubble__dots{margin:0 0 var(--space-1);font-size:.82rem;font-style:italic;color:#9e81bb;letter-spacing:.2em;line-height:1.55}.vault-cat-bubble__name{font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#9970c2}.vault-card{position:absolute;z-index:3;width:clamp(260px,30vw,340px);background:#161413d1;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid hsl(35 20% 88% / .12);border-radius:var(--radius);padding:var(--space-5) var(--space-6);animation:cardEnter .3s cubic-bezier(.34,1.56,.64,1) forwards;transform-origin:top left}@keyframes cardEnter{0%{opacity:0;transform:scale(.88) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.vault-card--right-anchored{transform-origin:top right}.vault-card__eyebrow{font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#f49d25;margin:0 0 var(--space-2)}.vault-card__title{font-size:var(--fs-h3);font-weight:700;color:#efebe7;margin:0 0 var(--space-3);line-height:1.2}.vault-card__subtitle{font-size:.9rem;color:#a39b8f;margin:0 0 var(--space-5);line-height:1.5}.vault-card__cta{display:inline-flex;align-items:center;gap:var(--space-2);background:#f49d2526;border:1px solid hsl(35 90% 55% / .35);border-radius:calc(var(--radius) - 2px);color:#f6b355;font-size:.875rem;font-weight:600;padding:var(--space-2) var(--space-4);cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease}.vault-card__cta:hover{background:#f49d2540;border-color:#f49d258c;color:#fbc374}.vault-card__cta-arrow{transition:transform .2s ease;display:inline-block}.vault-card__cta:hover .vault-card__cta-arrow{transform:translate(3px)}.vault-card__dismiss{position:absolute;top:var(--space-3);right:var(--space-3);background:none;border:none;cursor:pointer;color:#8c8273;font-size:1.1rem;line-height:1;padding:var(--space-1);transition:color .2s ease}.vault-card__dismiss:hover{color:#ccc1b3}.vault-panel{position:absolute;z-index:4;inset:5% 8%;background:#131210e0;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid hsl(35 20% 88% / .1);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;animation:panelExpand .4s cubic-bezier(.34,1.2,.64,1) forwards}@keyframes panelExpand{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}.vault-panel__header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-5) var(--space-6);border-bottom:1px solid hsl(35 20% 88% / .08);flex-shrink:0}.vault-panel__header-left{display:flex;flex-direction:column;gap:var(--space-1)}.vault-panel__eyebrow{font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#f49d25;margin:0}.vault-panel__title{font-size:var(--fs-h3);font-weight:700;color:#efebe7;margin:0;line-height:1.2}.vault-panel__close{background:#38342e99;border:1px solid hsl(35 20% 88% / .1);border-radius:calc(var(--radius) - 4px);color:#a39b8f;cursor:pointer;font-size:.875rem;padding:var(--space-2) var(--space-3);transition:background .2s ease,color .2s ease;white-space:nowrap}.vault-panel__close:hover{background:#464139cc;color:#d6cec2}.vault-panel__body{flex:1;overflow-y:auto;padding:var(--space-6);scrollbar-width:thin;scrollbar-color:hsl(35 20% 30%) transparent}.vault-panel__body::-webkit-scrollbar{width:4px}.vault-panel__body::-webkit-scrollbar-track{background:transparent}.vault-panel__body::-webkit-scrollbar-thumb{background:#5c4f3d;border-radius:2px}.vault-panel__placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:var(--space-4);color:#70685c;text-align:center}.vault-panel__placeholder-icon{font-size:3rem;opacity:.4}.vault-panel__placeholder-text{font-size:.9rem;font-style:italic}.vault-panel__back{background:none;border:none;color:#988e81;font-family:inherit;font-size:.85rem;font-weight:500;cursor:pointer;padding:0;margin-bottom:var(--space-5);transition:color .2s ease}.vault-panel__back:hover{color:#d6cec2}.vault-panel__loading{color:#8c8273;font-style:italic;font-size:.9rem}.vault-content h1,.vault-content h2,.vault-content h3,.vault-content h4,.vault-content h5,.vault-content h6{color:#efebe7;border-top-color:#e7e1da14}.vault-content p,.vault-content li,.vault-content td,.vault-content th,.vault-content dd,.vault-content dt{color:#c6baa9}.vault-content strong,.vault-content b{color:#e7e1da}.vault-content a{color:#f6b355;border-bottom-color:#f6b3554d}.vault-content a:hover{color:#fbc374}.vault-content blockquote{border-left-color:#f49d25;color:#a39b8f}.vault-content hr{border-top-color:#e7e1da14}.vault-content table,.vault-content th,.vault-content td{border-color:#e7e1da1f}.vault-content thead th{background:#38342e66}.vault-content code:not(pre code){background:#322f29;color:#f6b355;border:1px solid hsl(35 20% 88% / .1);border-radius:4px;padding:.15em .4em}.vault-content pre{background:#211f1c;border:1px solid hsl(35 20% 88% / .08);border-radius:8px}.vault-content pre code{background:none;border:none;padding:0;color:#c9c1b6}.vault-content .hljs{background:#211f1c;color:#c9c1b6}.vault-content .hljs-keyword,.vault-content .hljs-selector-tag,.vault-content .hljs-operator{color:#f6b355}.vault-content .hljs-string,.vault-content .hljs-symbol,.vault-content .hljs-bullet,.vault-content .hljs-addition{color:#53c68c}.vault-content .hljs-comment,.vault-content .hljs-quote{color:#70685c}.vault-content .hljs-title,.vault-content .hljs-title.function_,.vault-content .hljs-title.class_,.vault-content .hljs-title.class_.inherited__{color:#70b8db}.vault-content .hljs-number,.vault-content .hljs-literal,.vault-content .hljs-type,.vault-content .hljs-link{color:#eb8b47}.vault-content .hljs-params{color:#beb4a7}.vault-content .hljs-variable,.vault-content .hljs-template-variable{color:#c1aa8b}.vault-content .hljs-attr,.vault-content .hljs-attribute{color:#dbaf70}.vault-content .hljs-built_in,.vault-content .hljs-selector-attr,.vault-content .hljs-selector-pseudo{color:#53c6bc}.vault-content .hljs-tag,.vault-content .hljs-name,.vault-content .hljs-selector-id,.vault-content .hljs-selector-class{color:#70b8db}.vault-content .hljs-meta,.vault-content .hljs-doctag{color:#7e7567}.vault-content .hljs-punctuation{color:#988e81}.vault-content .hljs-property,.vault-content .hljs-subst{color:#beb4a7}.vault-content .hljs-section{color:#f6b355;font-weight:700}.vault-content .hljs-deletion{color:#d77575;background:#401c1c}.vault-content .hljs-addition{color:#75bd75;background:#1f331f}.vault-intro{position:absolute;bottom:0;left:0;right:0;z-index:3;padding:var(--space-8) var(--space-6) calc(var(--space-6) + 48px);background:linear-gradient(to top,hsl(30 8% 6% / .85) 0%,hsl(30 8% 6% / .4) 60%,transparent 100%);transition:opacity .4s ease;pointer-events:none}.vault-intro.vault-intro--hidden{opacity:0}.vault-intro__title{font-size:var(--fs-hero);font-weight:700;color:#efebe7;margin:0 0 var(--space-2);line-height:1.15}.vault-intro__subtitle{font-size:var(--fs-body);color:#988e81;margin:0;max-width:480px}.vault-hint{position:absolute;bottom:calc(var(--space-6) + 44px);right:var(--space-6);z-index:2;font-size:.78rem;color:#7e7567;letter-spacing:.05em;opacity:0;animation:fadeIn .8s ease 1.8s forwards;pointer-events:none}.vault-tooltip{position:fixed;z-index:10;pointer-events:none;background:#161413e6;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid hsl(35 20% 88% / .14);border-radius:calc(var(--radius) - 2px);color:#e7e1da;font-size:.75rem;font-weight:600;letter-spacing:.04em;padding:4px 10px;white-space:nowrap;transform:translate(14px,-130%);opacity:0;transition:opacity .18s ease}.vault-tooltip--visible{opacity:1}.vault-mobile-list,.vault-mobile-footer{display:none}@media(min-width:769px)and (max-width:1535px){body[data-page=vault],body:has(.vault-scene){overflow:auto!important;width:1536px;min-height:max(1024px,100vh)}.vault-scene{position:absolute;inset:unset;width:1536px;height:max(1024px,100vh)}.vault-canvas{width:1536px!important;height:max(1024px,100vh)!important;min-width:unset!important;min-height:unset!important;aspect-ratio:unset!important;top:0!important;left:0!important;transform:none!important}.vault-bg{object-fit:cover;object-position:center top}.vault-intro{position:fixed;bottom:0;left:0;right:0}.vault-hint{position:fixed;bottom:calc(var(--space-6) + 44px);right:var(--space-6)}}@media(max-width:768px){.vault-hint,.vault-intro,.vault-tooltip,.vault-dim,.vault-svg,.vault-card,.vault-cat-bubble{display:none}.vault-scene{position:fixed!important;inset:0!important;width:100vw!important;height:100vh!important;overflow:hidden}.vault-canvas{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-width:unset!important;min-height:unset!important;aspect-ratio:unset!important;transform:none!important}.vault-bg{width:100%;height:100%;object-fit:cover;object-position:center}.vault-mobile-list{display:flex;flex-direction:column;gap:var(--space-3);position:fixed;top:var(--header-h, 98px);bottom:56px;left:0;right:0;overflow-y:auto;padding:var(--space-4) var(--space-4);scrollbar-width:none;z-index:300}.vault-mobile-list::-webkit-scrollbar{display:none}.vault-mobile-card{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-2);width:100%;background:#110f0e8c;backdrop-filter:blur(20px) saturate(.9);-webkit-backdrop-filter:blur(20px) saturate(.9);border:1px solid hsl(35 20% 88% / .1);border-radius:var(--radius);padding:var(--space-5) var(--space-5);text-align:left;cursor:pointer;transition:background .2s ease,border-color .2s ease;position:relative}.vault-mobile-card:active{background:#1c1a17d9;border-color:#e7e1da33}.vault-mobile-card__eyebrow{font-size:.65rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#f49d25;margin:0}.vault-mobile-card__title{font-size:var(--fs-h3);font-weight:700;color:#efebe7;margin:0;line-height:1.2}.vault-mobile-card__subtitle{font-size:.85rem;color:#9f9689;margin:0;line-height:1.5;padding-right:var(--space-7)}.vault-mobile-card__arrow{position:absolute;top:50%;right:var(--space-5);transform:translateY(-50%);font-size:1rem;color:#f49d25;transition:transform .2s ease}.vault-mobile-card:active .vault-mobile-card__arrow{transform:translateY(-50%) translate(3px)}.vault-mobile-footer{display:flex;align-items:center;justify-content:space-between;position:fixed;bottom:0;left:0;right:0;height:56px;padding:0 var(--space-4);background:#05050599;backdrop-filter:blur(12px) saturate(.8);-webkit-backdrop-filter:blur(12px) saturate(.8);border-top:1px solid hsl(35 20% 88% / .06);z-index:300}.vault-mobile-footer__title{font-size:.85rem;font-weight:700;color:#c6baa9;margin:0;padding:0;white-space:nowrap;line-height:1}.vault-mobile-footer__icons{display:flex;align-items:center;gap:var(--space-4)}.vault-mobile-footer__icons a{color:#8c8273;display:flex;align-items:center;transition:color .2s ease}.vault-mobile-footer__icons a:hover{color:#f6b355}body[data-page=vault] footer,body:has(.vault-scene) footer{display:none}.vault-panel{position:fixed;inset:var(--header-h, 98px) 0 56px 0;border-radius:0;z-index:350}}.vault-alpha-badge{display:inline-block;margin-left:.5em;font-size:.5em;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#f49d25;border:1px solid hsl(35 90% 55% / .45);border-radius:4px;padding:.15em .45em;vertical-align:middle;position:relative;top:-.15em;opacity:.8}.site-header{position:relative;overflow:hidden}.site-header:before{content:"";position:absolute;inset:0;background-image:url(/images/vault-background.png);background-size:cover;background-position:center 60%;opacity:0;transition:opacity .35s ease;z-index:0;pointer-events:none}.site-header:after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,#0b0a0940,#0b0a098c 55%,#0b0a09d1);opacity:0;transition:opacity .35s ease;z-index:0;pointer-events:none}.site-header--vault-preview:before,.site-header--vault-preview:after{opacity:1}.site-header .header-inner{position:relative;z-index:1}.site-header--vault-preview .site-nav a,.site-header--vault-preview .site-nav a:visited{color:#c9c1b6}.site-header--vault-preview .site-nav a:hover{color:#f6b355}.site-header--vault-preview .site-nav a:after{background:#f6b355}.site-header--vault-preview .nav-divider{color:#6b5c47}.site-header--vault-preview .commit-banner{color:#7e7567}.site-header--vault-preview .commit-hash{color:#d98e26}.site-header--vault-preview .portrait-wrapper{border-color:#99846659;background-color:#1c1a17}.site-header--vault-preview .portrait-label{color:#dd9a3c}.site-header--vault-preview .meeko-bubble-wrapper{--border: hsl(35 30% 40% / .4);--bg: hsl(30 8% 12%);--text: hsl(35 15% 70%);--muted: hsl(35 10% 50%)}.site-header--vault-preview .speech-bubble,.site-header--vault-preview .speech-bubble p{color:#beb4a7}.vault-transition-overlay{position:fixed;inset:0;z-index:1000;pointer-events:none;display:flex;align-items:center;justify-content:center}.vault-transition-bg{position:absolute;inset:0;background-image:url(/images/vault-background.png);background-size:cover;background-position:center center;z-index:0}.vault-transition-bg:after{content:"";position:absolute;inset:0;background:#0b0a09bf}.vault-transition-overlay--entering .vault-transition-bg{animation:vtBgFadeIn .7s ease forwards}@keyframes vtBgFadeIn{0%{opacity:0}to{opacity:1}}.vault-transition-overlay--revealing{animation:vtOverlayFadeOut .5s ease .05s forwards}@keyframes vtOverlayFadeOut{0%{opacity:1}to{opacity:0}}.vault-transition-overlay--exiting .vault-transition-bg{animation:vtBgFadeIn .6s ease forwards}.vault-transition-title{font-size:var(--fs-hero);font-weight:700;color:#efebe7;margin:0;line-height:1.15}.vault-transition-alpha{display:inline-block;margin-left:.5em;font-size:.5em;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#f49d25;border:1px solid hsl(35 90% 55% / .45);border-radius:4px;padding:.15em .45em;vertical-align:middle;position:relative;top:-.15em}.vault-transition-centre{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;text-align:center;opacity:0;animation:vtFadeIn .6s ease .35s forwards;transition:opacity .4s ease}.vault-transition-centre--out{opacity:0;animation:none}.vault-transition-bottomleft{position:absolute;z-index:2;bottom:0;left:0;right:0;padding:var(--space-8) var(--space-6) calc(var(--space-6) + 48px);background:linear-gradient(to top,hsl(30 8% 6% / .85) 0%,hsl(30 8% 6% / .4) 60%,transparent 100%);display:flex;flex-direction:column;align-items:flex-start;opacity:0;pointer-events:none;transition:opacity .5s ease}.vault-transition-bottomleft--in{opacity:1}.vault-transition-bottomleft .vault-transition-title{margin-bottom:var(--space-2)}.vault-transition-subtitle{font-size:var(--fs-body);color:#988e81;margin:0;max-width:480px;opacity:0;transform:translateY(6px);transition:opacity .45s ease .25s,transform .45s ease .25s}.vault-transition-bottomleft--in .vault-transition-subtitle{opacity:1;transform:translateY(0)}@keyframes vtFadeIn{0%{opacity:0}to{opacity:1}}.site-header--transitioning-enter .header-portrait-group{animation:vtPortraitFadeOut .4s ease .9s forwards}@keyframes vtPortraitFadeOut{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-20px)}}.site-header--transitioning-enter .site-nav{animation:vtNavSlideRight .45s cubic-bezier(.4,0,.2,1) 1s forwards}@keyframes vtNavSlideRight{0%{transform:translate(0)}to{transform:translate(8px);opacity:.7}}.vault-scene--exiting{pointer-events:none}@media(prefers-reduced-motion:reduce){.vault-hotspot-poly--shelf,.vault-hotspot-poly--cat{animation-duration:.01ms!important;stroke-opacity:.5}.vault-card,.vault-panel{animation-duration:.01ms!important}.vault-hint{animation-duration:.01ms!important;opacity:1}.vault-cat-bubble,.vault-transition-overlay{animation-duration:.01ms!important}.vault-transition-overlay--revealing{animation-duration:.01ms!important;opacity:0}.vault-transition-centre{animation-duration:.01ms!important;transition-duration:.01ms!important;opacity:1}.vault-transition-centre--out{opacity:0}.vault-transition-bottomleft{transition-duration:.01ms!important;opacity:0}.vault-transition-bottomleft--in{opacity:1}.vault-transition-subtitle{transition-duration:.01ms!important;opacity:1;transform:none}.vault-transition-bg{animation-duration:.01ms!important}}pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{background:#dcd8d1;color:#303036}.hljs-comment,.hljs-quote{color:#a07986;font-style:italic}.hljs-keyword,.hljs-selector-tag,.hljs-operator{color:#d4356a;font-weight:600}.hljs-string,.hljs-symbol,.hljs-bullet,.hljs-addition{color:#367d7d}.hljs-title,.hljs-title.function_,.hljs-title.class_,.hljs-title.class_.inherited__{color:#de4578}.hljs-number,.hljs-literal,.hljs-type,.hljs-params,.hljs-link{color:#c36522}.hljs-variable,.hljs-template-variable,.hljs-attr,.hljs-attribute{color:#a14563}.hljs-built_in,.hljs-selector-attr,.hljs-selector-pseudo{color:#307991}.hljs-tag,.hljs-name,.hljs-selector-id,.hljs-selector-class{color:#c85b7f}.hljs-meta,.hljs-doctag{color:#956a78}.hljs-deletion{color:#bd285a;background:#fbdfe8}.hljs-addition{color:#367d59;background:#e6f4ed}.hljs-punctuation{color:#60606c}.hljs-property,.hljs-subst{color:#3c3c44}.hljs-section{color:#d92662;font-weight:700}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}[data-theme=dark] .hljs{background:#221f1c;color:#d8d2ca}[data-theme=dark] .hljs-comment,[data-theme=dark] .hljs-quote{color:#7b8462;font-style:italic}[data-theme=dark] .hljs-keyword,[data-theme=dark] .hljs-selector-tag,[data-theme=dark] .hljs-operator{color:#adc270;font-weight:600}[data-theme=dark] .hljs-string,[data-theme=dark] .hljs-symbol,[data-theme=dark] .hljs-bullet,[data-theme=dark] .hljs-addition{color:#ddaf5f}[data-theme=dark] .hljs-title,[data-theme=dark] .hljs-title.function_,[data-theme=dark] .hljs-title.class_,[data-theme=dark] .hljs-title.class_.inherited__{color:#bace7e}[data-theme=dark] .hljs-number,[data-theme=dark] .hljs-literal,[data-theme=dark] .hljs-type,[data-theme=dark] .hljs-params,[data-theme=dark] .hljs-link{color:#d88b64}[data-theme=dark] .hljs-variable,[data-theme=dark] .hljs-template-variable,[data-theme=dark] .hljs-attr,[data-theme=dark] .hljs-attribute{color:#95b380}[data-theme=dark] .hljs-built_in,[data-theme=dark] .hljs-selector-attr,[data-theme=dark] .hljs-selector-pseudo{color:#64aeb4}[data-theme=dark] .hljs-tag,[data-theme=dark] .hljs-name,[data-theme=dark] .hljs-selector-id,[data-theme=dark] .hljs-selector-class{color:#a7b96e}[data-theme=dark] .hljs-meta,[data-theme=dark] .hljs-doctag{color:#848d68}[data-theme=dark] .hljs-deletion{color:#d77575;background:#401c1c}[data-theme=dark] .hljs-addition{color:#75bd75;background:#1f331f}[data-theme=dark] .hljs-punctuation{color:#988e81}[data-theme=dark] .hljs-property,[data-theme=dark] .hljs-subst{color:#beb4a7}[data-theme=dark] .hljs-section{color:#adc270;font-weight:700}@font-face{font-family:Jost Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/jost-cyrillic-wght-normal-CjwCQKo9.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Jost Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/jost-latin-ext-wght-normal-BDUtSsKd.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Jost Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/jost-latin-wght-normal-ObQm3Zd1.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
