:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font:16px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}body{margin:0}#root{box-sizing:border-box;flex-direction:column;width:100%;min-height:100svh;display:flex}p{margin:0}:root{--bg:#f7f5f1;--bg-card:#fff;--text:#1c1a17;--text-muted:#5b564e;--accent:#2b4c7e;--accent-soft:#e7edf6;--border:#e4e0d8;--shadow:0 1px 3px #1c1a170f, 0 8px 24px #1c1a170f}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#15140f;--bg-card:#1e1c17;--text:#f2efe9;--text-muted:#b3ab9c;--accent:#8fb0e0;--accent-soft:#26344a;--border:#302c24;--shadow:0 1px 3px #0000004d, 0 8px 24px #0000004d}}:root[data-theme=dark]{--bg:#15140f;--bg-card:#1e1c17;--text:#f2efe9;--text-muted:#b3ab9c;--accent:#8fb0e0;--accent-soft:#26344a;--border:#302c24;--shadow:0 1px 3px #0000004d, 0 8px 24px #0000004d}.theme-toggle{border:1px solid var(--border);background:var(--bg-card);color:var(--text-muted);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-size:13px;display:flex;position:absolute;top:24px;right:24px}.theme-toggle:hover{border-color:var(--accent);color:var(--text)}body{background:var(--bg);color:var(--text)}.wrap{text-align:left;max-width:880px;margin:0 auto;padding:64px 24px 96px;position:relative}header.hero{align-items:center;gap:32px;margin-bottom:56px;display:flex}.portrait{object-fit:cover;border:3px solid var(--bg-card);width:152px;height:152px;box-shadow:var(--shadow);border-radius:50%;flex-shrink:0}h1{letter-spacing:-.01em;margin:0 0 6px;font-size:28px}.tagline{color:var(--text-muted);margin:0 0 14px;font-size:16px}.links{flex-wrap:wrap;gap:14px;display:flex}.links a{color:var(--accent);border:1px solid var(--border);background:var(--bg-card);border-radius:999px;padding:6px 12px;font-size:14px;font-weight:600;text-decoration:none;transition:border-color .15s}.links a:hover{border-color:var(--accent)}section.about p{color:var(--text);max-width:640px;font-size:16px}h2.section-title{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin:56px 0 20px;font-size:13px}.projects{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;display:grid}.card{background:var(--bg-card);border:1px solid var(--border);box-shadow:var(--shadow);color:inherit;border-radius:12px;padding:20px;text-decoration:none;transition:border-color .15s;display:block}a.card:hover{border-color:var(--accent)}a.card h3{color:var(--accent)}.icon-tile{background:var(--accent-soft);width:48px;height:48px;color:var(--text);border-radius:12px;justify-content:center;align-items:center;margin-bottom:14px;display:flex}.card-logo{object-fit:contain;width:28px;height:28px}.card h3{margin:0 0 6px;font-size:16px}.card p{color:var(--text-muted);margin:0;font-size:14px}footer{border-top:1px solid var(--border);color:var(--text-muted);margin-top:72px;padding-top:24px;font-size:13px}@media (width<=520px){header.hero{text-align:left;flex-direction:column;align-items:flex-start}.portrait{width:112px;height:112px}}.section-title-row{justify-content:space-between;align-items:baseline;margin:56px 0 20px;display:flex}.section-title-row .section-title{margin:0}.see-all{color:var(--accent);font-size:13px;font-weight:600;text-decoration:none}.see-all:hover{text-decoration:underline}.post-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.post-list-item{color:var(--text);border-bottom:1px solid var(--border);flex-direction:column;gap:4px;padding:18px 4px;text-decoration:none;display:flex}.post-list-item:hover .post-list-title{color:var(--accent)}.post-list-date{color:var(--text-muted);font-size:13px}.post-list-title{font-size:16px;font-weight:600}.post-list-excerpt{color:var(--text-muted);margin-top:2px;font-size:13px;line-height:1.6}.back-link{color:var(--text-muted);margin-bottom:24px;font-size:13px;font-weight:600;text-decoration:none;display:inline-block}.back-link:hover{color:var(--accent)}.page-title{margin:0 0 24px;font-size:24px}.wrap-post{max-width:720px}.post-title{margin:0 0 8px;font-size:26px;line-height:1.25}.post-date{color:var(--text-muted);margin:0 0 20px;font-size:13px}.post-disclaimer{color:var(--text-muted);background:var(--accent-soft);border-left:3px solid var(--accent);border-radius:6px;margin:0 0 32px;padding:12px 16px;font-size:13px;line-height:1.6}.post-body{color:var(--text);font-size:16px;line-height:1.7}.post-body p{margin:0 0 20px}.post-body h1,.post-body h2,.post-body h3{margin:40px 0 16px;line-height:1.3}.post-body a{color:var(--accent)}.post-body img{border-radius:8px;max-width:100%;margin:24px 0;display:block}.post-body .image div{color:var(--text-muted);margin:-12px 0 24px;font-size:13px}.post-body pre{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;margin:0 0 20px;padding:16px;font-size:13px;overflow-x:auto}.post-body code{font-family:ui-monospace,Consolas,monospace;font-size:.9em}.post-body :not(pre)>code{background:var(--accent-soft);border-radius:4px;padding:2px 5px}.post-body table{border-collapse:collapse;width:100%;margin:0 0 24px;font-size:13px;display:block;overflow-x:auto}.post-body th,.post-body td{border:1px solid var(--border);text-align:left;padding:6px 10px}
