.wall{background:var(--bg);height:100vh;min-height:560px;position:relative;overflow:hidden}.wall-lang{z-index:4;font-family:var(--font);letter-spacing:.08em;gap:8px;font-size:.7rem;display:flex;position:absolute;top:20px;right:24px}.wall-lang button{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;padding:4px 10px;transition:all .2s}.wall-lang button:hover{border-color:var(--accent);color:var(--accent)}.wall-lang button.active{color:var(--bg);background:var(--accent);border-color:var(--accent)}.wall-center{text-align:center;z-index:3;pointer-events:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.wall-name{letter-spacing:.1em;color:var(--text);margin:0;font-size:clamp(1.5rem,3vw,2rem);font-weight:700}.wall-role{letter-spacing:.28em;text-transform:uppercase;color:var(--text-muted);margin:8px 0 0;font-size:.85rem}.wall-index-btn{z-index:3;cursor:pointer;text-align:center;font-family:var(--font);color:var(--text-muted);letter-spacing:.16em;background:0 0;border:none;font-size:10px;transition:color .2s;position:absolute;top:calc(50% + 58px);left:50%;transform:translate(-50%)}.wall-index-btn:hover{color:var(--accent)}.wall-index-btn .plus{margin-bottom:4px;font-size:14px;display:block}.wall-sentence{z-index:3;text-align:center;letter-spacing:.04em;color:var(--text-muted);margin:0;padding:0 20px;font-size:.95rem;position:absolute;bottom:32px;left:0;right:0}.wall-sentence a{color:var(--text);text-decoration:underline;-webkit-text-decoration-color:var(--border);text-decoration-color:var(--border);cursor:pointer;transition:text-decoration-color .2s}.wall-sentence a:hover{-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);color:var(--accent)}.wall-index{z-index:5;background:var(--bg);opacity:0;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;transition:opacity .3s;display:flex;position:absolute;inset:0}.wall-index.open{opacity:1;pointer-events:auto}.wall-index-back{cursor:pointer;font-family:var(--font);letter-spacing:.1em;color:var(--text-muted);background:0 0;border:none;font-size:10px;transition:color .2s;position:absolute;top:20px;left:24px}.wall-index-back:hover{color:var(--accent)}.wall-index-rows{width:min(90vw,480px)}.wall-index-row{border-bottom:1px solid var(--border);cursor:pointer;align-items:baseline;gap:18px;padding:14px 4px;display:flex}.wall-index-row:first-child{border-top:1px solid var(--border)}.wall-index-row .idx-n{color:var(--text-muted);font-size:11px}.wall-index-row .idx-t{letter-spacing:.03em;color:var(--text-muted);font-size:1.15rem;transition:color .2s}.wall-index-row:hover .idx-t{color:var(--accent)}@media (prefers-reduced-motion:reduce){.wall-index{transition:none}}.built-strip{background:var(--bg);text-align:center;border-bottom:1px solid var(--border);padding:64px 32px}.built-sentence{max-width:640px;margin:0 auto;line-height:1.6}.built-sentence span{opacity:0;color:var(--text-muted);font-size:1.1rem;transition:opacity .5s,transform .5s;display:inline-block;transform:translateY(6px)}.built-sentence span.show{opacity:1;transform:translateY(0)}.built-sentence span.big{color:var(--text);font-size:1.7rem;font-weight:700}@media (prefers-reduced-motion:reduce){.built-sentence span{transition:none}}@media (width<=880px){.wall{height:100svh;min-height:520px}.wall-index-rows{width:88vw}.built-sentence span.big{font-size:1.4rem}}.projects-grid{flex-direction:column;width:100%;display:flex}.project-card{border:none;border-bottom:1px solid var(--border);opacity:1;background:0 0;border-radius:0;flex-direction:row;justify-content:space-between;align-items:flex-start;gap:40px;margin:0 -24px;padding:40px 24px;transition:opacity .6s,transform .6s,border-color .25s,border-radius .3s,background-color .3s,-webkit-backdrop-filter .3s,backdrop-filter .3s;display:flex;transform:translateY(0)}.project-card:first-child{border-top:1px solid var(--border)}.project-card:hover{border-color:var(--accent);-webkit-backdrop-filter:blur(16px);box-shadow:none;background:#ffffff0d;border-radius:16px}@media (hover:hover) and (pointer:fine){.project-card{opacity:.82;transform:translateY(4px)}.project-card:hover{opacity:1;transform:translateY(0)}}.project-heading{min-width:200px}.project-institution{color:var(--text);margin:0;font-size:1.05rem;font-weight:600;line-height:1.4}.project-card p{color:var(--text-muted);text-align:justify;flex-grow:1;max-width:460px;margin:0;font-size:1rem;line-height:1.6}.tag-list{flex-wrap:wrap;margin-top:4px;display:flex}.tag{color:var(--text-muted);background-color:#ffffff0f;border-radius:9999px;align-items:center;margin-top:8px;margin-right:6px;padding:4px 12px;font-size:12px;font-weight:500;display:inline-flex}.project-links{flex-direction:column;align-items:flex-end;gap:8px;min-width:100px;display:flex}.project-links a{color:var(--text-muted);font-size:.85rem;font-weight:500;transition:color .2s}.project-links a:hover{color:var(--accent)}.experience-list{flex-direction:column;display:flex}.experience-item{border-bottom:1px solid var(--border);opacity:1;border-radius:0;align-items:flex-start;gap:40px;margin:0 -24px;padding:32px 24px;transition:opacity .6s,transform .6s,border-color .25s,border-radius .3s,background-color .3s,-webkit-backdrop-filter .3s,backdrop-filter .3s;display:flex;transform:translateY(0)}.experience-item:first-child{border-top:1px solid var(--border)}.experience-item:hover{border-color:var(--accent);-webkit-backdrop-filter:blur(16px);background:#ffffff0d;border-radius:16px}.experience-period{min-width:140px;color:var(--text-muted);font-size:.85rem;font-weight:500}.experience-content h3{color:var(--text);margin:0 0 6px;font-size:1.05rem;font-weight:600}.experience-content h3 a:hover{color:var(--accent)}.experience-content p{max-width:500px;color:var(--text-muted);text-align:justify;margin:0;font-size:.95rem;line-height:1.6}@media (hover:hover) and (pointer:fine){.experience-item{opacity:.82;transform:translateY(4px)}.experience-item:hover{opacity:1;transform:translateY(0)}}.contact-intro{color:var(--text-muted);text-align:justify;margin-bottom:40px;font-size:1.05rem}.contact-form{flex-direction:column;max-width:600px;display:flex}.contact-form label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-top:24px;margin-bottom:8px;font-size:.75rem;font-weight:600}.contact-form input,.contact-form textarea{border:none;border-bottom:1px solid var(--border);color:var(--text);font-family:var(--font);background:0 0;border-radius:0;padding:12px 0;font-size:1rem;transition:border-color .2s}.contact-form input:focus,.contact-form textarea:focus{border-bottom-color:var(--accent);outline:none}.contact-form button{border:none;border-bottom:1px solid var(--accent);color:var(--text);background:0 0;border-radius:0;align-self:flex-start;width:max-content;margin-top:40px}.contact-form button:hover:not(:disabled){color:var(--accent);border-bottom-color:var(--accent)}@media (width<=768px){.project-card,.experience-item{flex-direction:column;gap:16px;margin:0 -16px;padding-left:16px;padding-right:16px}.project-links{align-items:flex-start}}.footer{text-align:center;max-width:1180px;color:var(--text-muted);border-top:1px solid var(--border);margin:0 auto;padding:56px 24px;font-size:.85rem}@media (width<=880px){.footer{padding:40px 16px}}html{scroll-behavior:smooth}:root{--bg:#0d0d0d;--bg-elevated:#141414;--border:#262626;--text:#f5f5f5;--text-muted:#a3a3a3;--accent:#e8dfc8;--accent-soft:#e8dfc814;--font:"Geist", "Plus Jakarta Sans", system-ui, -apple-system, sans-serif;font-family:var(--font);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--text);background-color:var(--bg);letter-spacing:-.01em}*{box-sizing:border-box}body{background:var(--bg);-webkit-font-smoothing:antialiased;min-height:100vh;margin:0;line-height:1.6}.cursor-glow{pointer-events:none;z-index:9999;opacity:0;filter:blur(45px);will-change:transform;background:radial-gradient(circle,#ffffff14 0%,#ffffff08 40%,#0000 70%);border-radius:50%;width:500px;height:500px;margin-top:-250px;margin-left:-250px;transition:opacity .3s;position:fixed;top:0;left:0}@media (hover:none),(pointer:coarse){.cursor-glow{display:none}}a{color:inherit;text-decoration:none}h1,h2,h3,h4{letter-spacing:-.03em;margin:0 0 .4em;font-weight:700;line-height:1.1}ul{margin:0;padding:0;list-style:none}.content{max-width:820px;margin:0 auto;padding:0 24px}.section{border-top:1px solid var(--border);padding:120px 0}.section:first-of-type{border-top:none}.section-title{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:56px;font-size:1.1rem;font-weight:600}.btn{cursor:pointer;font-size:.95rem;font-weight:600;font-family:var(--font);appearance:none;background:0 0;border:none;outline:none;padding:10px 0;transition:color .2s,border-color .2s;display:inline-block}.btn-primary{color:var(--text);border-bottom:1px solid var(--text)}.btn-primary:hover:not(:disabled){color:var(--accent);border-bottom-color:var(--accent)}.btn-primary:disabled{color:var(--text-muted);border-bottom-color:var(--border);cursor:not-allowed}.btn-secondary{color:var(--text-muted)}.btn-secondary:hover{color:var(--accent)}.about-content p{color:var(--text-muted);text-align:justify;max-width:700px;font-size:1.1rem;line-height:1.7}.about-content h3{text-transform:uppercase;letter-spacing:.05em;color:var(--text);margin-top:56px;font-size:1rem}.skills-list{flex-wrap:wrap;gap:16px;margin-top:24px;display:flex}.skills-list li{color:var(--text-muted);font-size:1rem;position:relative}.skills-list li:not(:last-child):after{content:"/";color:var(--border);margin-left:16px}@media (width<=880px){.content{padding-left:16px;padding-right:16px}.section{padding:72px 0}}
