:root{--font-serif: "EB Garamond", "Noto Serif JP", serif;--font-mono: "Geist Mono", monospace;--color-bg: #fafaf8;--color-fg: #1a1a1a;--color-muted: #888;--color-border: #e0e0d8;--max-width: 900px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--color-bg);color:var(--color-fg);font-family:var(--font-serif);font-size:16px;line-height:1.8}html[lang=ja] [data-lang=en],html[lang=en] [data-lang=ja]{display:none}#app{max-width:var(--max-width);margin:0 auto;padding:0 2rem}nav{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 0;border-bottom:1px solid var(--color-border);font-family:var(--font-mono);font-size:.85rem;letter-spacing:.05em}.nav-name{font-weight:400}#lang-toggle{background:none;border:1px solid currentColor;color:inherit;font-family:var(--font-mono);font-size:.75rem;letter-spacing:.1em;padding:.25rem .6rem;cursor:pointer;transition:opacity .15s}#lang-toggle:hover{opacity:.6}header{padding:6rem 0 4rem}.hero-inner{max-width:700px}.hero-label{font-family:var(--font-mono);font-size:.8rem;letter-spacing:.1em;color:var(--color-muted);margin-bottom:1.5rem}h1{font-size:inherit;font-weight:400}h2{font-weight:400;line-height:1.05;margin-bottom:1.5rem}.hero-name-ja{display:block;font-size:2rem;letter-spacing:.2em;margin-bottom:.25rem}.hero-name-en{display:block;font-size:3.5rem;font-style:italic}.hero-sub{font-size:1rem;color:var(--color-muted);max-width:520px}section{display:grid;grid-template-columns:160px 1fr;gap:2rem;padding:3rem 0;border-top:1px solid var(--color-border)}.section-label{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.1em;color:var(--color-muted);padding-top:.3rem;text-transform:uppercase}.profile-text p{margin-bottom:1.4rem;font-size:.95rem}.profile-text p:last-child{margin-bottom:0}.profile-text a{color:inherit;text-decoration:underline;text-underline-offset:3px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.expertise-block h3{font-family:var(--font-mono);font-size:.72rem;font-weight:400;letter-spacing:.08em;color:var(--color-muted);margin-bottom:.75rem;text-transform:uppercase}.expertise-block ul{list-style:none;font-size:.9rem}.expertise-block li{padding:.35rem 0;border-bottom:1px solid var(--color-border)}.expertise-block li:first-child{border-top:1px solid var(--color-border)}.current-list{list-style:none;font-size:.95rem}.current-list li{padding:.75rem 0 .75rem 1.4em;border-bottom:1px solid var(--color-border);position:relative}.current-list li:first-child{border-top:1px solid var(--color-border)}.current-list li:before{content:"—";position:absolute;left:0;color:var(--color-muted)}.interests-row{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;font-size:.9rem}.philosophy-list{list-style:none;counter-reset:philosophy;font-size:.95rem}.philosophy-list li{counter-increment:philosophy;padding:.75rem 0 .75rem 2.8em;border-bottom:1px solid var(--color-border);position:relative}.philosophy-list li:first-child{border-top:1px solid var(--color-border)}.philosophy-list li:before{content:counter(philosophy,decimal-leading-zero);position:absolute;left:0;font-family:var(--font-mono);font-size:.72rem;color:var(--color-muted);top:.95rem}.media-list{display:flex;flex-direction:column}.media-item{display:flex;align-items:center;gap:1rem;padding:.75rem 0;border-bottom:1px solid var(--color-border);text-decoration:none;color:inherit;font-size:.9rem;transition:opacity .15s}.media-item:first-child{border-top:1px solid var(--color-border)}.media-item:hover{opacity:.6}.media-platform{font-family:var(--font-mono);font-size:.78rem;width:80px;flex-shrink:0}.media-arrow{color:var(--color-muted)}.media-url{color:var(--color-muted);font-size:.78rem}.contact-email{font-family:var(--font-mono);font-size:.9rem;color:inherit;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:.1em;transition:opacity .15s}.contact-email:hover{opacity:.6}footer{display:flex;justify-content:space-between;align-items:center;padding:2rem 0;border-top:1px solid var(--color-border);margin-top:1rem;font-family:var(--font-mono);font-size:.72rem;color:var(--color-muted);letter-spacing:.05em}footer a{color:inherit;text-decoration:none}footer a:hover{text-decoration:underline}@media(max-width:680px){section{grid-template-columns:1fr;gap:.75rem}.grid-3{grid-template-columns:1fr}.hero-name-ja{font-size:1.6rem}.hero-name-en{font-size:2.5rem}header{padding:3rem 0 2.5rem}}
