:root{--color-bg: #fafafa;--color-surface: #ffffff;--color-text: #1a1a1a;--color-text-secondary: #666666;--color-border: #e5e5e5;--color-hover: #f0f0f0;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--max-width: 960px;--spacing-unit: 8px}[data-theme=dark]{--color-bg: #0a0a0a;--color-surface: #141414;--color-text: #e5e5e5;--color-text-secondary: #999999;--color-border: #2a2a2a;--color-hover: #1e1e1e}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-family:var(--font-sans);background-color:var(--color-bg);color:var(--color-text);line-height:1.7;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{min-height:100vh}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}.container{max-width:var(--max-width);margin:0 auto;padding:0 calc(var(--spacing-unit) * 3)}.site-header{display:flex;justify-content:space-between;align-items:center;padding:calc(var(--spacing-unit) * 3) 0}.site-header__name{font-size:1rem;font-weight:600;letter-spacing:.02em}.site-header__name a{transition:opacity .2s ease}.site-header__name a:hover{opacity:.7}.dark-toggle{background:none;border:1px solid var(--color-border);border-radius:6px;padding:6px 10px;cursor:pointer;color:var(--color-text);font-size:1rem;line-height:1;transition:border-color .2s ease}.dark-toggle:hover{border-color:var(--color-text-secondary)}.hero{padding:calc(var(--spacing-unit) * 8) 0 calc(var(--spacing-unit) * 6);border-bottom:1px solid var(--color-border);margin-bottom:calc(var(--spacing-unit) * 6)}.hero__name{font-size:2rem;font-weight:700;margin-bottom:calc(var(--spacing-unit) * 1);letter-spacing:.02em}.hero__school{font-size:.95rem;color:var(--color-text-secondary);margin-bottom:calc(var(--spacing-unit) * 3)}.hero__intro{font-size:1.05rem;line-height:1.8;margin-bottom:calc(var(--spacing-unit) * 3);max-width:720px}.hero__resume-items{list-style:none;display:flex;flex-wrap:wrap;gap:calc(var(--spacing-unit) * 1) calc(var(--spacing-unit) * 2)}.hero__resume-items li{font-size:.875rem;color:var(--color-text-secondary);padding:4px 12px;border:1px solid var(--color-border);border-radius:4px}.project-section{margin-bottom:calc(var(--spacing-unit) * 6)}.project-section__heading{font-size:1.25rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-secondary);margin-bottom:calc(var(--spacing-unit) * 3);padding-bottom:calc(var(--spacing-unit) * 1.5);border-bottom:1px solid var(--color-border)}.project-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:calc(var(--spacing-unit) * 4);padding-bottom:calc(var(--spacing-unit) * 10)}@media(max-width:640px){.project-grid{grid-template-columns:1fr}}.project-card{display:block;border-radius:8px;overflow:hidden;border:1px solid var(--color-border);background-color:var(--color-surface);transition:border-color .2s ease}.project-card:hover{border-color:var(--color-text-secondary)}.project-card__cover{width:100%;aspect-ratio:4 / 3;object-fit:cover;background-color:var(--color-hover)}.project-card__info{padding:calc(var(--spacing-unit) * 2) calc(var(--spacing-unit) * 2.5)}.project-card__title{font-size:1rem;font-weight:600;margin-bottom:4px}.project-card__date{font-size:.8125rem;color:var(--color-text-secondary)}.project-detail{padding:calc(var(--spacing-unit) * 6) 0 calc(var(--spacing-unit) * 10)}.project-detail__cover{width:100%;aspect-ratio:16 / 9;object-fit:cover;border-radius:8px;margin-bottom:calc(var(--spacing-unit) * 4);background-color:var(--color-hover)}.project-detail__title{font-size:1.75rem;font-weight:700;margin-bottom:calc(var(--spacing-unit) * 1)}.project-detail__date{font-size:.875rem;color:var(--color-text-secondary);margin-bottom:calc(var(--spacing-unit) * 4)}.project-detail__description{font-size:1rem;line-height:1.9;max-width:680px;margin-bottom:calc(var(--spacing-unit) * 5)}.video-embed{margin-bottom:calc(var(--spacing-unit) * 6)}.video-embed__wrapper{position:relative;width:100%;padding-bottom:56.25%;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;overflow:hidden}.video-embed__wrapper iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:none}.video-embed__placeholder{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary);font-size:.875rem}.back-link{display:inline-block;font-size:.875rem;color:var(--color-text-secondary);margin-bottom:calc(var(--spacing-unit) * 4);transition:color .2s ease}.back-link:hover{color:var(--color-text)}.video-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:calc(var(--spacing-unit) * 3);margin-bottom:calc(var(--spacing-unit) * 6)}@media(max-width:640px){.video-grid{grid-template-columns:1fr}}.video-grid__item{display:flex;flex-direction:column}.video-grid__wrapper{position:relative;width:100%;padding-bottom:56.25%;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:6px;overflow:hidden}.video-grid__wrapper iframe,.video-grid__wrapper video{position:absolute;top:0;left:0;width:100%;height:100%;border:none}.video-grid__info{padding:calc(var(--spacing-unit) * 1.5) 0 0}.video-grid__title{font-size:.9rem;font-weight:600;margin-bottom:2px}.video-grid__caption{font-size:.8125rem;color:var(--color-text-secondary);line-height:1.5}@media(max-width:640px){.hero{padding:calc(var(--spacing-unit) * 5) 0 calc(var(--spacing-unit) * 4);margin-bottom:calc(var(--spacing-unit) * 4)}.hero__name{font-size:1.5rem}.project-detail__title{font-size:1.375rem}}
