@import url(https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap);@import url(https://fonts.googleapis.com/css2?family=Fira+Code:wght@300;400;500;600&display=swap);@import url(https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@300;400;500;700&family=Noto+Serif+JP:wght@500;600&display=swap);body{-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#0a0a0a,#1a1a2e 50%,#16213e);background-attachment:fixed;color:#fff;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}body:before{background:radial-gradient(circle at 20% 50%,#00d4ff1a 0,#0000 50%),radial-gradient(circle at 80% 80%,#9945ff1a 0,#0000 50%),radial-gradient(circle at 40% 20%,#ff006e1a 0,#0000 50%);height:100%;left:0;top:0;width:100%}code{font-family:Fira Code,Consolas,Monaco,source-code-pro,Courier New,monospace}#root{min-height:100vh}::-webkit-scrollbar-track{background:#1a1a1a}::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#00d4ff,#9945ff);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#9945ff,#00d4ff)}::selection{background:#00d4ff4d;color:#fff}::-moz-selection{background:#00d4ff4d;color:#fff}:root{--bg-main:#f8f4ed;--bg-panel:#fffffff0;--bg-subtle:#ffffffdb;--ink-primary:#3d332b;--ink-secondary:#6f6257;--ink-muted:#a1978b;--accent-sakura:#f2b5c4;--accent-ume:#c97795;--accent-sky:#9fb7dd;--accent-mint:#a9c9a4;--border-soft:#c6b7a799;--border-strong:#ad9b89d9;--shadow-soft:0 16px 32px #c2b09c40;--shadow-hover:0 24px 48px #c2b09c54;--radius-lg:26px;--radius-md:18px;--radius-sm:12px;--transition-snappy:all 0.35s ease}*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;background:#f8f4ed;background:var(--bg-main);background-image:radial-gradient(circle at 12% 18%,#f2b5c43d 0,#0000 55%),radial-gradient(circle at 82% 8%,#a9c9a42e 0,#0000 60%),linear-gradient(125deg,#ffffffa6,#f8f4ede6 55%,#f4eadce6);color:#3d332b;color:var(--ink-primary);font-family:Zen Maru Gothic,Noto Sans JP,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;letter-spacing:.02em;line-height:1.75;margin:0;overflow-x:hidden;position:relative}body:before{background-image:linear-gradient(120deg,#ffffff80,#ffffff1a 35%,#0000 70%),repeating-linear-gradient(135deg,#cdbca914,#cdbca914 1px,#0000 0,#0000 10px);inset:0}body:after,body:before{content:"";pointer-events:none;position:fixed;z-index:-1}body:after{background:radial-gradient(circle,#f2b5c447 0,#0000 70%);bottom:-120px;height:320px;right:-120px;width:320px}a{color:inherit}.App{display:flex;flex-direction:column;min-height:100vh}.App-header{display:flex;justify-content:center;padding:1rem 0;position:-webkit-sticky;position:sticky;top:1.5rem;z-index:100}nav{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffd1;border:1px solid #c6b7a799;border:1px solid var(--border-soft);border-radius:999px;box-shadow:0 12px 30px #c2b09c2e;padding:.4rem .6rem;transition:all .35s ease;transition:var(--transition-snappy)}nav:hover{box-shadow:0 16px 36px #c2b09c40}nav ul{align-items:center;display:flex;gap:1.5rem;list-style:none;margin:0;padding:0}nav button{background:#0000;border:none;border-radius:999px;color:#6f6257;color:var(--ink-secondary);cursor:pointer;font-size:.95rem;font-weight:500;letter-spacing:.05em;padding:.7rem 1.3rem;position:relative;transition:all .35s ease;transition:var(--transition-snappy)}nav button:after{background:linear-gradient(120deg,#f2b5c459,#9fb7dd59);border-radius:inherit;content:"";inset:0;opacity:0;position:absolute;transition:opacity .3s ease;z-index:-1}nav button:hover{color:#3d332b;color:var(--ink-primary)}nav button:hover:after{opacity:1}nav button.active{background:#fffffff2;box-shadow:0 12px 20px #c2b09c33;color:#3d332b;color:var(--ink-primary)}main{flex:1 1;margin:0 auto;max-width:1100px;padding:3rem 1.5rem 4rem;width:100%}.content{background:#fffffff0;background:var(--bg-panel);border:1px solid #c6b7a799;border:1px solid var(--border-soft);border-radius:26px;border-radius:var(--radius-lg);box-shadow:0 16px 32px #c2b09c40;box-shadow:var(--shadow-soft);overflow:hidden;padding:3rem;position:relative}.content:before{background:linear-gradient(90deg,#f2b5c4,#0000);background:linear-gradient(90deg,var(--accent-sakura),#0000);content:"";height:4px;left:2.5rem;position:absolute;top:0;width:88px}.hero{align-items:center;background:#ffffffdb;background:var(--bg-subtle);border:1px solid #fff9;border-radius:18px;border-radius:var(--radius-md);display:flex;gap:3rem;margin-bottom:3rem;padding:2rem;position:relative}.hero:after{background:radial-gradient(circle,#9fb7dd59 0,#0000 65%);border-radius:50%;content:"";height:58px;position:absolute;right:1.8rem;top:1.8rem;width:58px}.profile-image{background:#fff;border:3px solid #f2b5c4d9;border-radius:50%;box-shadow:0 18px 28px #d6bbb059;height:120px;object-fit:cover;padding:6px;transition:transform .4s ease;width:120px}.profile-image:hover{transform:translateY(-4px) scale(1.02)}.hero h2{font-family:"Noto Serif JP",serif;font-size:2.4rem;letter-spacing:.06em;margin:0 0 .6rem}.hero p{color:#6f6257;color:var(--ink-secondary);font-size:1.1rem;margin:0 0 1.5rem}.social-links{display:flex;gap:.9rem;margin-bottom:1rem}.social-links a{align-items:center;background:#ffffffd9;border:1px solid #c6b7a78c;border-radius:50%;color:#6f6257;color:var(--ink-secondary);display:flex;height:44px;justify-content:center;transition:all .35s ease;transition:var(--transition-snappy);width:44px}.social-links a:hover{border-color:#f2b5c4;border-color:var(--accent-sakura);box-shadow:0 12px 24px #f2b5c44d;color:#c97795;color:var(--accent-ume);transform:translateY(-3px)}.contact{color:#6f6257;color:var(--ink-secondary);display:flex;flex-wrap:wrap;font-size:.95rem;gap:1.5rem}.contact a{border-bottom:1px dashed #0000;color:#c97795;color:var(--accent-ume);text-decoration:none;transition:border-color .3s ease}.contact a:hover{border-color:#c97795;border-color:var(--accent-ume)}.options-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.card{background:#ffffffdb;background:var(--bg-subtle);border:1px solid #ffffffa6;border-radius:18px;border-radius:var(--radius-md);box-shadow:inset 0 0 0 1px #c6b7a72e;cursor:pointer;overflow:hidden;padding:2.4rem 2rem;position:relative;text-align:left;transition:all .35s ease;transition:var(--transition-snappy)}.card:before{background:linear-gradient(120deg,#f2b5c440,#9fb7dd2e);content:"";height:100%;left:0;opacity:0;position:absolute;top:0;transition:opacity .4s ease;width:100%;z-index:0}.card:hover{box-shadow:0 24px 48px #c2b09c54;box-shadow:var(--shadow-hover);transform:translateY(-6px)}.card:hover:before{opacity:1}.card h3{color:#3d332b;color:var(--ink-primary);font-size:1.4rem;font-weight:600;letter-spacing:.08em;margin:0 0 .9rem}.card h3,.card p{position:relative}.card p{color:#6f6257;color:var(--ink-secondary);line-height:1.7;margin:0}.section-title{color:#3d332b;color:var(--ink-primary);font-family:"Noto Serif JP",serif;font-size:2.2rem;letter-spacing:.12em;margin:0 0 2.4rem;position:relative;text-align:center}.section-title:after{background:linear-gradient(90deg,#f2b5c4,#0000);background:linear-gradient(90deg,var(--accent-sakura),#0000);bottom:-.8rem;content:"";height:3px;left:50%;position:absolute;transform:translateX(-50%);width:80px}.article-list{grid-gap:1.4rem;display:grid;gap:1.4rem}.article-item{align-items:center;background:#ffffffe6;border:1px solid #cfbeae99;border-radius:18px;border-radius:var(--radius-md);display:flex;gap:1rem;justify-content:space-between;padding:1.6rem 2rem;position:relative;transition:all .35s ease;transition:var(--transition-snappy)}.article-item:after{background:linear-gradient(95deg,#f2b5c42e,#0000);border-radius:inherit;content:"";height:100%;left:0;opacity:0;pointer-events:none;position:absolute;top:0;transition:opacity .4s ease;width:100%}.article-item:hover{box-shadow:0 16px 32px #c2b09c40;box-shadow:var(--shadow-soft);transform:translateY(-4px)}.article-item:hover:after{opacity:1}.article-head{align-items:center;display:flex;gap:1.1rem}.article-head h3{color:#3d332b;color:var(--ink-primary);font-size:1.2rem;letter-spacing:.08em;margin:0}.tag{border:1px solid;border-radius:999px;font-size:.75rem;letter-spacing:.1em;padding:.3rem .8rem}.tag.external{background:#9fb7dd2e;border-color:#9fb7ddb3;color:#9fb7dd;color:var(--accent-sky)}.article-actions button{background:linear-gradient(120deg,#f2b5c4e6,#9fb7dde6);border:none;border-radius:999px;color:#3d332b;color:var(--ink-primary);cursor:pointer;font-size:.9rem;font-weight:600;letter-spacing:.08em;padding:.75rem 1.4rem;transition:all .35s ease;transition:var(--transition-snappy)}.article-actions button:hover{box-shadow:0 15px 24px #f2b5c447;transform:translateY(-3px)}.projects-grid{grid-gap:1.8rem;display:grid;gap:1.8rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.project-card{background:#ffffffeb;border:1px solid #cbbba899;border-radius:18px;border-radius:var(--radius-md);overflow:hidden;padding:2.3rem 2.1rem;position:relative;transition:all .35s ease;transition:var(--transition-snappy)}.project-card:before{background:linear-gradient(120deg,#a9c9a42e,#0000 60%);content:"";inset:0;opacity:0;pointer-events:none;position:absolute;transition:opacity .4s ease}.project-card:hover{box-shadow:0 24px 48px #c2b09c54;box-shadow:var(--shadow-hover);transform:translateY(-6px)}.project-card:hover:before{opacity:1}.project-card h3{font-size:1.35rem;letter-spacing:.08em;margin:0 0 1rem}.project-card p{color:#6f6257;color:var(--ink-secondary);margin:0 0 1.6rem}.btn{background:linear-gradient(120deg,#9fb7ddeb,#f2b5c4eb);border:none;border-radius:999px;color:#3d332b;color:var(--ink-primary);display:inline-block;font-weight:600;letter-spacing:.08em;padding:.8rem 1.6rem;text-decoration:none;transition:all .35s ease;transition:var(--transition-snappy)}.btn:hover{box-shadow:0 18px 28px #9fb7dd40;transform:translateY(-3px)}.back-btn{background:#0000;border:1px solid #cbbba899;border-radius:999px;color:#6f6257;color:var(--ink-secondary);cursor:pointer;font-size:.85rem;letter-spacing:.08em;padding:.6rem 1.2rem;transition:all .35s ease;transition:var(--transition-snappy)}.back-btn:hover{border-color:#c97795;border-color:var(--accent-ume);color:#c97795;color:var(--accent-ume)}.article-detail{margin:0 auto;max-width:760px}.detail-head{align-items:center;border-bottom:1px dashed #c6b7a799;display:flex;gap:1rem;margin-bottom:2rem;padding-bottom:1rem}.detail-head h2{font-family:"Noto Serif JP",serif;font-size:2rem;letter-spacing:.12em;margin:0}.markdown{color:#6f6257;color:var(--ink-secondary);line-height:1.9;text-align:left}.markdown h1,.markdown h2,.markdown h3,.markdown h4,.markdown h5,.markdown h6{color:#3d332b;color:var(--ink-primary);font-family:"Noto Serif JP",serif;letter-spacing:.08em;margin:2.4rem 0 1.2rem}.markdown h1{border-bottom:2px solid #c6b7a799;font-size:2.4rem;padding-bottom:.6rem}.markdown h2{font-size:2rem}.markdown h3{font-size:1.6rem}.markdown p{margin:1.1rem 0}.markdown pre{background:#ffffffeb;border:1px solid #cbbba899;border-radius:12px;border-radius:var(--radius-sm);overflow:auto;padding:1.3rem 1.4rem}.markdown code{background:#f2b5c429;border-radius:6px;color:#623f4b;font-family:Fira Code,Cascadia Code,monospace;font-size:.92em;padding:.2rem .5rem}.markdown pre code{background:#0000;color:inherit;padding:0}.markdown blockquote{background:#f2b5c41a;border-left:4px solid #f2b5c4cc;border-radius:0 12px 12px 0;border-radius:0 var(--radius-sm) var(--radius-sm) 0;margin:1.6rem 0;padding:1rem 1.3rem}.markdown ol,.markdown ul{margin:1.2rem 0 1.2rem 1.4rem}.markdown li{margin:.6rem 0}.markdown img{border-radius:12px;border-radius:var(--radius-sm);box-shadow:0 18px 28px #c2b09c33;margin:1.8rem 0;max-width:100%}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:#cfbeae40}::-webkit-scrollbar-thumb{background:linear-gradient(120deg,#f2b5c4cc,#9fb7ddcc);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:linear-gradient(120deg,#9fb7dde6,#f2b5c4e6)}@media (max-width:900px){.hero{flex-direction:column;gap:1.8rem;text-align:center}.hero:after{right:50%;transform:translateX(50%)}.hero h2{font-size:2rem}.content{padding:2.4rem}nav ul{gap:1rem}main{padding:2.5rem 1rem 3rem}}@media (max-width:640px){.content:before{left:50%;transform:translateX(-50%)}.article-item,.project-card{align-items:flex-start;flex-direction:column}.article-actions,.project-card .btn{width:100%}.article-actions button,.back-btn,.btn{text-align:center;width:100%}.detail-head{align-items:flex-start;flex-direction:column}}
/*# sourceMappingURL=main.966d0489.css.map*/