:root{--font-heading:"M PLUS Rounded 1c", "Plus Jakarta Sans", system-ui, -apple-system, sans-serif;--font-body:"Plus Jakarta Sans", system-ui, -apple-system, sans-serif;--font-mono:"JetBrains Mono", monospace;--max-width:580px;--transition-fast:.15s ease;--transition-normal:.25s ease}html[data-theme=light]{--bg-primary:#f0e7db;--bg-nav:#f0e7dbd9;--card-bg:#ffffff8c;--card-border:#ffffffa6;--text-primary:#202023;--text-secondary:#4a5568;--text-muted:#718096;--accent:#2c7a7b;--accent-btn:#319795;--accent-btn-text:#fff;--accent-hover:#234e52;--accent-subtle:#2c7a7b1f;--highlight-pink:#d53f8c;--underline-color:#525252;--avatar-border:#fff;--theme-btn-bg:#fbd38d;--theme-btn-hover:#f6ad55;--theme-btn-text:#1a202c;--shadow-sm:0 1px 3px #0000000d;--shadow-card:0 4px 16px #0000000f;--shadow-avatar:0 4px 12px #0000001f}html[data-theme=dark]{--bg-primary:#202023;--bg-nav:#202023d9;--card-bg:#ffffff14;--card-border:#ffffff1a;--text-primary:#f7fafc;--text-secondary:#cbd5e0;--text-muted:#a0aec0;--accent:#81e6d9;--accent-btn:#81e6d9;--accent-btn-text:#1a202c;--accent-hover:#4fd1c5;--accent-subtle:#81e6d926;--highlight-pink:#ff63c3;--underline-color:#718096;--avatar-border:#fffc;--theme-btn-bg:#ecc94b;--theme-btn-hover:#d69e2e;--theme-btn-text:#1a202c;--shadow-sm:0 1px 3px #0000004d;--shadow-card:0 4px 16px #00000059;--shadow-avatar:0 4px 14px #0006}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{font-family:var(--font-body);background-color:var(--bg-primary);color:var(--text-primary);transition:background-color var(--transition-normal), color var(--transition-normal);padding-bottom:60px;line-height:1.65}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.page-container{width:100%;max-width:var(--max-width);margin:0 auto;padding:0 20px}.site-navbar{z-index:100;background-color:var(--bg-nav);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--card-border);transition:background-color var(--transition-normal), border-color var(--transition-normal);position:fixed;top:0;left:0;right:0}.navbar-inner{justify-content:space-between;align-items:center;height:56px;display:flex}.brand-link{color:var(--text-primary);font-family:var(--font-heading);letter-spacing:-.3px;transition:opacity var(--transition-fast);align-items:center;gap:8px;font-size:1.125rem;font-weight:700;text-decoration:none;display:inline-flex}.brand-link:hover{opacity:.85}.brand-icon{width:22px;height:22px;transition:transform .25s}.brand-link:hover .brand-icon{transform:rotate(18deg)}.nav-links{align-items:center;gap:16px;display:flex}.nav-link{color:var(--text-primary);transition:color var(--transition-fast), background var(--transition-fast);border-radius:6px;padding:4px 6px;font-size:.95rem;font-weight:500;text-decoration:none}.nav-link:hover{text-underline-offset:4px;text-decoration:underline}.navbar-actions{align-items:center;gap:10px;display:flex}.theme-toggle-btn{background-color:var(--theme-btn-bg);width:38px;height:38px;color:var(--theme-btn-text);cursor:pointer;box-shadow:var(--shadow-sm);transition:background-color var(--transition-fast), transform var(--transition-fast);border:none;border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.theme-toggle-btn:hover{background-color:var(--theme-btn-hover);transform:translateY(-1px)}.theme-toggle-btn:active{transform:scale(.96)}.theme-toggle-btn svg{width:18px;height:18px}main{padding-top:86px}.notice-box{background:var(--card-bg);border:1px solid var(--card-border);text-align:center;color:var(--text-primary);-webkit-backdrop-filter:blur(8px);box-shadow:var(--shadow-sm);border-radius:12px;margin-bottom:28px;padding:14px 18px;font-size:.95rem;font-weight:500}.profile-header-row{justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;display:flex}.profile-intro-text{flex:1}.profile-name{font-family:var(--font-heading);letter-spacing:-.5px;color:var(--text-primary);margin-bottom:4px;font-size:2rem;font-weight:700;line-height:1.15}.profile-tagline{color:var(--text-secondary);font-size:.95rem;line-height:1.4}.profile-avatar-wrap{flex-shrink:0}.profile-avatar{border:2px solid var(--avatar-border);width:96px;height:96px;box-shadow:var(--shadow-avatar);object-fit:cover;border-radius:50%;display:block}.section-heading{font-family:var(--font-heading);color:var(--text-primary);text-underline-offset:6px;text-decoration:underline;text-decoration-thickness:4px;-webkit-text-decoration-color:var(--underline-color);text-decoration-color:var(--underline-color);margin-top:36px;margin-bottom:16px;font-size:1.25rem;font-weight:700;display:inline-block}.about-paragraph{color:var(--text-primary);text-align:justify;margin-bottom:20px;font-size:.975rem;line-height:1.7}.about-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;margin-top:20px;margin-bottom:12px;display:flex}.btn-primary{background-color:var(--accent-btn);color:var(--accent-btn-text);box-shadow:var(--shadow-sm);transition:transform var(--transition-fast), opacity var(--transition-fast);cursor:pointer;border:none;border-radius:8px;align-items:center;gap:8px;padding:9px 18px;font-size:.95rem;font-weight:600;text-decoration:none;display:inline-flex}.btn-primary:hover{opacity:.92;transform:translateY(-1px)}.btn-primary:active{transform:scale(.98)}.btn-primary svg{width:16px;height:16px}.btn-secondary{color:var(--accent);border:1px solid var(--accent);transition:background var(--transition-fast), color var(--transition-fast);cursor:pointer;background:0 0;border-radius:8px;align-items:center;gap:6px;padding:9px 16px;font-size:.95rem;font-weight:600;text-decoration:none;display:inline-flex}.btn-secondary:hover{background:var(--accent-subtle)}.bio-list{flex-direction:column;gap:12px;margin-top:6px;display:flex}.bio-item{align-items:baseline;gap:16px;font-size:.95rem;line-height:1.6;display:flex}.bio-year{min-width:110px;color:var(--text-primary);font-weight:700;font-family:var(--font-heading);flex-shrink:0}.bio-text{color:var(--text-secondary)}.bio-company{color:var(--text-primary);font-weight:600}.works-grid{flex-direction:column;gap:20px;margin-top:8px;display:flex}.work-card{background-color:var(--card-bg);border:1px solid var(--card-border);box-shadow:var(--shadow-sm);border-radius:12px;transition:transform .2s,box-shadow .2s;overflow:hidden}.work-card:hover{box-shadow:var(--shadow-card);transform:translateY(-2px)}.work-card-media{aspect-ratio:16/9;background:#0000000d;width:100%;position:relative;overflow:hidden}.work-card-media img{object-fit:cover;width:100%;height:100%;transition:transform .3s;display:block}.work-card:hover .work-card-media img{transform:scale(1.02)}.work-card-content{padding:16px 18px 18px}.work-card-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:6px;display:flex}.work-card-title{font-family:var(--font-heading);color:var(--text-primary);font-size:1.1rem;font-weight:700}.work-card-badge{font-family:var(--font-mono);color:var(--text-muted);font-size:.75rem;font-weight:500}.work-card-desc{color:var(--text-secondary);margin-bottom:12px;font-size:.9rem;line-height:1.55}.work-card-tags{flex-wrap:wrap;gap:6px;display:flex}.work-tag{font-family:var(--font-mono);background-color:var(--accent-subtle);color:var(--accent);border-radius:6px;padding:3px 8px;font-size:.75rem;font-weight:500}.stack-cloud{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.stack-pill{font-family:var(--font-mono);background:var(--card-bg);border:1px solid var(--card-border);color:var(--text-primary);box-shadow:var(--shadow-sm);border-radius:8px;padding:6px 12px;font-size:.825rem;font-weight:500}.web-links-list{flex-direction:column;gap:8px;margin-top:8px;display:flex}.web-link-btn{width:fit-content;color:var(--accent);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;padding:8px 14px;font-size:.95rem;font-weight:600;text-decoration:none;display:inline-flex}.web-link-btn:hover{background:var(--accent-subtle);text-underline-offset:4px;text-decoration:underline}.web-link-btn svg{flex-shrink:0;width:18px;height:18px}.copy-toast{background:var(--text-primary);color:var(--bg-primary);box-shadow:var(--shadow-card);opacity:0;pointer-events:none;z-index:200;border-radius:20px;padding:8px 16px;font-size:.85rem;font-weight:600;transition:opacity .25s,transform .25s;position:fixed;bottom:24px;left:50%;transform:translate(-50%)translateY(30px)}.copy-toast.show{opacity:1;transform:translate(-50%)translateY(0)}.site-footer{text-align:center;color:var(--text-muted);margin-top:48px;padding-top:24px;font-size:.85rem}@media (width<=520px){.profile-header-row{text-align:center;flex-direction:column-reverse;align-items:center;gap:16px}.profile-avatar{width:104px;height:104px}.nav-links{display:none}.bio-item{flex-direction:column;gap:2px}.bio-year{min-width:unset}.about-actions{flex-direction:column;align-items:stretch}.btn-primary,.btn-secondary{justify-content:center}}
