:root{--bg:#0b0d12;--bg-soft:#141822;--card:#161b26;--border:#232a39;--text:#e6e9ef;--text-soft:#9aa4b8;--accent:#7c5cff;--accent-soft:#9d86ff;--radius:14px}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Hiragino Sans,Noto Sans JP,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.7;-webkit-font-smoothing:antialiased}a{color:var(--accent-soft);text-decoration:none}a:hover{text-decoration:underline}.container{max-width:820px;margin:0 auto;padding:0 20px}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:10;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:rgba(11,13,18,.75);border-bottom:1px solid var(--border)}.site-header .inner{justify-content:space-between;height:60px}.nav,.site-header .inner{display:flex;align-items:center}.nav{gap:18px}.nav a{color:var(--text-soft);font-size:14px}.nav a:hover{color:var(--text);text-decoration:none}.lang-switch{display:flex;gap:6px;font-size:13px}.lang-switch a{padding:3px 8px;border-radius:8px;border:1px solid var(--border);color:var(--text-soft)}.lang-switch a.active{color:var(--text);border-color:var(--accent);background:rgba(124,92,255,.12)}.hero{display:flex;gap:22px;align-items:center;padding:56px 0 36px}.hero img.avatar{width:104px;height:104px;border-radius:50%;border:2px solid var(--border);object-fit:cover;background:var(--bg-soft)}.hero h1{margin:0 0 6px;font-size:30px;letter-spacing:-.5px}.hero .tagline{color:var(--accent-soft);font-size:15px;margin-bottom:10px}.hero .bio{color:var(--text-soft);font-size:15px}.hero .links{margin-top:12px;display:flex;gap:14px;flex-wrap:wrap}section.block{padding:28px 0;border-top:1px solid var(--border)}section.block h2{font-size:13px;text-transform:uppercase;letter-spacing:1.5px;color:var(--text-soft);margin:0 0 18px}.exp-item{display:grid;grid-template-columns:150px 1fr;grid-gap:16px;gap:16px;margin-bottom:22px}.exp-item .period{color:var(--text-soft);font-size:14px}.exp-item .title{font-weight:600}.exp-item .org{color:var(--accent-soft);font-size:14px}.exp-item .desc{color:var(--text-soft);font-size:14px;margin-top:4px}.project-category{margin-bottom:28px}.project-category .category-name{font-size:18px;margin:0 0 14px;padding-left:10px;border-left:3px solid var(--accent)}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));grid-gap:16px;gap:16px}.project-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:18px;display:flex;flex-direction:column;transition:border-color .15s ease,transform .15s ease}.project-card:hover{border-color:var(--accent);transform:translateY(-2px)}.project-card h3{margin:0 0 8px;font-size:17px}.project-card .desc{color:var(--text-soft);font-size:14px;flex:1 1}.project-card .tags{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0}.project-card .tag{font-size:11px;padding:2px 8px;border-radius:999px;background:rgba(124,92,255,.12);color:var(--accent-soft);border:1px solid var(--border)}.project-card .visit{font-size:14px;font-weight:600;margin-top:auto;padding-top:12px}.site-footer{padding:40px 0;color:var(--text-soft);font-size:13px;text-align:center;border-top:1px solid var(--border)}.btn{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border-radius:10px;border:1px solid var(--border);background:var(--bg-soft);color:var(--text);font-size:14px;cursor:pointer}.btn.primary,.btn:hover{border-color:var(--accent)}.btn.primary{background:var(--accent);color:#fff}.btn.danger{color:#ff8b8b}.admin-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:18px;margin-bottom:16px}.field{margin-bottom:12px}.field label{display:block;font-size:12px;color:var(--text-soft);margin-bottom:4px}.field input,.field textarea{width:100%;padding:9px 11px;border-radius:8px;border:1px solid var(--border);background:var(--bg);color:var(--text);font-size:14px;font-family:inherit}.field textarea{min-height:70px;resize:vertical}.field-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--accent);color:#fff;padding:10px 18px;border-radius:10px;font-size:14px}@media (max-width:600px){.hero{flex-direction:column;text-align:center;align-items:center}.hero .links{justify-content:center}.exp-item{gap:4px}.exp-item,.field-row{grid-template-columns:1fr}}