html,body{height:100%;margin:0}.container{min-height:100%;display:flex;flex-direction:column}main{flex:1 0 auto}header{flex-shrink:0}nav{flex-shrink:0;white-space:nowrap}footer a{color:var(--text-muted);text-decoration:none}footer a:hover{color:var(--link)}.pdf-link{color:var(--text-muted);text-decoration:none;display:flex;align-items:center;justify-content:center;gap:.3rem;margin-top:.5rem}.pdf-link:hover{color:var(--link)}.pdf-link svg{vertical-align:middle}.copy-email{position:relative}.contact-links a{color:var(--text-muted);text-decoration:none}.contact-links a:hover{color:var(--link)}.copy-email.show-tooltip::after{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translateX(-50%);background:var(--text);color:var(--bg);padding:.25rem .5rem;border-radius:4px;font-size:.4rem;white-space:nowrap;margin-bottom:.25rem}.search-toggle{background:0 0;border:1px solid transparent;color:var(--text-muted);cursor:pointer;padding:0;font-family:var(--font-mono);font-size:.85rem;transition:color .2s ease}.search-toggle:hover{color:var(--text)}.search-modal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);z-index:1000;align-items:flex-start;justify-content:center;padding-top:15vh}.search-modal.active{display:flex}.search-container{background:var(--bg);border:1px solid var(--border);border-radius:8px;width:90%;max-width:500px;padding:1rem;box-shadow:0 4px 20px rgba(0,0,0,.3)}#search-input{width:100%;padding:.75rem;font-family:var(--font-mono);font-size:1rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:4px;color:var(--text);outline:none}#search-input:focus{border-color:var(--text-muted)}#search-input::placeholder{color:var(--text-muted)}#search-results{margin-top:.5rem;max-height:50vh;overflow-y:auto}.search-result{display:block;padding:.75rem;border-radius:4px;text-decoration:none;color:var(--text);transition:background .15s ease}.search-result:hover{background:var(--bg-secondary)}.search-result-title{display:block;font-weight:600}.search-result-date{font-family:var(--font-mono);font-size:.8rem;color:var(--text-muted)}.search-result-tags{margin-top:.25rem}.search-tag{font-family:var(--font-mono);font-size:.7rem;color:var(--text-muted);background:var(--bg-secondary);padding:.1rem .4rem;border-radius:3px;margin-right:.25rem}.search-no-results{padding:1rem;text-align:center;color:var(--text-muted)}.search-hint{margin-top:.5rem;font-family:var(--font-mono);font-size:.75rem;color:var(--text-muted);text-align:center}