.hero[data-v-136ee2da]{position:relative;display:grid;grid-template-columns:minmax(280px,38%) 1fr;min-height:640px;border-bottom:1px solid #1f1f1f;background:#0d0d0d}.hero__portrait[data-v-136ee2da]{margin:0;background-size:cover;background-position:center;background-repeat:no-repeat;background-color:#141414}.hero__content[data-v-136ee2da]{padding:120px 64px 80px;text-align:left;align-self:center;max-width:720px}.hero__title[data-v-136ee2da]{font-family:var(--font-title);font-size:clamp(56px,8vw,120px);line-height:1;margin:0;color:#f5f5f5}.hero__skill[data-v-136ee2da]{font-family:var(--font-mono);font-size:clamp(32px,5vw,64px);color:var(--accent);margin:8px 0 32px;line-height:1}.hero__tagline[data-v-136ee2da]{font-family:var(--font-body);font-size:clamp(16px,1.8vw,28px);color:#ccc;line-height:1.4;margin:0 0 24px}.hero__tagline p[data-v-136ee2da]{margin:0}.hero__description[data-v-136ee2da]{color:#aaa;font-size:16px;margin:0 0 24px;max-width:540px}.hero__badges[data-v-136ee2da]{display:flex;gap:8px;flex-wrap:wrap}.badge[data-v-136ee2da]{border:1px solid var(--accent);border-radius:999px;padding:4px 14px;font-family:var(--font-mono);font-size:13px;color:var(--accent)}.hero__github[data-v-136ee2da]{position:absolute;right:24px;bottom:20px;display:inline-flex;align-items:center;gap:8px;padding:6px 4px;color:#cfcfcf;font-family:var(--font-mono);font-size:13px;text-decoration:none;transition:color .15s}.hero__github[data-v-136ee2da]:hover{color:var(--accent)}@media (max-width: 768px){.hero[data-v-136ee2da]{grid-template-columns:1fr;min-height:0}.hero__portrait[data-v-136ee2da]{height:56vh;min-height:320px;max-height:480px}.hero__content[data-v-136ee2da]{padding:48px 24px 64px;text-align:left}.hero__title[data-v-136ee2da]{font-size:clamp(44px,10vw,64px)}.hero__skill[data-v-136ee2da]{font-size:clamp(24px,7vw,36px);margin:6px 0 24px}.hero__tagline[data-v-136ee2da]{font-size:clamp(15px,3.5vw,20px)}.hero__description[data-v-136ee2da]{max-width:100%;font-size:15px}.hero__github[data-v-136ee2da]{right:14px;bottom:12px;padding:4px;font-size:12px}.hero__github svg[data-v-136ee2da]{width:16px;height:16px}}.readme[data-v-45ffb2b3]{padding:40px 24px 80px;max-width:860px;margin:0 auto}.readme__inner[data-v-45ffb2b3]{font-family:var(--font-body);color:#cfcfcf;font-size:16px;line-height:1.85}.readme__inner[data-v-45ffb2b3] h1,.readme__inner[data-v-45ffb2b3] h2,.readme__inner[data-v-45ffb2b3] h3{font-family:var(--font-title);color:#f5f5f5;margin:56px 0 20px;line-height:1.3}.readme__inner[data-v-45ffb2b3] h1{display:none}.readme__inner[data-v-45ffb2b3] h2{font-size:28px;padding-bottom:8px;border-bottom:1px solid #1f1f1f}.readme__inner[data-v-45ffb2b3] h3{font-size:20px;color:var(--accent)}.readme__inner[data-v-45ffb2b3] p{margin:16px 0}.readme__inner[data-v-45ffb2b3] a{color:var(--accent);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .15s}.readme__inner[data-v-45ffb2b3] a:hover{border-bottom-color:var(--accent)}.readme__inner[data-v-45ffb2b3] strong{color:#f5f5f5;font-weight:600}.readme__inner[data-v-45ffb2b3] em{color:#bbb}.readme__inner[data-v-45ffb2b3] blockquote{border-left:3px solid var(--accent);padding:4px 20px;margin:20px 0;color:#b8b8b8;background:#8b00000a;border-radius:0 4px 4px 0}.readme__inner[data-v-45ffb2b3] blockquote p{margin:8px 0}.readme__inner[data-v-45ffb2b3] code{font-family:var(--font-mono);font-size:.9em;background:#141414;padding:2px 6px;border-radius:3px;color:#e5a0a0}.readme__inner[data-v-45ffb2b3] pre{background:#0a0a0a;border:1px solid #1f1f1f;border-radius:8px;padding:16px 20px;overflow-x:auto;margin:20px 0}.readme__inner[data-v-45ffb2b3] pre code{background:transparent;padding:0;color:#e5e5e5;font-size:14px}.readme__inner[data-v-45ffb2b3] table{width:100%;border-collapse:collapse;margin:20px 0;font-size:15px}.readme__inner[data-v-45ffb2b3] th,.readme__inner[data-v-45ffb2b3] td{padding:10px 14px;border:1px solid #1f1f1f;text-align:left}.readme__inner[data-v-45ffb2b3] th{background:#141414;color:#f5f5f5;font-family:var(--font-title);font-weight:600}.readme__inner[data-v-45ffb2b3] td{background:#0f0f0f}.readme__inner[data-v-45ffb2b3] ul,.readme__inner[data-v-45ffb2b3] ol{padding-left:22px;margin:16px 0}.readme__inner[data-v-45ffb2b3] li{margin:6px 0}.readme__inner[data-v-45ffb2b3] hr{border:0;border-top:1px solid #1f1f1f;margin:48px 0}.readme__inner[data-v-45ffb2b3] img{max-width:100%;height:auto;border-radius:6px}.readme__inner[data-v-45ffb2b3] summary{cursor:pointer;font-family:var(--font-title);color:var(--accent);margin:16px 0 8px}.readme__inner[data-v-45ffb2b3] div[align=center]{text-align:center}@media (max-width: 768px){.readme[data-v-45ffb2b3]{padding:32px 18px 56px}.readme__inner[data-v-45ffb2b3]{font-size:15px;line-height:1.8}.readme__inner[data-v-45ffb2b3] h2{font-size:22px;margin:40px 0 16px}.readme__inner[data-v-45ffb2b3] h3{font-size:17px;margin-top:28px}.readme__inner[data-v-45ffb2b3] p{margin:14px 0}.readme__inner[data-v-45ffb2b3] blockquote{padding:4px 14px;margin:16px 0;font-size:14.5px}.readme__inner[data-v-45ffb2b3] table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;font-size:14px;white-space:nowrap}.readme__inner[data-v-45ffb2b3] th,.readme__inner[data-v-45ffb2b3] td{padding:8px 10px}.readme__inner[data-v-45ffb2b3] pre{padding:12px 14px;border-radius:6px;font-size:13px}.readme__inner[data-v-45ffb2b3] pre code{font-size:13px}.readme__inner[data-v-45ffb2b3] code{font-size:.88em}.readme__inner[data-v-45ffb2b3] hr{margin:36px 0}.readme__inner[data-v-45ffb2b3] ul,.readme__inner[data-v-45ffb2b3] ol{padding-left:18px}}@media (max-width: 420px){.readme[data-v-45ffb2b3]{padding:24px 14px 48px}.readme__inner[data-v-45ffb2b3] h2{font-size:20px}}.footer[data-v-d103f83b]{padding:60px 24px 80px;border-top:1px solid #1f1f1f;margin-top:40px}.footer__inner[data-v-d103f83b]{max-width:1100px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:24px}.footer__name[data-v-d103f83b]{font-family:var(--font-title);font-size:22px;margin:0}.footer__sub[data-v-d103f83b]{font-family:var(--font-mono);font-size:12px;color:#666;letter-spacing:.15em;margin:4px 0 0}.footer__links[data-v-d103f83b]{list-style:none;margin:0;padding:0;display:flex;gap:24px;font-family:var(--font-mono);font-size:14px;color:#888}.footer__links a[data-v-d103f83b]{color:var(--accent);text-decoration:none}.footer__links a[data-v-d103f83b]:hover{text-decoration:underline}@media (max-width: 768px){.footer[data-v-d103f83b]{padding:40px 20px 60px}.footer__inner[data-v-d103f83b]{flex-direction:column;align-items:flex-start;gap:16px}.footer__name[data-v-d103f83b]{font-size:20px}.footer__links[data-v-d103f83b]{gap:16px;font-size:13px}}@font-face{font-family:Zen Antique;src:url(../fonts/Zen_Antique/ZenAntique-Regular.ttf) format("truetype");font-display:swap}@font-face{font-family:Fira Code;src:url(../fonts/Fira_Code/static/FiraCode-Regular.ttf) format("truetype");font-weight:400;font-display:swap}@font-face{font-family:Fira Code;src:url(../fonts/Fira_Code/static/FiraCode-Bold.ttf) format("truetype");font-weight:700;font-display:swap}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--background, #0d0d0d);color:#e5e5e5;font-family:Zen Antique,Hiragino Mincho ProN,Yu Mincho,serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app,.app{min-height:100vh;background:var(--background, #0d0d0d)}a{color:inherit}::selection{background:var(--accent, #6B7280);color:#000}
