@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;600&family=Noto+Sans+JP:wght@300;400;600&display=swap";:root{--bg-base: #0a0a0a;--bg-surface: rgba(255, 255, 255, .02);--bg-surface-hover: rgba(255, 255, 255, .05);--border-glass: rgba(255, 255, 255, .06);--text-primary: #f0f0f0;--text-secondary: #999999;--text-tertiary: #555555;--accent: #e5b522;--font-heading: "Inter", "Noto Sans JP", sans-serif;--font-body: "Inter", "Noto Sans JP", sans-serif}*{margin:0;padding:0;box-sizing:border-box}body{background-color:var(--bg-base);color:var(--text-primary);font-family:var(--font-body);font-weight:300;line-height:1.8;-webkit-font-smoothing:antialiased;letter-spacing:.04em;overflow-x:hidden}a{color:var(--text-primary);text-decoration:none;transition:color .4s ease}a:hover{color:var(--accent)}.noise-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;pointer-events:none;z-index:9999;opacity:.04}.glass-effect{background:var(--bg-surface);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border-glass)}.global-header{position:sticky;top:0;z-index:1000;border-top:none;border-left:none;border-right:none;transition:background .3s ease}.nav-container{display:flex;justify-content:space-between;align-items:center;max-width:1100px;margin:0 auto;padding:1.5rem 2rem}.logo{font-family:var(--font-heading);font-weight:600;letter-spacing:.15em;font-size:1rem}.nav-links{display:flex;gap:3rem;list-style:none;font-family:var(--font-heading);font-size:.8rem;letter-spacing:.15em}.layout-wrapper{display:grid;grid-template-columns:200px 1fr;gap:5rem;max-width:1100px;margin:0 auto;padding:0 2rem 8rem;align-items:start}main{width:100%}.sidebar{position:sticky;top:8rem}.sidebar-title{font-family:var(--font-heading);font-size:.75rem;color:var(--text-tertiary);letter-spacing:.2em;margin-bottom:2rem}.sidebar-nav{list-style:none;display:flex;flex-direction:column;gap:1.5rem}.sidebar-nav a{font-size:.85rem;color:var(--text-secondary);font-family:var(--font-heading);letter-spacing:.1em;transition:all .3s ease;display:inline-block}.sidebar-nav a:hover{color:var(--accent);transform:translate(5px)}@media(max-width:768px){.layout-wrapper{grid-template-columns:1fr;gap:2rem}.sidebar{display:none}}.section{margin-bottom:10rem}.section-title{font-family:var(--font-heading);font-size:.9rem;color:var(--text-secondary);margin-bottom:4rem;border-bottom:1px solid var(--border-glass);padding-bottom:1.5rem;letter-spacing:.2em}.reveal{opacity:0;transform:translateY(40px);transition:all 1s cubic-bezier(.25,1,.5,1)}.reveal.active{opacity:1;transform:translateY(0)}@keyframes slideUpFade{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.block-reveal{display:inline-block;opacity:0;animation:slideUpFade 1.2s cubic-bezier(.19,1,.22,1) forwards}.delay-1{animation-delay:.1s}.delay-2{animation-delay:.3s}.delay-3{animation-delay:.5s}.delay-4{animation-delay:.8s}.hero{padding:15rem 0 12rem}.hero-title{font-family:var(--font-heading);font-weight:300;font-size:clamp(3rem,6vw,5.5rem);line-height:1.05;letter-spacing:-.03em;margin-bottom:2.5rem}.hero-subtitle{color:var(--text-secondary);font-size:1.1rem;font-weight:300;letter-spacing:.05em}.diary-feed{display:flex;flex-direction:column;gap:4rem}.diary-entry{display:grid;grid-template-columns:150px 1fr;gap:2rem;align-items:baseline;transition:transform .3s ease}.diary-entry:hover{transform:translate(10px)}.diary-meta time{display:block;color:var(--text-primary);font-size:.9rem;font-family:var(--font-heading);margin-bottom:.5rem}.tag{font-size:.75rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.1em}.tag:before{content:"— ";color:var(--accent)}.diary-text{color:var(--text-secondary);font-size:1rem;line-height:2}.diary-title-link{font-size:1.1rem;font-weight:400;color:var(--text-primary);display:inline-block}.bento-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;grid-auto-rows:minmax(220px,auto)}.card{border-radius:8px;padding:3rem;transition:transform .4s cubic-bezier(.175,.885,.32,1.05),background-color .3s ease,border-color .3s ease;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.card:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,rgba(255,255,255,.05) 0%,transparent 100%);opacity:0;transition:opacity .5s ease;pointer-events:none}.card:hover:after{opacity:1}.card-large{grid-column:span 2}.card:hover{background:var(--bg-surface-hover);border-color:#ffffff26;transform:translateY(-4px) scale(1.01)}.card-title{font-family:var(--font-heading);font-size:1.4rem;font-weight:400;margin-bottom:1.5rem;line-height:1.5;letter-spacing:.02em}.card-large .card-title{font-size:2.2rem}.card-description{color:var(--text-secondary);font-size:.95rem;margin-bottom:2.5rem}.card-meta{font-size:.8rem;color:var(--text-tertiary);margin-top:auto;letter-spacing:.05em}.badge{border:1px solid var(--border-glass);padding:.4rem 1rem;border-radius:30px;margin-right:1rem;color:var(--text-primary);font-size:.75rem;text-transform:uppercase}.pub-list{list-style:none}.pub-item{display:flex;justify-content:space-between;align-items:center;padding:2.5rem 0;border-bottom:1px solid var(--border-glass);transition:padding-left .3s ease}.pub-item:hover{padding-left:1rem}.pub-info{max-width:70%}.pub-title{font-size:1.1rem;font-weight:400;margin-bottom:.8rem;line-height:1.6}.pub-authors{color:var(--text-secondary);font-size:.9rem}.bibtex-toggle{background:transparent;border:1px solid var(--border-glass);color:var(--text-primary);padding:.8rem 1.5rem;border-radius:30px;font-family:var(--font-heading);font-size:.75rem;letter-spacing:.1em;transition:all .4s ease}.bibtex-toggle:hover{background-color:var(--text-primary);color:var(--bg-base)}@media(max-width:768px){*{cursor:auto}.custom-cursor,.nav-links{display:none}.hero{padding:8rem 0 6rem}.hero-title{font-size:3rem}.diary-entry{grid-template-columns:1fr;gap:.5rem}.bento-grid{grid-template-columns:1fr}.card-large{grid-column:span 1}.pub-item{flex-direction:column;align-items:flex-start;gap:1.5rem}.pub-info{max-width:100%}}.diary-title-link{font-size:1.1rem;font-weight:400;color:var(--text-primary);display:inline-block;line-height:1.6}.diary-title-link:hover{color:var(--accent)}.sub-nav{list-style:none;margin-top:.8rem;margin-left:.5rem;display:flex;flex-direction:column;gap:.8rem;border-left:1px solid var(--border-glass);padding-left:1rem}.sub-nav a{font-size:.75rem!important;color:var(--text-tertiary)!important;line-height:1.5;display:block;font-family:var(--font-body);letter-spacing:.05em}.sub-nav a:hover{color:var(--text-primary)!important;transform:translate(4px)}a.card{text-decoration:none;color:inherit;display:flex}.archive-list{display:flex;flex-direction:column;border-top:1px solid var(--border-glass)}.archive-item{display:flex;align-items:center;padding:1.5rem 0;border-bottom:1px solid var(--border-glass);text-decoration:none;color:var(--text-primary);transition:background .3s ease,padding-left .4s cubic-bezier(.175,.885,.32,1.05)}.archive-item:hover{background:#ffffff05;padding-left:1.5rem}.archive-date{color:var(--text-tertiary);font-family:var(--font-heading);font-size:.9rem;width:80px;flex-shrink:0}.archive-title{flex-grow:1;font-weight:400;font-size:1.1rem;line-height:1.5}.archive-category{margin-left:1.5rem;flex-shrink:0;font-size:.75rem}@media(max-width:768px){.archive-item{flex-direction:column;align-items:flex-start;gap:.8rem}.archive-category{margin-left:0}}.contents-button{display:inline-flex;align-items:center;justify-content:space-between;width:100%;padding:.8rem 1rem;margin-bottom:2rem;background:#ffffff08;border:1px solid var(--border-glass);border-radius:8px;color:var(--text-primary);font-family:var(--font-heading);font-size:.75rem;letter-spacing:.15em;text-decoration:none;transition:all .4s cubic-bezier(.175,.885,.32,1.05)}.contents-button:hover{background:#ffffff14;border-color:#ffffff4d;transform:translateY(-2px)}.contents-button .arrow{transition:transform .3s ease}.contents-button:hover .arrow{transform:translate(4px)}.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}
