*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:Inter,Noto Sans JP,sans-serif;background-color:#0a1a0e;color:#d4e4d8;line-height:1.7;-webkit-font-smoothing:antialiased}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#0a1a0e}::-webkit-scrollbar-thumb{background:#22c55e33;border-radius:4px}.header[data-astro-cid-3ef6ksr2]{position:fixed;top:0;right:0;left:0;z-index:100;padding:1rem 2rem;display:flex;justify-content:flex-end;background:#0a190ccc;backdrop-filter:blur(10px);border-bottom:1px solid rgba(42,90,48,.3)}.nav[data-astro-cid-3ef6ksr2]{display:flex;gap:2rem}.nav[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]{color:#8ab896;text-decoration:none;font-size:.875rem;font-weight:500;transition:color .2s ease}.nav[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]:hover{color:#22c55e}.hero[data-astro-cid-bbe6dxrz]{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;position:relative}.hero[data-astro-cid-bbe6dxrz]:before{content:"";position:absolute;top:10%;left:50%;transform:translate(-50%);width:800px;height:800px;background:radial-gradient(circle,rgba(34,197,94,.15) 0%,rgba(34,197,94,.04) 40%,transparent 70%);pointer-events:none}.hero-content[data-astro-cid-bbe6dxrz]{max-width:720px;text-align:center}.profile-img[data-astro-cid-bbe6dxrz]{width:150px;height:150px;border-radius:50%;object-fit:cover;margin-bottom:1.5rem;border:3px solid #2a5a30}.greeting[data-astro-cid-bbe6dxrz]{font-size:1rem;color:#6366f1;font-weight:500;letter-spacing:.05em;margin-bottom:.5rem}.name[data-astro-cid-bbe6dxrz]{font-size:clamp(2.5rem,6vw,4rem);font-weight:700;color:#e0fae8;line-height:1.2;margin-bottom:.75rem}.role[data-astro-cid-bbe6dxrz]{font-size:1.25rem;color:#8ab896;font-weight:500;margin-bottom:1.5rem}.description[data-astro-cid-bbe6dxrz]{font-size:1rem;color:#8ab896;line-height:1.8;margin-bottom:2rem}.links[data-astro-cid-bbe6dxrz]{display:flex;gap:1rem;justify-content:center}.links[data-astro-cid-bbe6dxrz] a[data-astro-cid-bbe6dxrz]{display:inline-block;padding:.6rem 1.5rem;border:1px solid #2a5a30;border-radius:8px;color:#c4e0cc;text-decoration:none;font-size:.875rem;font-weight:500;transition:all .2s ease}.links[data-astro-cid-bbe6dxrz] a[data-astro-cid-bbe6dxrz]:hover{border-color:#22c55e;color:#22c55e;background:#22c55e1a;box-shadow:0 0 20px #22c55e1a}.tech-stack[data-astro-cid-lfow52u2]{padding:6rem 2rem}.container[data-astro-cid-lfow52u2]{max-width:800px;margin:0 auto}.section-title[data-astro-cid-lfow52u2]{font-size:1.75rem;font-weight:700;color:#fafafa;margin-bottom:3rem;text-align:center}.categories[data-astro-cid-lfow52u2]{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}.category[data-astro-cid-lfow52u2]{padding:1.5rem;border:1px solid #1e3b22;border-radius:12px;background:#0d1f10;transition:border-color .2s ease,box-shadow .2s ease}.category[data-astro-cid-lfow52u2]:hover{border-color:#22c55e44;box-shadow:0 0 24px #22c55e0f}.category-name[data-astro-cid-lfow52u2]{font-size:.8rem;font-weight:600;color:#22c55e;text-transform:uppercase;letter-spacing:.08em;margin-bottom:1rem}.items[data-astro-cid-lfow52u2]{display:flex;flex-wrap:wrap;gap:.5rem}.item[data-astro-cid-lfow52u2]{padding:.35rem .85rem;background:#132a16;border:1px solid #2a5a30;border-radius:6px;font-size:.85rem;color:#c4e0cc}.projects[data-astro-cid-amng4zvp]{padding:6rem 2rem}.container[data-astro-cid-amng4zvp]{max-width:800px;margin:0 auto}.section-title[data-astro-cid-amng4zvp]{font-size:1.75rem;font-weight:700;color:#fafafa;margin-bottom:3rem;text-align:center}.project-list[data-astro-cid-amng4zvp]{display:grid;gap:1.5rem}.project-card[data-astro-cid-amng4zvp]{padding:1.5rem;border:1px solid #1e3b22;border-radius:12px;background:#0d1f10;transition:border-color .2s ease,box-shadow .2s ease}.project-card[data-astro-cid-amng4zvp]:hover{border-color:#22c55e44;box-shadow:0 0 24px #22c55e0f}.project-title[data-astro-cid-amng4zvp]{font-size:1.1rem;font-weight:600;color:#e0fae8}.project-description[data-astro-cid-amng4zvp]{font-size:.875rem;color:#8ab896;margin-top:.5rem;line-height:1.7}.tech-tags[data-astro-cid-amng4zvp]{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.tech-tag[data-astro-cid-amng4zvp]{padding:.25rem .7rem;background:#132a16;border:1px solid #2a5a30;border-radius:6px;font-size:.8rem;color:#c4e0cc}.project-links[data-astro-cid-amng4zvp]{display:flex;gap:.75rem;margin-top:1rem}.project-links[data-astro-cid-amng4zvp] a[data-astro-cid-amng4zvp]{display:inline-block;padding:.4rem 1rem;border:1px solid #2a5a30;border-radius:8px;color:#c4e0cc;text-decoration:none;font-size:.8rem;font-weight:500;transition:all .2s ease}.project-links[data-astro-cid-amng4zvp] a[data-astro-cid-amng4zvp]:hover{border-color:#22c55e;color:#22c55e;background:#22c55e1a;box-shadow:0 0 20px #22c55e1a}.background[data-astro-cid-y3soregm]{padding:6rem 2rem}.container[data-astro-cid-y3soregm]{max-width:720px;margin:0 auto}.section-title[data-astro-cid-y3soregm]{font-size:1.75rem;font-weight:700;color:#fafafa;margin-bottom:3rem;text-align:center}.timeline[data-astro-cid-y3soregm]{position:relative;padding-left:2rem}.timeline[data-astro-cid-y3soregm]:before{content:"";position:absolute;left:5px;top:8px;bottom:8px;width:1px;background:linear-gradient(to bottom,#22c55e44,#1e3b22,transparent)}.timeline-item[data-astro-cid-y3soregm]{position:relative;padding-bottom:2.5rem}.timeline-item[data-astro-cid-y3soregm]:last-child{padding-bottom:0}.timeline-marker[data-astro-cid-y3soregm]{position:absolute;left:-2rem;top:8px;width:11px;height:11px;border-radius:50%;background:#0a1a0e;border:2px solid #22c55e;box-shadow:0 0 8px #22c55e4d}.period[data-astro-cid-y3soregm]{font-size:.8rem;color:#6b9b78;font-weight:500;letter-spacing:.02em}.company[data-astro-cid-y3soregm]{font-size:1.1rem;font-weight:600;color:#e0fae8;margin-top:.25rem}.role[data-astro-cid-y3soregm]{font-size:.9rem;color:#22c55e;font-weight:500;margin-top:.15rem}.description[data-astro-cid-y3soregm]{font-size:.875rem;color:#8ab896;margin-top:.5rem;line-height:1.7}footer[data-astro-cid-j7pv25f6]{text-align:center;padding:3rem 2rem;border-top:1px solid #1e3b22;color:#6b9b78;font-size:.8rem}
