#app[data-v-295d60eb]{min-height:100vh;display:flex;flex-direction:column}main[data-v-295d60eb]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-start}.home[data-v-95203f94]{display:flex;flex-direction:column;align-items:center;padding:2rem 1rem;text-align:center}.bio-img[data-v-95203f94]{border-radius:50%;margin:1rem 0;width:120px;height:120px;object-fit:cover}.bio[data-v-95203f94]{max-width:400px;font-size:1.1rem;color:inherit}.cv-display[data-v-51803271]{margin-bottom:2rem;overflow-x:hidden}.cv-display.cv-bordered[data-v-51803271]{border:1px solid #bbb;border-radius:8px;margin:2rem auto;padding:2rem 2.5rem;max-width:700px;background:var(--cv-bg, #fff);text-align:left;box-sizing:border-box}@media (max-width: 768px){.cv-display.cv-bordered[data-v-51803271]{margin:1rem;padding:1.5rem 1rem;max-width:none}}.cv-title[data-v-51803271]{margin-top:0;margin-bottom:1.5rem;font-size:2rem;font-weight:600;color:var(--cv-title-color, #222)}@media (prefers-color-scheme: dark){.cv-display.cv-bordered[data-v-51803271]{border-color:#444;background:var(--cv-bg-dark, #181818)}.cv-title[data-v-51803271]{color:var(--cv-title-color-dark, #eee)}}.cv-display section[data-v-51803271]{margin-bottom:1.5rem}.cv-display ul[data-v-51803271]{list-style:none;padding:0}.cv-display li[data-v-51803271]{margin-bottom:.5rem}.cv-job-heading[data-v-51803271]{margin-bottom:.1em}.cv-job-location[data-v-51803271]{margin-top:0;margin-bottom:.3em;display:block}.cv-display .cv-job-highlights[data-v-51803271]{margin-top:.5rem;margin-bottom:.5rem;margin-left:1.5rem;list-style:disc;list-style-position:outside;padding-left:1.5rem;padding-right:1.5rem}.cv-display .cv-job-highlights li[data-v-51803271]{margin-bottom:.25rem;margin-left:0}.cv-skills-grid[data-v-51803271]{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1.5rem;margin-bottom:1rem;align-items:stretch}.cv-skill-item[data-v-51803271]{display:flex;flex-direction:column;gap:.5rem;height:100%}.cv-skill-name[data-v-51803271]{font-weight:600;font-size:.95rem;flex-shrink:0}.cv-skill-rating-text[data-v-51803271]{display:none;font-size:.85rem;font-weight:600;color:#666}@media (prefers-color-scheme: dark){.cv-skill-rating-text[data-v-51803271]{color:#aaa}}.cv-skill-rating-visual[data-v-51803271]{position:relative;height:28px;background:#f0f0f0;border-radius:4px;overflow:hidden;border:1px solid #ddd;margin-top:auto}@media (prefers-color-scheme: dark){.cv-skill-rating-visual[data-v-51803271]{background:#333;border-color:#555}}.cv-skill-bar[data-v-51803271]{height:100%;transition:width .3s ease;display:flex;align-items:center;justify-content:flex-end;padding-right:.5rem}.cv-skill-bar-text[data-v-51803271]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:.85rem;font-weight:600;color:#333;text-shadow:0 0 2px rgba(255,255,255,.8);pointer-events:none}@media (prefers-color-scheme: dark){.cv-skill-bar-text[data-v-51803271]{color:#eee;text-shadow:0 0 2px rgba(0,0,0,.8)}}.cv-skill-level[data-v-51803271]{font-size:.9rem;color:#666;font-style:italic}@media (prefers-color-scheme: dark){.cv-skill-level[data-v-51803271]{color:#aaa}}.print-url[data-v-51803271]{display:none}@media print{body[data-v-51803271] *{visibility:hidden!important;box-shadow:none!important;background:#fff!important}.cv-display.cv-bordered[data-v-51803271],.cv-display.cv-bordered[data-v-51803271] *{visibility:visible!important;color:#222!important;background:#fff!important;box-shadow:none!important}.cv-display.cv-bordered[data-v-51803271]{position:absolute!important;left:0;top:0;width:100vw!important;min-width:0!important;max-width:100vw!important;margin:0!important;padding:1.5rem 2rem!important;border:none!important;background:#fff!important;font-size:13px!important}.cv-title[data-v-51803271]{color:#222!important;font-size:1.5rem!important;font-weight:700!important;margin-top:0!important;margin-bottom:1rem!important}.cv-display section[data-v-51803271]{page-break-inside:avoid;margin-bottom:.8rem!important}.cv-display section h2[data-v-51803271]{font-size:1.1rem!important;margin-top:.8rem!important;margin-bottom:.5rem!important}.cv-list[data-v-51803271]{list-style-type:disc!important;margin-left:1.5em!important;margin-bottom:1.2em!important}.cv-display ul[data-v-51803271]{padding-left:0!important;margin:0!important}.cv-display li[data-v-51803271]{margin-bottom:.3em!important}.cv-display .cv-job-highlights[data-v-51803271]{list-style:disc!important;list-style-position:outside!important;padding-left:1.5rem!important;padding-right:1.5rem!important;margin-left:1.5rem!important}.cv-display .cv-job-highlights li[data-v-51803271]{margin-bottom:.2em!important}.cv-skills-grid[data-v-51803271]{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))!important;gap:.8rem!important}.cv-skill-item[data-v-51803271]{display:block!important}.cv-skill-name[data-v-51803271]{display:inline!important;font-size:.9rem!important}.cv-skill-rating-visual[data-v-51803271]{display:inline!important;visibility:visible!important;height:auto!important;width:auto!important;margin:0!important;padding:0!important;border:none!important;overflow:visible!important;background:none!important;position:relative!important}.cv-skill-bar[data-v-51803271]{display:none!important}.cv-skill-bar-text[data-v-51803271]{display:inline!important;visibility:visible!important;position:static!important;transform:none!important;top:auto!important;left:auto!important;color:#222!important;text-shadow:none!important;font-size:.85rem!important}.cv-skill-bar-text[data-v-51803271]:before{content:" ("}.cv-skill-bar-text[data-v-51803271]:after{content:")"}.print-url[data-v-51803271]{display:inline!important;font-size:.9rem!important;color:#222!important;text-decoration:none!important}}.cv-section[data-v-a2c6849f]{max-width:700px;margin:0 auto;padding:2rem 1rem}button[data-v-a2c6849f]{background:var(--cv-btn-bg, #0077cc);color:var(--cv-btn-color, #fff);border:none;border-radius:4px;padding:.5em 1.2em;font-size:1em;cursor:pointer;transition:background .2s}button[data-v-a2c6849f]:hover{background:var(--cv-btn-bg-hover, #005fa3)}.cv-decrypt[data-v-a2c6849f]{margin-top:2rem}.cv-error[data-v-a2c6849f]{color:red;margin-left:1rem}@media (prefers-color-scheme: dark){button[data-v-a2c6849f]{--cv-btn-bg: #222;--cv-btn-color: #fff;--cv-btn-bg-hover: #444}}.comic-series-dropdown[data-v-e1554468]{margin-bottom:1rem}label[data-v-e1554468]{margin-right:.5rem}select[data-v-e1554468]{min-width:160px}.comic-strip-viewer[data-v-74f231a6]{display:flex;justify-content:center;align-items:center;min-height:0;padding:.5rem 0}.comic-strip-image[data-v-74f231a6]{display:block;margin:.25em auto;max-width:100%;height:auto;box-shadow:0 2px 8px #00000014}.comic-strip-placeholder[data-v-74f231a6]{color:#888;font-size:1.2rem}.comic-navigation-controls[data-v-684f049c]{display:flex;justify-content:center;gap:.5rem;margin-top:.75rem}button[disabled][data-v-684f049c]{opacity:.5;cursor:not-allowed}.comic-navigation-controls button[data-v-684f049c]{background:#f5f5f5;color:#222;border:1px solid #bbb;border-radius:4px;padding:.5em 1.2em;margin:0 .25em;font-size:1rem;font-weight:500;box-shadow:0 1px 3px #00000014;transition:background .2s,color .2s,box-shadow .2s,border .2s;cursor:pointer}.comic-navigation-controls button[data-v-684f049c]:hover:not(:disabled),.comic-navigation-controls button[data-v-684f049c]:focus-visible:not(:disabled){background:#0078d4;color:#fff;outline:2px solid #0078d4;outline-offset:2px}.comic-navigation-controls button[data-v-684f049c]:disabled{background:#eee;color:#bbb;border:1px solid #ddd;cursor:not-allowed}@media (prefers-color-scheme: dark){.comic-navigation-controls button[data-v-684f049c]{background:#222;color:#fff;border:1px solid #444}.comic-navigation-controls button[data-v-684f049c]:disabled{background:#333;color:#666;border:1px solid #444}.comic-navigation-controls button[data-v-684f049c]:hover:not(:disabled),.comic-navigation-controls button[data-v-684f049c]:focus-visible:not(:disabled){background:#444;color:#fff;outline:2px solid #0078d4;outline-offset:2px}}.comics[data-v-37f4ebcd]{display:flex;flex-direction:column;align-items:center;padding:1.25rem .5rem;text-align:center}.comics-browser[data-v-37f4ebcd]{display:flex;flex-direction:column;align-items:center;width:100%;max-width:600px}.comics-controls[data-v-37f4ebcd]{align-self:stretch;margin-bottom:.5rem;display:flex;justify-content:center}.comics-viewer[data-v-37f4ebcd]{display:flex;flex-direction:column;align-items:center;width:100%}.comic-info[data-v-37f4ebcd]{text-align:left;align-self:flex-start;margin-top:.5rem;font-size:1rem;color:#444}[data-v-fd14aae7]:root{--contact-bg-light: #f8f9fa;--contact-bg-dark: #23272f;--contact-shadow-light: 0 1px 4px rgba(0,0,0,.04);--contact-shadow-dark: 0 1px 4px rgba(0,0,0,.32);--contact-shadow-hover-light: 0 4px 16px rgba(0,0,0,.1);--contact-shadow-hover-dark: 0 4px 16px rgba(0,0,0,.4);--contact-border-light: #e0e0e0;--contact-border-dark: #333a45;--contact-label-light: #222;--contact-label-dark: #f3f3f3}.contact[data-v-fd14aae7]{display:flex;flex-direction:column;align-items:center;padding:2rem 1rem;text-align:center}.contact-list[data-v-fd14aae7]{list-style:none;padding:0;margin:1.5rem auto 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;max-width:600px}.contact-list li[data-v-fd14aae7]{display:flex;align-items:center;background:var(--contact-bg-light);border-radius:8px;padding:1rem 1.2rem;box-shadow:var(--contact-shadow-light);border:1px solid var(--contact-border-light);transition:box-shadow .2s,background .2s,border .2s;justify-content:flex-start}.contact-list li[data-v-fd14aae7]:hover{box-shadow:var(--contact-shadow-hover-light)}.contact-list a[data-v-fd14aae7]{color:inherit;text-decoration:none;display:flex;align-items:center;gap:.7rem;font-size:1.1rem;width:100%}.contact-list a:hover .label[data-v-fd14aae7],.contact-list a:focus .label[data-v-fd14aae7]{text-decoration:underline}.icon[data-v-fd14aae7]{display:flex;align-items:center;justify-content:center;width:2.2rem;height:2.2rem;flex-shrink:0}.label[data-v-fd14aae7]{font-weight:500;font-size:1.08rem;word-break:break-all;color:var(--contact-label-light)}@media (max-width: 500px){.contact-list[data-v-fd14aae7]{grid-template-columns:1fr;gap:1rem}.contact-list li[data-v-fd14aae7]{padding:.8rem .7rem}}@media (prefers-color-scheme: dark){.contact-list li[data-v-fd14aae7]{background:var(--contact-bg-dark);box-shadow:var(--contact-shadow-dark);border:1px solid var(--contact-border-dark)}.contact-list li[data-v-fd14aae7]:hover{box-shadow:var(--contact-shadow-hover-dark)}.label[data-v-fd14aae7]{color:var(--contact-label-dark)}}.not-found[data-v-5404207b]{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;text-align:center;gap:2rem}.not-found h1[data-v-5404207b]{font-size:3rem;margin:0;color:#ef4444}.not-found p[data-v-5404207b]{font-size:1.2rem;color:#666;margin:0}@media (prefers-color-scheme: dark){.not-found h1[data-v-5404207b]{color:#ff6b6b}.not-found p[data-v-5404207b]{color:#aaa}}.back-link[data-v-5404207b]{display:inline-block;margin-top:1rem;padding:.75rem 1.5rem;background:#42b983;color:#fff;text-decoration:none;border-radius:4px;transition:background .2s;font-weight:500}.back-link[data-v-5404207b]:hover{background:#359970}:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;padding:0;box-sizing:border-box;overflow-x:hidden;background:#f8f9fa;color:#222}header{background:#222;color:#fff;padding:.5rem 0;width:100vw;box-sizing:border-box;position:relative;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}.card{padding:2em}#app{max-width:1280px;margin:0 auto;padding:2rem;text-align:center;min-height:100vh;display:flex;flex-direction:column}main{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-start}img{max-width:100%;height:auto;display:block}.main-nav{width:100%;box-sizing:border-box;display:flex;justify-content:center}.main-nav ul{display:flex;justify-content:center;gap:1.5rem;list-style:none;margin:0;padding:0 2rem;width:100%;box-sizing:border-box}.main-nav a{color:#fff;text-decoration:none;font-weight:500;font-size:1.1rem;padding:.5rem .75rem;border-radius:4px;transition:background .2s}.main-nav a.router-link-exact-active,.main-nav a:hover,.main-nav a:focus{background:#42b983;color:#fff}@media (max-width: 600px){.main-nav ul{flex-direction:column;gap:.5rem}}@media (prefers-color-scheme: dark){body{background:#181a1b;color:#e0e0e0}header{background:#23272a;color:#f8f9fa}.main-nav a{color:#f8f9fa}.main-nav a.router-link-exact-active,.main-nav a:hover,.main-nav a:focus{background:#42b983;color:#181a1b}}
