*,*::before,*::after{box-sizing:border-box}html,body{margin:0;padding:0}html,body{background-color:#000;color:#fff;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;font-size:16px;line-height:1.6}body{display:flex;flex-direction:column;min-height:100vh}a{color:#ccc;text-decoration:none}a:visited{color:#999}a:hover{color:#fff}h1,h2,h3,h4,h5,h6{color:#fff;line-height:1.3;margin-top:1.5rem;margin-bottom:0.5rem}p{margin:0 0 1rem}ul,ol{margin:0 0 1rem;padding-left:1.5rem}li{margin-bottom:0.25rem}blockquote{border-left:3px solid #444;color:#aaa;margin:1rem 0;padding:0.5rem 1rem}blockquote p{margin:0}hr{border:none;border-top:1px solid #333;margin:2rem 0}img{max-width:100%;height:auto}.wrapper{max-width:800px;margin:0 auto;padding:0 1.5rem}.top-nav{background-color:#111;border-bottom:1px solid #333;padding:0 1.5rem;display:flex;align-items:center;justify-content:space-between;height:48px}.top-nav .nav-brand{color:#aaa;font-size:0.95rem;letter-spacing:0.05em}.top-nav .nav-right{display:flex;align-items:center;gap:1.5rem}.top-nav .nav-links{display:flex;gap:1.5rem;list-style:none;margin:0;padding:0;align-items:center}.top-nav .nav-links a{color:#ccc;text-decoration:none;font-size:0.95rem;letter-spacing:0.03em}.top-nav .nav-links a:hover{color:#fff}.top-nav .nav-social{display:flex;align-items:center;gap:0.75rem}.top-nav .nav-mastodon svg{width:22px;height:22px;fill:#6364ff}.top-nav .nav-rss a{display:flex;align-items:center;text-decoration:none}.top-nav .nav-rss svg{width:22px;height:22px;fill:#f26522}.top-nav .nav-rss svg:hover{fill:#ff8c42}.page-content{background-color:#000;padding:2rem 0;flex:1}.post-header{margin-bottom:2rem}.post-title{font-size:1.8rem;margin-top:0}.post-meta{color:#aaa;font-size:0.9rem}.post-content h1,.post-content h2,.post-content h3,.post-content h4{color:#fff}.post-content blockquote{border-left:3px solid #444;color:#aaa}.search-wrap{margin:2rem 0 1rem}#search-input{width:100%;padding:0.5rem 0.75rem;background:#111;border:1px solid #444;color:#fff;font-size:1rem;border-radius:4px;box-sizing:border-box}#search-input::placeholder{color:#666}#search-input:focus{outline:none;border-color:#888}#no-results{color:#888;font-style:italic}.posts-heading{color:#aaa;font-size:1rem;letter-spacing:0.08em;text-transform:uppercase;margin:2rem 0 0.75rem}.post-list-clean{list-style:none;margin:0;padding:0}.post-list-item{display:flex;align-items:baseline;gap:1rem;padding:0.4rem 0}.post-date{font-size:1rem;font-weight:bold;color:#aaa;white-space:nowrap}.post-title-link{font-size:1rem;font-weight:normal;color:#fff;text-decoration:none}.post-list{list-style:none;margin:0;padding:0}.post-list li{padding:0.75rem 0;border-bottom:1px solid #222}.post-link{color:#fff}.post-link:hover{color:#ccc}.post-excerpt{color:#888;font-size:0.9rem;margin:0.25rem 0 0}.page-heading{color:#fff}.profile-section{text-align:center;padding:3rem 1rem 2rem;display:none}.profile-avatar{width:120px;height:120px;border-radius:50%;object-fit:cover;border:2px solid #333;margin-bottom:1rem}.profile-name{margin:0.5rem 0 0.25rem;font-size:1.6rem;color:#fff}.profile-bio{color:#ccc;max-width:500px;margin:0 auto 1rem;line-height:1.6}.profile-error{display:none;text-align:center;padding:2rem;color:#666}.site-footer{background-color:#000;border-top:1px solid #333;color:#888}.site-footer .wrapper{padding:0 1.5rem}.footer-inner{display:flex;align-items:center;justify-content:space-between;padding:1rem 0;width:100%}.footer-copyright{color:#888;font-size:0.9rem}.footer-resume{color:#888;text-decoration:none;font-size:0.9rem}table{width:100%;border-collapse:collapse;border:none;margin:1rem 0;font-size:0.9rem;color:#ccc}th{background-color:#1a1a1a;color:#fff;font-weight:600;text-align:left;padding:0.6rem 0.9rem;border:none;border-bottom:2px solid #333}td{padding:0.55rem 0.9rem;border:none;border-bottom:1px solid #222}tr:nth-child(even) td{background-color:#111}tr:hover td{background-color:#161616}code{background:#1a1a1a;color:#f8f8f2;padding:0.1em 0.4em;border-radius:3px;font-size:0.9em;font-family:"SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace}pre{background:#1a1a1a;border-radius:4px;margin:1rem 0;padding:1rem;overflow-x:auto}pre code{background:transparent;padding:0;font-size:0.9em;line-height:1.6}div.highlighter-rouge{background:#1a1a1a;border-radius:4px;margin:1rem 0}.highlighter-rouge .highlight{background:#1a1a1a;color:#f8f8f2;margin:0;padding:1rem;border-radius:4px;overflow-x:auto}.highlighter-rouge .highlight code{background:transparent;color:#f8f8f2;padding:0;font-size:0.9em;line-height:1.6}.highlight .nb{color:#8be9fd}.highlight .nt{color:#50fa7b}.highlight .o{color:#ff79c6}.highlight .s{color:#f1fa8c}.highlight .s2{color:#f1fa8c}.highlight .nv{color:#8be9fd}.highlight .c{color:#6272a4}.highlight .c1{color:#6272a4}
